所以我一直在添加你添加到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;
?>
如果不清楚,我可以尝试以不同的方式解释它。
答案 0 :(得分:1)
您的php
工作的意义在于它构建了一组“标记”链接,但它实际上并没有echo
它到页面。您需要在代码末尾或之后的某个位置添加此行,以便显示标记。
echo $tags;
e.g。
<?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
的是什么,它可能会被移除,除非您在其他地方使用。