私はグーグルを検索して多くの記事を読みましたが、運がありませんでした。joomla3.3.6アイテム/記事のカテゴリのリンクを取得する方法はありますか。
詳細:Joomla 3.3.6でカスタムテーマを構築しています。メインページの記事をサムネイルとして表示し、これらのサムネイルの画像、説明、リンクとカテゴリを読みます。 。最後に、ユーザーがカテゴリ名をクリックすると、カテゴリページに転送されます。
コードでは、記事ID、記事タイトル、記事カテゴリ、記事リンクを取得できます。これらのリンクを作成する方法がわかりません。たとえば、http://www.Host/category_name/article_id-article_name
誰もがそれを作る方法を知っています、
ありがとう
ContentHelperRoute
を使用して、記事のカテゴリのURLを取得します。この記事のビューのようなものにすることができます:
JRoute::_(ContentHelperRoute::getCategoryRoute($this->item->catslug))
これが必要な場合com_content
コンポーネントContentHelperRoute
宣言も追加する必要があります:
require_once JPATH_SITE.'/components/com_content/helpers/route.php'
そして$this->item->catslug
はこのようなものに変わります$item->catslug
。記事情報をどの変数に格納するかによって異なります。 catslug
には、カテゴリIDとカテゴリエイリアスの組み合わせが次のように含まれています:ID:ALIAS
。システムはすべてのカテゴリURLに対してこの方法を使用するため、リンクの一貫性を維持するために、この方法に従うのが良いでしょう。
このようなことをしてください:
<?php
$catID = JRequest::getVar('catid');
echo "<a href='index.php?option=com_content&view=category&layout=blog&id=".$catID."'>Link to blog view of category</a><br />";
?>
もちろん、これは、現時点で記事が「コンポーネント」の位置に表示されている場合にのみ機能します。リンクは、現在のアイテムのカテゴリのブログビューです。それほど完璧ではありませんが、あなたが望むことをします。完全な解決策は、メニュー内でそのブログビューを既に定義しているかどうかを確認し、URLの最後に$ Itemidを追加することです。次に、より完全なソリューションとして、次のようなものを使用します。
$catID = JRequest::getVar('catid');
echo '<a href="'.JRoute::_(ContentHelperRoute::getCategoryRoute($catID)).'">Link to menu item of category if exists</a>';
<a>
タグ内のテキストは、たとえばカテゴリのタイトルに置き換えることができます...