0

私は、コンテンツ タイプ service_details を使用して子ページに移動するために使用できるランディング ページを作成するために使用される、services_list_page というコンテンツ タイプを持っています。これらのページ間の関係はメニューによってのみ定義され、現在のところ他の場所では定義されていません。

Program Service (services_list_page)
-- Cat1: (not a page, just a category type thing in menu)
  -- child 1 (service_details)
  -- child 2 (service_details)
-- Cat2
  -- child 3
  -- child4
  -- and so on..

これらの子ページをメニューにリストするだけでなく、子ページの「カテゴリ」ごとに 1 つのリスト (ul li) のリスト内のコンテンツ内でも動的に表示する必要があります。これらのコンテンツ タイプのノード テンプレート ファイルをオーバーライドしました。このデータを動的にプルするために、モジュールまたはテンプレート ファイル内のコードを使用してこれを行う最善の方法は何でしょうか?

4

2 に答える 2

0

簡単な解決策 を見つけたので、最初はうまくいく方法を見つけましたが、面倒で、左側のナビゲーションサブメニューが更新されたときにページ内メニューが更新されませんでした。次に、メニューブロックモジュールを見つけました。

  • メニュー ブロック モジュールのインストールhttps://drupal.org/project/Menu_Block
  • 新しいメニュー ブロックを追加し、必要に応じて構成します。開始レベルを第 2 レベルに設定
  • 次のコードをテンプレート ファイルに追加して、メニュー ブロックを呼び出します。

ブロックページでメニューブロックの構成をクリックすると、URL から番号 (ここでは 1) を取得できるため、admin/structure/block/manage/menu_block/1/configure は次のようになります。

$block = module_invoke('menu_block', 'block_view', '1');
print render($block['content']);
  • オプションテンプレート ファイル「menu-block-wrapper--1.tpl.php」を作成して、メニューのテンプレートを作成します。$contentという配列をループすることで、メニューデータを取得できます
于 2013-10-05T09:26:02.353 に答える