Форум русской поддержки Joomla!® CMS
06.12.2016, 16:16:08 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор

Вывод хитов в одном из макетов компонента com_tags

 (Прочитано 530 раз)
0 Пользователей и 1 Гость смотрят эту тему.
R31rus
Завсегдатай
*****

Репутация: +2/-0
Offline Offline

Пол: Мужской
Сообщений: 563


«Нас Reboot, а мы крепчаем»


« : 13.04.2016, 13:57:42 »

Дату получилось вывести, а вот хиты никак.... ломал голову, просьба помочь.

Вот макет (components/com_tags/views/tag/tmpl/default_items.php)
Показать текстовый блок

На сайте этот файл в данный момент отображает список меток с изображением и описанием каждой метки. Под каждым меткой дата, хотелось-бы и хиты рядом.

Пример:



 
« Последнее редактирование: 13.04.2016, 14:04:49 от R31rus » Записан
NewUsers
Давно я тут
****

Репутация: +32/-0
Offline Offline

Пол: Мужской
Сообщений: 394


« Ответ #1 : 13.04.2016, 14:17:49 »

В этом файле перед открытием тега формы, ( но не позже ?> ) добавь php код
Код
<?php print_r($this->items); ?>
и ты все увидишь...
Записан
R31rus
Завсегдатай
*****

Репутация: +2/-0
Offline Offline

Пол: Мужской
Сообщений: 563


«Нас Reboot, а мы крепчаем»


« Ответ #2 : 13.04.2016, 14:22:08 »

В этом файле перед открытием тега формы, ( но не позже ?> ) добавь php код
Код
<?php print_r($this->items); ?>
и ты все увидишь...

сразу ошибку выдает.....
Записан
NewUsers
Давно я тут
****

Репутация: +32/-0
Offline Offline

Пол: Мужской
Сообщений: 394


« Ответ #3 : 13.04.2016, 14:23:16 »

сразу ошибку выдает.....

Какую?
Записан
R31rus
Завсегдатай
*****

Репутация: +2/-0
Offline Offline

Пол: Мужской
Сообщений: 563


«Нас Reboot, а мы крепчаем»


« Ответ #4 : 13.04.2016, 14:24:16 »

0 - syntax error, unexpected '<', expecting end of file
Записан
NewUsers
Давно я тут
****

Репутация: +32/-0
Offline Offline

Пол: Мужской
Сообщений: 394


« Ответ #5 : 13.04.2016, 14:26:12 »

0 - syntax error, unexpected '<', expecting end of file

покажи код твоего файла...
Записан
R31rus
Завсегдатай
*****

Репутация: +2/-0
Offline Offline

Пол: Мужской
Сообщений: 563


«Нас Reboot, а мы крепчаем»


« Ответ #6 : 13.04.2016, 14:28:23 »

покажи код твоего файла...

Окей я этот файл переопределил в html/com_tags/tag/default_items.php



Показать текстовый блок
Записан
NewUsers
Давно я тут
****

Репутация: +32/-0
Offline Offline

Пол: Мужской
Сообщений: 394


« Ответ #7 : 13.04.2016, 14:31:36 »

Добавь
Код:
print_r($this->items);
после
Код:
$n = count($this->items);
Записан
R31rus
Завсегдатай
*****

Репутация: +2/-0
Offline Offline

Пол: Мужской
Сообщений: 563


«Нас Reboot, а мы крепчаем»


« Ответ #8 : 13.04.2016, 14:32:53 »

сделал, глянь что вышло: ссылка удалена
« Последнее редактирование: 17.04.2016, 17:49:01 от R31rus » Записан
NewUsers
Давно я тут
****

Репутация: +32/-0
Offline Offline

Пол: Мужской
Сообщений: 394


« Ответ #9 : 13.04.2016, 14:38:42 »

Все правильно, Теперь узнай как называется параметр который содержит значение хитов и посмотри на этой странице есть ли там такое или нету...
Записан
R31rus
Завсегдатай
*****

Репутация: +2/-0
Offline Offline

Пол: Мужской
Сообщений: 563


«Нас Reboot, а мы крепчаем»


« Ответ #10 : 13.04.2016, 14:40:16 »

Нашел "show_hits":"1" и всё
Записан
NewUsers
Давно я тут
****

Репутация: +32/-0
Offline Offline

Пол: Мужской
Сообщений: 394


« Ответ #11 : 13.04.2016, 14:42:21 »

что бы убедиться что это то что нужно, посмотри что нибудь и измениться ли значение...
Записан
R31rus
Завсегдатай
*****

Репутация: +2/-0
Offline Offline

Пол: Мужской
Сообщений: 563


«Нас Reboot, а мы крепчаем»


« Ответ #12 : 13.04.2016, 14:45:27 »

что бы убедиться что это то что нужно, посмотри что нибудь и измениться ли значение...

Тыкнул по материалам несколько раз всё равно "show_hits":"1"
Записан
NewUsers
Давно я тут
****

Репутация: +32/-0
Offline Offline

Пол: Мужской
Сообщений: 394


« Ответ #13 : 13.04.2016, 14:50:02 »

Тыкнул по материалам несколько раз всё равно "show_hits":"1"

ЗНАЧИТ ЭТО НЕ ТО... ИЩИ ДАЛЬШЕ...
Записан
R31rus
Завсегдатай
*****

Репутация: +2/-0
Offline Offline

Пол: Мужской
Сообщений: 563


«Нас Reboot, а мы крепчаем»


« Ответ #14 : 13.04.2016, 14:53:29 »

кроме show hits , дата публикации, автор, id материала, титл.... там нет ничего
Записан
NewUsers
Давно я тут
****

Репутация: +32/-0
Offline Offline

Пол: Мужской
Сообщений: 394


« Ответ #15 : 13.04.2016, 15:07:51 »

Включи отладку системы...
Записан
R31rus
Завсегдатай
*****

Репутация: +2/-0
Offline Offline

Пол: Мужской
Сообщений: 563


«Нас Reboot, а мы крепчаем»


« Ответ #16 : 13.04.2016, 15:09:03 »

включил
Записан
R31rus
Завсегдатай
*****

Репутация: +2/-0
Offline Offline

Пол: Мужской
Сообщений: 563


«Нас Reboot, а мы крепчаем»


« Ответ #17 : 13.04.2016, 17:06:58 »

в общем ппц:))
Записан
b2z
Support Team
*****

Репутация: +710/-0
Offline Offline

Пол: Мужской
Сообщений: 7528


Разраблю понемногу


« Ответ #18 : 13.04.2016, 17:43:33 »

Значит запрос не вытаскивает хиты. Только ядро править.
Записан
R31rus
Завсегдатай
*****

Репутация: +2/-0
Offline Offline

Пол: Мужской
Сообщений: 563


«Нас Reboot, а мы крепчаем»


« Ответ #19 : 13.04.2016, 17:58:20 »

Значит запрос не вытаскивает хиты. Только ядро править.

Поправим?Azn без вашей помощи никак.
Записан
R31rus
Завсегдатай
*****

Репутация: +2/-0
Offline Offline

Пол: Мужской
Сообщений: 563


«Нас Reboot, а мы крепчаем»


« Ответ #20 : 16.04.2016, 19:44:39 »

Из подсказки выше с помощью:
Код:
print_r($this->items);

 Узнал что можно вывести под каждой меткой:
Код:
type_alias
content_item_id
core_content_id
match_count
tag_date
core_title
core_alias
core_body
core_state
core_access
core_metadata
core_created_user_id
core_created_by_alias
core_created_time
core_images
core_modified_time
core_language
core_catid
core_publish_up
core_publish_down
content_type_title
router
author
author_email
link
displayDate
event
text
core_params


А вот хитов почему-то нету, очень жаль.... апну тему может кто подскажет, как реализовать. 
Записан
b2z
Support Team
*****

Репутация: +710/-0
Offline Offline

Пол: Мужской
Сообщений: 7528


Разраблю понемногу


« Ответ #21 : 17.04.2016, 09:50:51 »

Судя по всему, ковырять надо здесь
https://github.com/joomla/joomla-cms/blob/staging/libraries/cms/helper/tags.php#L501
Записан
NewUsers
Давно я тут
****

Репутация: +32/-0
Offline Offline

Пол: Мужской
Сообщений: 394


« Ответ #22 : 17.04.2016, 13:34:33 »

На сайте этот файл в данный момент отображает список меток с изображением и описанием каждой метки. Под каждым меткой дата, хотелось-бы и хиты рядом.

Я тут поковырялся в файлах и оказалось что b2z прав на счет файла. В нем надо дописать SQL запрос что бы выводил хиты материала...

Итак...
опускаешься до 541 строки и заменяешь ее на
Код:
. ', ' . 'm.type_alias'

Строкой выше допиши
Код:
'co.hits AS core_hits'
этот код должен быть ниже чем вышеприведенный

После 571 строки добавляешь
Код:
->join('INNER', '#__content AS co ON co.id = m.content_item_id')

Что бы вывести новые данные в переопределенном файле default_items.php
Код
<?php echo $item->core_hits; ?>
Записан
R31rus
Завсегдатай
*****

Репутация: +2/-0
Offline Offline

Пол: Мужской
Сообщений: 563


«Нас Reboot, а мы крепчаем»


« Ответ #23 : 17.04.2016, 13:56:59 »

Всё работает! Хороший урок для меня, спасибо.
Записан
ChaosHead
Профи
********

Репутация: +381/-10
Offline Offline

Пол: Мужской
Сообщений: 4391



« Ответ #24 : 17.04.2016, 14:10:44 »

Я бы положил копию файла default_items.php в папку /templates/ваш-шаблон/html/com_tags/tag/ чтобы при обновлениях не терять изменения и сделал бы отдельный запрос в этом файле, который по id материала получит хиты. Тогда не нужно будет каждый раз после обновления повторять хак движка.
Записан
R31rus
Завсегдатай
*****

Репутация: +2/-0
Offline Offline

Пол: Мужской
Сообщений: 563


«Нас Reboot, а мы крепчаем»


« Ответ #25 : 17.04.2016, 17:38:13 »

Я бы положил копию файла default_items.php в папку /templates/ваш-шаблон/html/com_tags/tag/ чтобы при обновлениях не терять изменения и сделал бы отдельный запрос в этом файле, который по id материала получит хиты. Тогда не нужно будет каждый раз после обновления повторять хак движка.

Да всё верно я переопределил ранее default_items в свой templates. Было-бы интересно посмотреть ваш вариант получения хитов в данном файле. Просто никак не получалось! Конечно не удобно править движок. Будьте добры покажите пример
Записан
ChaosHead
Профи
********

Репутация: +381/-10
Offline Offline

Пол: Мужской
Сообщений: 4391



« Ответ #26 : 17.04.2016, 21:36:54 »

id материалов у вас я думаю там есть $item->content_item_id вроде. Вот так можно получить всю информацию о материале по id http://joomlaforum.ru/index.php/topic,247443.0.html
Не работает только с архивными материалами, как недавно выяснил. Конечно это дополнительные запросы, но они довольно лёгкие.
Вот это пропишите в начале файла
Код:
if(!class_exists('ContentModelArticle')) require_once JPATH_ROOT.'/components/com_content/models/article.php';
$article = new ContentModelArticle;

А вот это в цикле где у вас информация выводится:
Код:
//получаем документ по id
$youArticle = $article->getItem($item->content_item_id);
//Выводим хиты
echo $youArticle->hits;
//нужно еще, что-то смотри здесь var_dump($youArticle);
Примерно так.
« Последнее редактирование: 17.04.2016, 21:42:12 от ChaosHead » Записан
R31rus
Завсегдатай
*****

Репутация: +2/-0
Offline Offline

Пол: Мужской
Сообщений: 563


«Нас Reboot, а мы крепчаем»


« Ответ #27 : 17.04.2016, 21:57:42 »

Всё работает!:) Получилось 2 неплохих решения. Спасибо

Записан
maxis
Осваиваюсь на форуме
***

Репутация: +1/-0
Offline Offline

Сообщений: 90


« Ответ #28 : 12.05.2016, 13:03:58 »

id материалов у вас я думаю там есть $item->content_item_id вроде. Вот так можно получить всю информацию о материале по id http://joomlaforum.ru/index.php/topic,247443.0.html
Не работает только с архивными материалами, как недавно выяснил. Конечно это дополнительные запросы, но они довольно лёгкие.
Вот это пропишите в начале файла
Код:
if(!class_exists('ContentModelArticle')) require_once JPATH_ROOT.'/components/com_content/models/article.php';
$article = new ContentModelArticle;

А вот это в цикле где у вас информация выводится:
Код:
//получаем документ по id
$youArticle = $article->getItem($item->content_item_id);
//Выводим хиты
echo $youArticle->hits;
//нужно еще, что-то смотри здесь var_dump($youArticle);
Примерно так.

Хотел обратить Ваше внимание на эту тему: http://joomlaforum.ru/index.php/topic,327407.0.html
Тут без хака не обойтись, но может сможете помочь советом
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet