web-dev-qa-db-ja.com

アイテムのカテゴリのリンクを取得する方法

私はグーグルを検索して多くの記事を読みましたが、運がありませんでした。joomla3.3.6アイテム/記事のカテゴリのリンクを取得する方法はありますか。

詳細:Joomla 3.3.6でカスタムテーマを構築しています。メインページの記事をサムネイルとして表示し、これらのサムネイルの画像、説明、リンクとカテゴリを読みます。 。最後に、ユーザーがカテゴリ名をクリックすると、カテゴリページに転送されます。

コードでは、記事ID、記事タイトル、記事カテゴリ、記事リンクを取得できます。これらのリンクを作成する方法がわかりません。たとえば、http://www.Host/category_name/article_id-article_name

誰もがそれを作る方法を知っています、

ありがとう

2
Ya Basha

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に対してこの方法を使用するため、リンクの一貫性を維持するために、この方法に従うのが良いでしょう。

リンク集

2
Artur Stępień

このようなことをしてください:

<?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>タグ内のテキストは、たとえばカテゴリのタイトルに置き換えることができます...

1
pippo8765