Интерес к компоненту Auto_bb довольно высок, но поскольку в настоящее компонент поддерживается "какой есть" и не получает должного развития, предлагаю всем делиться своими наработками, которые войдут в модифицированную версию компонента (с полным описанием всех изменений, при условии сохранения копиратов).
По примеру Surik, хочу поделиться одной из своих наработок.
Это модификация стандартного модуля статистики Джумла, к которой добавлен вывод общего кол-ва объявлений на сайте и кол-во их просмотров (если у вас установлен
соотв. хак)
*Модуль считает статистику только для актуальных, разрешенных к публикации объявлений.
Для начала сделайте бекап файла modules/mod_whosonline.php
Вариант 1
Выводим статистику на главной странице и странице со ВСЕМИ объявлениями
Откройте файл, после:
добавьте:
if ($GLOBALS['Itemid'] == XXX or $GLOBALS['Itemid'] == 1) {
$query = "SELECT id"
. "\n FROM #__autobb_messages WHERE expirationDate>=now() AND published=1"
;
$database->setQuery( $query );
$mess = $database->loadObjectList();
$mess_array = 0;
foreach( $mess as $mess ) {
$mess_array++;
}
// если мод кол-во просмотров объявления НЕ установлен удалите строки до следующего комментария
$query = "SELECT views"
. "\n FROM #__autobb_messages WHERE expirationDate>=now() AND published=1"
;
$database->setQuery( $query );
$mess2 = $database->loadObjectList();
$array = array();
for ($i=0;$i<count($mess2);$i++){
$array[] = $mess2[$i]->views;
}
// строки выше нужно удалить
echo "<br>Объявлений на сайте: ", $mess_array;
echo "<br>Просмотров: ".array_sum($array); // если мод Кол-во просмотров объявления НЕ установлен удалите эту строку
}
где ХХХ - Itemid пункта меню "все объявления"
в комментариях отмечена часть кода, которую стоит удалить, если не используется мод "Кол-во просмотров объявления"
Вариант 2
Выводим статистику конкретной категории объявлений
* Статистика категории выводится только на соотв. странице
Откройте файл, после (или сразу после кода с Вариантом 1):
добавьте:
else if ($GLOBALS['Itemid'] == ХХХ) {
$query = "SELECT id"
. "\n FROM #__autobb_messages WHERE expirationDate>=now() AND published=1 AND category=YYY"
;
$database->setQuery( $query );
$mess = $database->loadObjectList();
$mess_array = 0;
foreach( $mess as $mess ) {
$mess_array++;
}
// если мод кол-во просмотров объявления НЕ установлен удалите строки до следующего комментария
$query = "SELECT views"
. "\n FROM #__autobb_messages WHERE expirationDate>=now() AND published=1 AND category=YYY"
;
$database->setQuery( $query );
$mess2 = $database->loadObjectList();
$array = array();
for ($i=0;$i<count($mess2);$i++){
$array[] = $mess2[$i]->views;
}
// строки выше нужно удалить
echo "<br>Объявлений в разделе: ", $mess_array;
echo "<br>Просмотров: ".array_sum($array); // если мод Кол-во просмотров объявления НЕ установлен удалите эту строку
}
где ХХХ - Itemid пункта меню объявлений конкретной категории (например: Иномарки)
YYY - id категории ТС (при установленном моде "Кол-во просмотров объявления" таких параметров 2)
При необходимости можете скопировать Вариант 2 необходимое число раз для вывода статистики для каждой из категорий.