0

そこで、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;
?>

これが明確でない場合は、別の方法で説明することができます。

4

1 に答える 1

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しているのかわかりません。他の場所で使用していない限り、おそらく削除される可能性があります。

于 2013-11-14T10:15:14.167 に答える