|
Nexwich
Панасин Александр
Зарегистрирован: 2011-04-05
Сообщений: 1037
|
Рас это каталог то попробуйте использовать редирект совместно
Первый вариант:
Кликая по ссылке вы попадаете в "Отображение объекта"
где в свою очеред насроен редерект на необходимый сайт
Вверху страници "Отображение объекта" вы вставляете данный код
"; $db->query("UPDATE `Message{$classID}` SET `visited`=`visited`+1 WHERE `Message_ID`=$f_RowID"); echo "
Логика:
Таким образом при посещение "Отображение объекта" счетчик будет увелличиваться на 1 за переход, после чего его будет переадрисовывать на необходимую вам страницу. В придачу перед переходом можно поставить какую нибудь рекламу.
Второй вариант:
Создайте компанент с формой
Код:<form name='adminForm' enctype='multipart/form-data' method='post' action='".$SUB_FOLDER.$HTTP_ROOT_PATH."add.php'>
<input name='cc' value='$cc' type='hidden'>
<input name='sub' value='$sub' type='hidden'>
<input name='catalogue' value='$catalogue' type='hidden'>
<input name='posting' value='1' type='hidden'>
<input name='f_BackLink' value='$backlink' type='hidden'>
<input name='f_Object_Sub_Class_ID' value='$scID' type='hidden'>
<input name='f_Object_ID' value='$objID' type='hidden'>
<input name='f_Object_Author_ID' value='$userID' type='hidden'>
<input name='f_Object_voter_ID' value='".$current_user['User_ID']."' type='hidden'>
<input type='submit' name='visit' value='Название сайта'>
</form>
Системные настройки:
Код:global $db, $current_user;
$scID = (int)$scID;
$objID = (int)$objID;
$userID = (int)$userID;
$recNum = 0;
$visit = 0;
$user_visit = 0;
if($scID && $objID) {
$visit = $db->get_var("SELECT SUM(visit) FROM Message".$cc_env['Class_ID']."
WHERE Object_Sub_Class_ID=".$scID."
AND Object_ID=".$objID."");
}
if($userID) {
$user_vis = $db->get_row("SELECT COUNT(*) AS visitCount, SUM(visit) AS visitSum FROM Message".$cc_env['Class_ID']."
WHERE Object_Author_ID=".$userID."", ARRAY_A);
if($user_vis['visitSum'] && $user_rat['visitCount']) $user_visit = ceil($user_vis['visitSum']/$user_vis['visitCount']);
}
Действие после добавления объекта
Код:";
#redirection section
ob_end_clean();
if($_POST[f_BackLink]) $goBackLink = $f_BackLink;
else $goBackLink = $SUB_FOLDER."/";
header("Location: 'Ссылка на ваш сайт'");
die();
echo "
Ссылка на сайт
".s_list_class(номер_раздела, номер_компанента_в_разделе, "&scID=$cc&objID=$f_RowID&userID=$f_UserID&backlink=".urlencode(htmlspecialchars($GLOBALS[client_url]))."", true)."
Колличество переходов
".(int)s_list_class(номер_раздела, номер_компанента_в_разделе, "&scID=$cc&objID=$f_RowID&showWeight=1", true)."
Добавьте ваш компанент в какойнить фиктивный раздел или куда вам угодно
после чего впишите номер_раздела, номер_компанента_в_разделе в соответствующие места кода
Логика:
В данном примере вы создали форму которая при клике добавляет к переменной visit +1 и вас перебрасывает на сайт указанный в Действие после добавления объекта
Достоинства и недостатки:
Первый вариант:
+ малый размер кода
+ добовляет +1 к полю в базе данных
+ очень легко редактировать в административной панели (редактирование обьекта)
- лишний переход с переадрисацией
Второй вариант:
+ быстрый переход без переадрисаций
- большой код (дополнительный компанент)
- сложно редактировать в административной панели (каждый переход новый объект)
- еще одна таблица для базы данных (увеличение размера базы данных)
- Это прототип и он может не работать я набрасал не проверяя.
P.S.: Данные решения я не придумывал (зачем изобретать колесо). Я всеголиш их подогнал под нештатную ситуацию
Модуль "Почтовые уведомления" – настройка email уведомлений на вашем сайте без программирования. Бесплатно. http://netcat.ru/products/CatStore/solution_242.html
|