vihr

Подсчет просмотров объявления

Recommended Posts

Граждане и гражданочки!!!!

предлагаю кошерный вариант подсчетов просмотра объявления

    function growCounter($table_name,$primary_key_name,$primary_key_value,$user_id=0){    	if(1==$this->getConfigValue('use_realty_view_counter')){			if(empty($_SESSION['realty_views'][$primary_key_value])){				$DBC=DBC::getInstance();				$query='UPDATE '.DB_PREFIX.'_'.$table_name.' SET view_count=view_count+1 WHERE '.$primary_key_name.'=?';				$stmt=$DBC->query($query, array($primary_key_value));				$_SESSION['realty_views'][$primary_key_value]=1;			}    	}    }

заменяем функцию в /apps/system/lib/sitebill.php

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

заменяем функцию в /apps/system/lib/sitebill.php

 

Просто создаем ее в файле main.php своего шаблона. Она переопределит функцию из sitebill.php и будет работать вместо нее.

 

Класс-контроллер, описанный в main.php, является наследником класса из sitebill.php.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Просто создаем ее в файле main.php своего шаблона. Она переопределит функцию из sitebill.php и будет работать вместо нее.

 

Класс-контроллер, описанный в main.php, является наследником класса из sitebill.php.

Куда вставлять( после чего, перед чем)?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Куда вставлять( после чего, перед чем)?

 

Перед последней закрывающей фигурной скобкой ( } ) в файле.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Просто создаем ее в файле main.php своего шаблона.

imho, не просто, а только так. Ядро трогают только dev, иначе будет бардак.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Добавил, ничего не появилось((

 

Расширю пояснение)))

 

1. Эта функция не выводит количество подсчетов, она их считает.

2. Отличие этой функции от втсроенной в том, что учитывается только один просмотр объявления на сессию (до закрытия браузера или очистки хранилища сессий) во избежание накруток рефрешами, Ф5 и повторными заходами.

3. Эта функция, как и базовая зависит от настройки use_realty_view_counter, которая должна быть установлена в 1 (или отмечена, если представлена чекбоксом). Только в этом случае учет будет производиться.

4. Для хранения результата учета объявление должно быть снабжено полем view_count типа safe_string. Или хотя бы в таблице re_data в БД должно быть такое поле.

5. Вывод этого значения регулируется шаблоном. Если у вас рукописный шаблон, без автовывода, то необходимо в нужно месте сделать вывод типа {$data.view_count.value}, в зависимости от того, в каком шаблоне вы хотите это нарисовать. Если присутствует автовывод в виде

{if $data_item.type eq "primary_key" or $data_item.value eq "0" ...

то нужно убрать из него кусочек вида $data_item.name eq "view_count".

Так же, это поле должно присутствовать в модели data. В общем с выводом тут все очень "лично", поэтому надо смотреть на конкретный шаблон.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

в оригинале совсем кусок плохой

считались просмотры тока хозяином объявления

 

Чтото давно я в ООП не лазил, аж с делфей - пойду курить мануалы

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас