現在タブ毎のコンテンツを一覧表示するための「一覧タブ」を作成しています。
下記のように、各タブに記述したコンテンツと同じ内容を一覧タブにも記述する形になってしまうのですが、同じ内容を複数箇所に記述すると編集時の修正漏れなどにつながるため、できれば1か所に記述したコードを使い回したいと考えています。
このような場合に、既存のタブやコンテンツを呼び出して、一覧タブ内に表示する方法はありますでしょうか。
#tab_container{{{
#tab_content(コンテンツ1){{
コンテンツ1
}}
#tab_content(コンテンツ2){{
コンテンツ2
}}
#tab_content(一覧){{
コンテンツ1
コンテンツ2
}}
}}}
Natch
通報 ...
タブの中身を別ページに作成し、includexプラグインで呼び出す形にすれば実現できます。
具体的には以下のような記述になります。
#tab_container{{{
#tab_content(コンテンツ1){{
#includex(<コンテンツ1の内容>)
}}
#tab_content(コンテンツ2){{
#includex(<コンテンツ2の内容>)
}}
#tab_content(一覧){{
#includex(<コンテンツ1の内容>)
#includex(<コンテンツ2の内容>)
}}
}}}
includexの引数についてはここで説明しきれないので検索して調べてみてください。
ありがとうございます。試してみたいと思います。
まだ確認しておらず申し訳ないのですが、includexプラグインは別ページからでないと呼び出せない仕様があるのでしょうか。
自分自身を呼び出して無限ループに陥る可能性を考慮すれば妥当かもしれませんが。
はい、自分自身の呼び出しはできず、別ページから呼び出す必要があります。
ちなみにincludexではなく通常のincludeプラグインを使う方法もあります。
ただしincludexが呼び出し範囲を細かく指定できるのに対し、includeはページ全体の読み込みになります。
またincludexの方は記述が複雑で難易度が高く、includeの方はシンプルな記述で理解しやすいという違いもあります。
上記を踏まえ、どちらを採用するか判断するのがよろしいかと思います。