web-dev-qa-db-ja.com

記事を表示するときにカテゴリビューでホームページのItemidが使用されるのはなぜですか?

V3.3.6のホームページから、特定のメインカテゴリのすべてのサブカテゴリを一覧表示するカテゴリビューがあります。ホームページからそのリンクをクリックすると、期待どおりにそれらのサブカテゴリが一覧表示されますが、それらのサブカテゴリのリンク(その中の記事を表示するため)はすべてホームのItemidを使用しますページ、現在表示されているカテゴリビューページのページではありません(正しいItemidはもちろんブラウザのURLです)

「正しい」リンク:

  • ホームページ:index.php?option = com_content&view = article&id = 107&Itemid = 435
  • ネコ。表示:index.php?option = com_content&view = categories&id = 80&Itemid = 531

これらは、猫に表示されるサブカテゴリへの「正しくない」リンクです。ビュー(彼らは期待されているメインカテゴリの現在表示されているビューからの531ではなく、ホームページからのItemid435を使用しています:

  • Subcat1:index.php?option = com_content&view = category&id = 81&Itemid = 435
  • Subcat2:index.php?option = com_content&view = category&id = 82&Itemid = 435
  • Subcat3:index.php?option = com_content&view = category&id = 83&Itemid = 435

SEFがオンになっておらず、複数の言語設定もありません。また、メニュー項目のエイリアスはありません。メインのメニューアイテムタイプを、com_content以外のさまざまなコンポーネントotherに変更しました。ページは分類されていないため、いずれの記事リストにも表示されません。

リンクのリストは現在アクティブなページのItemidと関連するItemID(531)を使用する必要があると思い込んでいますか。これはそのような初歩的な質問のようです、私は愚かな質問をしますが、他の振る舞いを得るための明確な答えや設定がないようです。

3
GDP

これは、メニュー項目(現在のカテゴリーリストメニュー項目)がすでに作成されていると見なし、リンクしているコンテンツの「権限のある」itemidになります。

カテゴリのブログメニューアイテムIDの代わりに、ホームページのアイテムIDを使用する可能性があるため、メイントップカテゴリのすべての記事で同様の問題が発生する可能性もあります。

私がこれについて持っている簡単な結論-メカニズムの背後にあるコードを確認せずに-これで100%確実ではない-は、2つの類似したタイプのメニュー項目が同じ内容で、おそらくここであなたのケースを説明します。これについて独自のテストを行い、これが本当に当てはまるかどうかを確認することは興味深いでしょう。

結局のところ、一般的な結論は、特定のitemidの下に表示する必要があるコンテンツ要素ごとにメニュー項目を作成することにより、itemidをより詳細に制御できるということです。 )2つの異なるメニュー項目からリンクされ、下位のitemidが使用されるように見えます。


更新"このテストを実行します。

上記に基づいて、これはあなたが試すことができるものであり、これはさらにメニュー項目を作成したくない場合の解決策になるかもしれません:

  • 新しいメニューアイテム = Category Listを作成し、これをdefault(home-page)として設定します//したがって、より高い- itemid
  • 古いホームメニュー項目を無効にするか、作成します "Category Blog "親カテゴリを保持するメニュー項目。
  • 現在使用されているitemidを確認してください。
4
FFrewin

これらのサブキャットに直接リンクされた(非表示の)メニュー項目もありますか?他のJoomlaは、現在のItemid以外のどこにルーティングするかを認識していないためです。そのため、そのサブキャット(ブログレイアウト)を指す追加の(非表示の)メニュー項目が必要になります。