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

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

[Решено] Слетели теги материала в J3.5

 (Прочитано 215 раз)
0 Пользователей и 1 Гость смотрят эту тему.
master-smeta
Давно я тут
****

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

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


« : 25.03.2016, 18:03:31 »

Здравствуйте. У меня на сайте, после обновления до 3.5, слетели иконки у новостей. Реализовано было так: создал несколько тегов, алиас которых совпадал с именем файла иконки. При создании материала выбирал необходимый тег. В файле /templates/mytemplate/html/com_content/category/blog_item.php получал имя тега и подставлял его в адрес иконки. Т.е. было так:
Код:
<?php foreach($this->item->tags->itemTags as $tag): ?>
<img src="<?php echo $this->baseurl .'/images/ikonki/news/'. $tag->title .'.svg'; ?>" alt="<?php echo strip_tags($tag->description); ?>" class="news_icon" />
<?php endforeach; ?>
Теперь же такой код выдает ошибки:
Цитировать
Notice: Undefined property: stdClass::$tags in /templates/mytemplate/html/com_content/category/blog_item.php on line 34
Notice: Trying to get property of non-object in ...
и Warning: Invalid argument supplied for foreach() in ...
Я поковырялся в коде и обнаружил следующее: теперь $this->item не содержит информации о тегах. Теперь для тегов добавили 2 таблицы в БД (#__contentitem_tag_map и #__tags).
В модуле новостей я в helper.php добавил запросы к БД. Первый - получает ИД тега для выбранного материала. Второй - получает информацию о теге с полученным ранее ИД.
В модуле все работает, а вот в блоге категории не могу настроить.

Помогите  !
Как получить тег для каждого материала в блоге категории?
« Последнее редактирование: 29.03.2016, 10:31:12 от b2z » Записан
b2z
Support Team
*****

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

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


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


« Ответ #1 : 26.03.2016, 09:24:14 »

Проверил у себя blog_item.php на 3.5 - $this->item->tags никуда не делось. Это про прежнему объект JHelperTags.
Записан
master-smeta
Давно я тут
****

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

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


« Ответ #2 : 28.03.2016, 15:15:04 »

Проверил у себя blog_item.php на 3.5 - $this->item->tags никуда не делось. Это про прежнему объект JHelperTags.
ХМ, я понимаю, что я что-то не так делаю, но я не понимаю - что именно Azn
Поставил на локалке чистую 3.5. Добавил несколько материалов типа 111 с тегом 111, 222 с тегом 222 и 333 с тегом 333. Вывел в меню блог категории и включил показ тегов. Теги отображаются. Но если я в шаблоне blog_item.php пропишу например echo gettype($this->item->tags); то получу NULL. Если я правильно понимаю, то из NULL мои теги не вытащить, значит они как-то иначе должны выводиться. Перекопал весь файл, но не нашел ничего, связанного с тегами.
Как мне получить alias тега, указанного для конкретного материала? Если можно -приведите код

upd. Я тут засомневался, а теги ли выводятся? Ведь они совпадают с названием материала и его алиасом. Переустановил систему еще раз, снова добавил материалы и теги (только теги уже назвал типа tag111, tag222...). Проверил, отображаются. Попробовал еще раз echo gettype($this->item->tags); получил object. 5 минут назад там было NULL, а теперь object!  Shocked  Cry
Сомневаюсь, что проблема в названии тегов. Но я окончательно запутался.
Полез на тестовый сайт, переопределил blog_item.php, добавил <?php echo gettype($this->item->tags); ?>, вывожу, получаю:
Цитировать
Notice: Undefined property: stdClass::$tags in K:\opensrv\OpenServer\domains\test.ru\templates\mytemplate\html\com_content\category\blog_item.php on line 34
NULL


UPD END---------------------------
Разобрался в проблеме. У меня на тестовом сайте в настройках пункта меню не было включено отображение тегов. Если его включить, то все работает без ошибок и <?php echo gettype($this->item->tags); ?> отдает объект.
Хотя, по-моему, включение галки в настройках пункта меню должно срабатывать только для соответствующих условий. Типа: если включено отображение, то показывать. А если выводить без каких-либо условий, то должно выводиться. По крайней мере на рабочем сайте (3.4.Cool метки выводятся и без этой галки.
В общем тему можно закрывать.
« Последнее редактирование: 28.03.2016, 17:35:43 от master-smeta » Записан
Страниц: [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