nicol@s писал(а):Добрый вечер.
Огромное спасибо за личный кабинет. Подработали под свои нужды. Получилось очень даже ничего

У меня такой вопрос: в моем личном кабинете есть 8 пунктов меню ( соответственно плагины user_info, credit, change_password и т.д.). Вот, например, я хочу подсчитать сколько раз пользователь обращается к конкретному плагину (например user_info). В плагине user_info я делаю запись в файл: ну просто для теста записываю "1" в конец файла. Но проблема в том, что "1" добавляется в лог-файл даже если я выбираю в меню другие пункты. PHP-код записи "1" в лог-файл добавил только в плагин user_info. Получается, что код каждого плагина выполняется всегда независимо от того какой плагин выбран??! Или это можно как-то в админке джумлы настроить?
Заранее спасибо.
Плагины выполняются всегда, они вешаются на событие джумлы onPrepareContent, и у же в коде самого плагина проверяется запускать его или нет (в материале ищется ключевой тег, уникальный для каждого плагина, и если найден, то работаем...). Т.е. счетчик вам надо располагать уже поле этой проверки:
Код: Выделить всё
function plgUserInfoModify(&$row, &$params, $page=0){
$pos = strpos($row->text, '{user_info}');
if ($pos!==false) {
По большому счету личный кабинет нужно было бы реализовывать в виде модулей, но в виде плагинов быстрее, понятнее, меньший объем кода, да и с компоновкой проще - можно на одной странице комбинировать различные плагины.
Для ведения статистики есть и встроенные средства и масса дополнительных компонентов. В админке вы можете посмотреть популярность статей и количество хитов. Или поставьте какой нибудь модуль статистики для джумлы.