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

  • 28 Ответов
  • 797 Просмотров

0 Пользователей и 1 Гость просматривают эту тему.

*

Оффлайн R31rus

  • *****
  • 525
  • [+]2 / [-]0
  • «Нас Reboot, а мы крепчаем»
    • Просмотр профиля
Дату получилось вывести, а вот хиты никак.... ломал голову, просьба помочь.

Вот макет (components/com_tags/views/tag/tmpl/default_items.php)
Спойлер
[свернуть]

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

Пример:



 
« Последнее редактирование: 13.04.2016, 15:04:49 от R31rus »
Зарплата - это еще одно доказательство того, что работать на других
невыгодно.

*

Оффлайн NewUsers

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

*

Оффлайн R31rus

  • *****
  • 525
  • [+]2 / [-]0
  • «Нас Reboot, а мы крепчаем»
    • Просмотр профиля
В этом файле перед открытием тега формы, ( но не позже ?> ) добавь php код
Код: (php) [Выделить]
<?php print_r($this->items); ?>и ты все увидишь...

сразу ошибку выдает.....
Зарплата - это еще одно доказательство того, что работать на других
невыгодно.

*

Оффлайн NewUsers

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

Какую?

*

Оффлайн R31rus

  • *****
  • 525
  • [+]2 / [-]0
  • «Нас Reboot, а мы крепчаем»
    • Просмотр профиля
0 - syntax error, unexpected '<', expecting end of file
Зарплата - это еще одно доказательство того, что работать на других
невыгодно.

*

Оффлайн NewUsers

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

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

*

Оффлайн R31rus

  • *****
  • 525
  • [+]2 / [-]0
  • «Нас Reboot, а мы крепчаем»
    • Просмотр профиля
покажи код твоего файла...

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



Спойлер
[свернуть]
Зарплата - это еще одно доказательство того, что работать на других
невыгодно.

*

Оффлайн NewUsers

Добавь
print_r($this->items);после
$n = count($this->items);

*

Оффлайн R31rus

  • *****
  • 525
  • [+]2 / [-]0
  • «Нас Reboot, а мы крепчаем»
    • Просмотр профиля
сделал, глянь что вышло: ссылка удалена
« Последнее редактирование: 17.04.2016, 18:49:01 от R31rus »
Зарплата - это еще одно доказательство того, что работать на других
невыгодно.

*

Оффлайн NewUsers

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

*

Оффлайн R31rus

  • *****
  • 525
  • [+]2 / [-]0
  • «Нас Reboot, а мы крепчаем»
    • Просмотр профиля
Нашел "show_hits":"1" и всё
Зарплата - это еще одно доказательство того, что работать на других
невыгодно.

*

Оффлайн NewUsers

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

*

Оффлайн R31rus

  • *****
  • 525
  • [+]2 / [-]0
  • «Нас Reboot, а мы крепчаем»
    • Просмотр профиля
что бы убедиться что это то что нужно, посмотри что нибудь и измениться ли значение...

Тыкнул по материалам несколько раз всё равно "show_hits":"1"
Зарплата - это еще одно доказательство того, что работать на других
невыгодно.

*

Оффлайн NewUsers

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

ЗНАЧИТ ЭТО НЕ ТО... ИЩИ ДАЛЬШЕ...

*

Оффлайн R31rus

  • *****
  • 525
  • [+]2 / [-]0
  • «Нас Reboot, а мы крепчаем»
    • Просмотр профиля
кроме show hits , дата публикации, автор, id материала, титл.... там нет ничего
Зарплата - это еще одно доказательство того, что работать на других
невыгодно.

*

Оффлайн NewUsers

Включи отладку системы...

*

Оффлайн R31rus

  • *****
  • 525
  • [+]2 / [-]0
  • «Нас Reboot, а мы крепчаем»
    • Просмотр профиля
включил
Зарплата - это еще одно доказательство того, что работать на других
невыгодно.

*

Оффлайн R31rus

  • *****
  • 525
  • [+]2 / [-]0
  • «Нас Reboot, а мы крепчаем»
    • Просмотр профиля
в общем ппц:))
Зарплата - это еще одно доказательство того, что работать на других
невыгодно.


*

Оффлайн R31rus

  • *****
  • 525
  • [+]2 / [-]0
  • «Нас Reboot, а мы крепчаем»
    • Просмотр профиля
Значит запрос не вытаскивает хиты. Только ядро править.

Поправим?:) без вашей помощи никак.
Зарплата - это еще одно доказательство того, что работать на других
невыгодно.

*

Оффлайн R31rus

  • *****
  • 525
  • [+]2 / [-]0
  • «Нас Reboot, а мы крепчаем»
    • Просмотр профиля
Из подсказки выше с помощью: 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


А вот хитов почему-то нету, очень жаль.... апну тему может кто подскажет, как реализовать. 
Зарплата - это еще одно доказательство того, что работать на других
невыгодно.


*

Оффлайн NewUsers

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

Я тут поковырялся в файлах и оказалось что 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) [Выделить]
<?php echo $item->core_hits?>

*

Оффлайн R31rus

  • *****
  • 525
  • [+]2 / [-]0
  • «Нас Reboot, а мы крепчаем»
    • Просмотр профиля
Всё работает! Хороший урок для меня, спасибо.
Зарплата - это еще одно доказательство того, что работать на других
невыгодно.

*

Онлайн ChaosHead

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

*

Оффлайн R31rus

  • *****
  • 525
  • [+]2 / [-]0
  • «Нас Reboot, а мы крепчаем»
    • Просмотр профиля
Я бы положил копию файла default_items.php в папку /templates/ваш-шаблон/html/com_tags/tag/ чтобы при обновлениях не терять изменения и сделал бы отдельный запрос в этом файле, который по id материала получит хиты. Тогда не нужно будет каждый раз после обновления повторять хак движка.

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

*

Онлайн ChaosHead

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, 22:42:12 от ChaosHead »

*

Оффлайн R31rus

  • *****
  • 525
  • [+]2 / [-]0
  • «Нас Reboot, а мы крепчаем»
    • Просмотр профиля
Всё работает!:) Получилось 2 неплохих решения. Спасибо

Зарплата - это еще одно доказательство того, что работать на других
невыгодно.

*

Оффлайн maxis

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
Тут без хака не обойтись, но может сможете помочь советом