web-dev-qa-db-ja.com

特定のレイアウトのコンテンツ記事へのリンク

コンテンツ記事にリンクして、特定のレイアウトオーバーライドを強制的に表示で使用しようとしていますが、いくつか問題があります。私は以下を試しました:

JRoute::_("index.php?option=com_content&view=article&id={$this->item->id}&layout=mylayout&catid={$this->item->catid}");

そして

JRoute::_(ContentHelperRoute::getArticleRoute($this->item->slug, $this->item->catid).'&layout=mylayout'); 

ただし、どれも私を天国に近づけるようには見えません。mylayout.phpではなく、デフォルトのオーバーライド(default.php)のみが使用されます。また、このレイアウトでtest-content-itemにリンクされたメニュー項目にItemidを追加してみました。テストは正しいレイアウトで表示されますが、Itemidが追加されたリンクは表示されません。

また、テンプレート名をレイアウトパラメータ(layout = mytemplate:mylayout)に含めようとしましたが、うまくいきませんでした。

指定されたレイアウトでアイテムを表示するリンクを作成する方法はありますか? joomlaのバージョンは3.3.0です。

4
jonasfh

まず、yourlayout.phpファイルを正しいディレクトリに配置し、Joomlaがそれをロードできることを確認してください。次に、そのレイアウトを、記事で使用する記事に割り当てます。

記事がメニュー項目にリンクされている場合、代替レイアウトは機能しないことに注意してください。この場合、レイアウトのphpファイルに一致するyourlayout.xmlファイルも作成し、その横に配置する必要があります。

次に、この記事で使用するメニュー項目を新しいメニュー項目に変更する必要があります。

1
FFrewin