Теги статьи показаны в макете списка статей

Поэтому я добавляю теги, которые вы добавляете в статьи в Joomla!, и это прекрасно работает. Но теперь я хочу показать теги в макете списка статей, который по умолчанию в Joomla.

Я нашел и сделал переопределение для макета списка и попытался добавить код тегов из одного макета статьи в макет списка. Ниже приведен код, который я пытался добавить в макет списка. Но ни один из тегов не отображается в макете.

<?php
    // set tags
    $tags = '';
    if (!empty($this->item->tags->itemTags)) {
        JLoader::register('TagsHelperRoute', JPATH_BASE . '/components/com_tags/helpers/route.php');
        foreach ($this->item->tags->itemTags as $i => $tag) {
            if (in_array($tag->access, JAccess::getAuthorisedViewLevels(JFactory::getUser()->get('id')))) {
                if($i > 0) $tags .= ', ';
                $tags .= '<a href="'.JRoute::_(TagsHelperRoute::getTagRoute($tag->tag_id . ':' . $tag->alias)).'">'.$this->escape($tag->title).'</a>';
            }
        }
    }
    $args['tags'] = $tags;
?>

Если это не ясно, я могу попытаться объяснить это по-другому.

1 ответ

Решение

Ваш php работает в том смысле, что он создает набор ссылок тегов, но на самом деле это не так echo это на страницу. Вам нужно добавить эту строку в конце кода или где-то после, где вы хотите отобразить теги.

echo $tags;

например

<?php
// set tags
$tags = '';
if (!empty($this->item->tags->itemTags)) {
    JLoader::register('TagsHelperRoute', JPATH_BASE .     '/components/com_tags/helpers/route.php');
    foreach ($this->item->tags->itemTags as $i => $tag) {
        if (in_array($tag->access,     JAccess::getAuthorisedViewLevels(JFactory::getUser()->get('id')))) {
            if($i > 0) $tags .= ', ';
            $tags .= '<a href="'.JRoute::_(TagsHelperRoute::getTagRoute($tag-    >tag_id . ':' . $tag->alias)).'">'.$this->escape($tag->title).'</a>';
        }
    }
}
$args['tags'] = $tags;
echo $tags;
?>

Я не уверен, что вы используете $args либо, возможно, он может быть удален, если вы не используете где-то еще.

Другие вопросы по тегам