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

master-smeta

  • Захожу иногда
  • 298
  • 10 / 0
Здравствуйте. У меня на сайте, после обновления до 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, 09:31:12 от b2z »
*

b2z

  • Глобальный модератор
  • 7290
  • 778 / 0
  • Разраблю понемногу
Re: Слетели теги материала в J3.5
« Ответ #1 : 26.03.2016, 08:24:14 »
Проверил у себя blog_item.php на 3.5 - $this->item->tags никуда не делось. Это про прежнему объект JHelperTags.
*

master-smeta

  • Захожу иногда
  • 298
  • 10 / 0
Re: Слетели теги материала в J3.5
« Ответ #2 : 28.03.2016, 14:15:04 »
Проверил у себя blog_item.php на 3.5 - $this->item->tags никуда не делось. Это про прежнему объект JHelperTags.
ХМ, я понимаю, что я что-то не так делаю, но я не понимаю - что именно :)
Поставил на локалке чистую 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!  :o  :'(
Сомневаюсь, что проблема в названии тегов. Но я окончательно запутался.
Полез на тестовый сайт, переопределил 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.8) метки выводятся и без этой галки.
В общем тему можно закрывать.
« Последнее редактирование: 28.03.2016, 16:35:43 от master-smeta »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Call to a member function NewColorizeImage() on null при переходе PHP 7 [Решено]

Автор Eholov

Ответов: 3
Просмотров: 2435
Последний ответ 17.03.2023, 11:03:04
от Olexa
Слетели смайлы

Автор AlexP750

Ответов: 3
Просмотров: 808
Последний ответ 22.06.2022, 22:19:07
от ProtectYourSite
Мета-теги title / description

Автор Ася К.

Ответов: 0
Просмотров: 466
Последний ответ 28.02.2022, 19:29:41
от Ася К.
PDF в теле материала сайта

Автор VIK4

Ответов: 3
Просмотров: 670
Последний ответ 13.01.2022, 12:46:00
от VIK4
Где добавить содержимое в панели печати материала

Автор vetkrs

Ответов: 6
Просмотров: 698
Последний ответ 13.11.2021, 12:55:47
от gartes