#concrete5 ページ属性を追加して、カスタムテンプレート内で使用する

concrete5では、各ページにページ属性が設定でき、各ページの設定>カスタム項目から選択することができます。

このページ属性に「オートナビから除く」というオプションがありますが、例えば「グローバルナビゲーションには表示させたくないがパンくずリストには表示させたい」という場合、ブロックとしてはどちらもオートナビなので困ってしまいます。そういう時は、ページ属性を追加してしまいましょう。

ページ属性の追加は管理画面のページとテーマ>ページタイプ画面で、ページ属性情報を追加ボタンをクリックします。

ページ属性を追加

設定したページ属性は、各ページの設定で選択することができるようになります。

作成したページ属性を選択する

次に、「グローバルナビから除く」にチェックが入っているページを飛ばすオートナビのカスタムテンプレートを作成します。

既存のオートナビのview.phpをローカルにコピーします。
/concrete/blocks/autonav/view.php

「オートナビから除く」にチェックが入っているかを判定している行の「exclude_nav」を「グローバルナビから除く」のハンドルに変更します。

// 変更前
if (!$_c->getCollectionAttributeValue('exclude_nav')) {
// 変更後
if (!$_c->getCollectionAttributeValue('exclude_globalnav')) {

以上の変更をしたview.phpを、適当な名前を付けて保存します。ここでは分かりやすくglobal_nav.phpとしておきます。

最後にカスタムテンプレートとして使えるようにサーバーの下記のディレクトリにアップロードします。カスタムテンプレートの詳細は公式サイトの解説を参考にしてください。
/blocks/autonav/templates/global_nav.php

しかし、concrete5は本当に自由度高いですね。MTやWordPressに慣れているので、不安になるくらいですw

#concrete5 ページ属性を追加して、カスタムテンプレート内で使用する」への1件のフィードバック

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です