タグ付きアイテムをカテゴリブログレイアウトで表示する方法


8

カテゴリブログのレイアウトのように記事を表示するタグのメニュー項目を作成したいと思います。「タグ付きアイテムのコンパクトリスト」、「すべてのタグのリスト」、「タグ付きアイテム」のメニュー項目タイプを試しましたが、うまくいきませんでした。

コンテンツタグの公式ドキュメントによると、可能であるようです。

タグといくつかのタグ付きアイテムを取得したら、いくつかの方法でフロントエンドに表示できます。

デフォルトではJoomla!タグ付けされた各アイテムに埋め込まれたタグを表示します。この表示をオフにするには、パラメーターを変更します。レイアウトのオーバーライドと代替レイアウトを使用してこのディスプレイの位置を制御でき、CSSでスタイルを設定できます。

タグのリストを表示するメニューリンクを作成し、各タグのタグ付きアイテムへのリンクを含めることができます。

>特定のタグのタグ付きアイテムのリストを表示するメニューリンクを作成し、リストまたはブログスタイルとして表示できます。

タグモジュールの1つを使用できます。人気のタグには、最もタグの付いたアイテムがあるタグのリンクリストが表示されます。類似タグは、現在表示されているアイテムと同様のタグのセットを持つアイテムのリストを表示します(このモジュールは、コンテンツアイテムを表示していないページには表示されないことに注意してください)。

回答:


8

この問題はすでに何度か尋ねられているようで、それに対する適切な回答はまだないので、テンプレートのオーバーライド側から解決策を提供したいと思います。手順はかなり複雑ですが、簡単なはずです。

注:このチュートリアルの作成中は、Joomla 3.4.4とテンプレートプロトスターを使用しています

まず、このファイルをコピーします。

[root]/components/com_tags/views/tag/tmpl/default.php
[root]/components/com_tags/views/tag/tmpl/default.xml
[root]/components/com_tags/views/tag/tmpl/default_items.php

[root]/templates/your_template_name/html/com_tags/tag/default.php
[root]/templates/your_template_name/html/com_tags/tag/default.xml
[root]/templates/your_template_name/html/com_tags/tag/default_items.php

ファイル名を「taggedblog」などの好きな名前に置き換えれば、次のようになります。

[root]/templates/your_template_name/html/com_tags/tag/taggedblog.php
[root]/templates/your_template_name/html/com_tags/tag/taggedblog.xml
[root]/templates/your_template_name/html/com_tags/tag/taggedblog_items.php

ファイルの先頭にある[root] /templates/your_template_name/html/com_tags/tag/taggedblog.xmlファイルを開くと、次のコードが表示されます。

<layout title="com_tags_tag_view_default_title" option="com_tags_tag_view_default_option">

に変更

<layout title="Tagged Blog" option="taggedblog">

この時点で、メニューマネージャーから新しいメニューアイテムを作成すると、Tagged Blogという新しいメニューアイテムタイプが表示されます。下のこの画像を参照してください

新しいタグ付きブログメニュー項目

次に、ファイル[root] /templates/your_template_name/html/com_tags/tag/taggedblog_items.phpを開きます

62行目でこのコードを削除します:

<ul class="category list-striped">

そして</ul>90行目でタグを閉じています

次に、同じファイルで、64行目から始まるこれらのコードを削除します。

<?php if ($item->core_state == 0) : ?>
                <li class="system-unpublished cat-list-row<?php echo $i % 2; ?>">
            <?php else: ?>
                <li class="cat-list-row<?php echo $i % 2; ?> clearfix" >

<?php endif; ?>70 </li>行目、85行目の終了タグ

次に、追加<div class="span5">のコードの後に64行で<?php foreach ($items as $i => $item) : ?>かつ閉鎖を追加</div>する前に<?php endforeach; ?>

次に、コードの前の77行目を囲んで次のコードを<?php if ($this->params->get('tag_list_show_item_description', 1)) : ?>追加します。

<?php
    $db = JFactory::getDBO();
    $query = $db->getQuery(true);
    $query->select('introtext')->from('#__content')->where('id=' . (int)$item->content_item_id);
    $db->setQuery($query);
    //displaying the intro image
    $images  = json_decode($item->core_images);
    if(!empty($images->image_intro)) {
        echo '<img src="'.$images->image_intro.'">';
    }
    //displaying the intro text
    $introtext = $db->loadResult();
    echo $introtext;

    ?>

この時点で、イントロテキストとイントロ画像がウェブサイトに表示されているはずです。

次に、ファイル[root] /templates/your_template_name/html/com_tags/tag/taggedblog.phpを開きます。51行目付近にこのコードが表示されます<?php echo $this->loadTemplate('items'); ?>。その行を次のように変更します。

<div class="row"><?php echo $this->loadTemplate('items'); ?></div>

それで全部です。

ここで、joomlaメニューマネージャからタグ付きブログタイプのメニューアイテムを作成してみて、結果を確認してください。

物事を簡単にするために、これらのファイルを上記のここにアップロードしました。楽しんで!


2
この機能がまだ実装されていないなんて信じられません。
Alfredo Osorio

2

これは現在不可能です。あなたが得ることができる最も近いものはタグ付きアイテムです。Joomlaフォーラムに、続きを追加する方法に関する記事があります。http://forum.joomla.org/viewtopic.php?f=708&t=838191

これは現在、http: //ideas.joomla.org/forums/84261-joomla-idea-pool/category/12057-content?query=category%20blog%20tagged%20itemsのideas.joomla.orgに対するリクエストでもあります。あなたはそれが含まれるように行き、投票することができます。


0

2019年3月、これはまだ問題のようです。別のアプローチとして、Webサーバー(Apache / ngnix / IIS / etc)のリダイレクトを使用して「標準」リンクをキャッチし、独自のリンクにリダイレクトする方法があります。(私がそれらを見ると)欠点は次のとおりです。-Webサーバーの関連する構成ファイルへのアクセス(Apacheの場合、これはmod_rewriteが有効になっている限り、ディレクトリごとの.htaccessで実行できます)-管理可能な数タグごとに宛先メニュー項目を作成できるようにします(200個のタグがある場合、それぞれにメニュー項目を作成できますが、誰が煩わしいでしょうか?)これに使用しているApache書き換えルールは次のとおりです。

RewriteBase /
ReWriteRule ^component/tags/tag/([^\.]+).html$ /$1-articles [L,R=301]

したがって、タグごとに、タグ名と-articles(たとえば、tag1-articles)を含むメニュー項目からアクセスしたい形式の宛先記事があります。確かに、これは回避策ですが、上記の2つの "条件"(Apache構成アクセスと多くのタグではない)を満たすことができれば、望んだ結果が得られます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.