vihr 5 Жалоба Опубликовано: May 23, 2014 Граждане и гражданочки!!!!предлагаю кошерный вариант подсчетов просмотра объявления 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 Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
abushyk 694 Жалоба Опубликовано: May 23, 2014 заменяем функцию в /apps/system/lib/sitebill.php Просто создаем ее в файле main.php своего шаблона. Она переопределит функцию из sitebill.php и будет работать вместо нее. Класс-контроллер, описанный в main.php, является наследником класса из sitebill.php. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
domprim.ru 16 Жалоба Опубликовано: May 23, 2014 Просто создаем ее в файле main.php своего шаблона. Она переопределит функцию из sitebill.php и будет работать вместо нее. Класс-контроллер, описанный в main.php, является наследником класса из sitebill.php.Куда вставлять( после чего, перед чем)? 1 Realtor reacted to this Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
abushyk 694 Жалоба Опубликовано: May 23, 2014 Куда вставлять( после чего, перед чем)? Перед последней закрывающей фигурной скобкой ( } ) в файле. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
XTRO 154 Жалоба Опубликовано: May 23, 2014 Просто создаем ее в файле main.php своего шаблона.imho, не просто, а только так. Ядро трогают только dev, иначе будет бардак. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
domprim.ru 16 Жалоба Опубликовано: May 24, 2014 Добавил, ничего не появилось(( Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
abushyk 694 Жалоба Опубликовано: May 24, 2014 Добавил, ничего не появилось(( Расширю пояснение))) 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. В общем с выводом тут все очень "лично", поэтому надо смотреть на конкретный шаблон. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
vihr 5 Жалоба Опубликовано: May 25, 2014 в оригинале совсем кусок плохойсчитались просмотры тока хозяином объявления Чтото давно я в ООП не лазил, аж с делфей - пойду курить мануалы Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах