オートナビにカスタム属性出力

2019年7月1日 at 15:01

みなさまいつもありがとうございます。
オートナビブロックを、いろんなページを参考にしながらいろいろさわってみているのですが実現できないので質問させていただきます。

ページとテーマ→属性 で、カスタム属性を作成し各ページそれぞれに値を設定して、オートナビブロックでカスタムテンプレートを作成し、ページリストブロックで使ったことがあるやり方なのですがview.phpで
<?php $Sample = $page->getAttribute('sample'); ?>
<?php echo $Sample; ?>
としてみたり
<?php echo $c->getAttribute('sample'); ?>
を入れてみたり…

【結局なにがやりたいかと言うと…】
オートナビで出力された各ページ名の日本語テキストの前か後ろに「<span>英語ページ名</span>」が出力されるようにしたいです。

タグ: ブロック, オートナビ

Re: オートナビにカスタム属性出力

2019年7月2日 at 9:11
こんにちは。
割とよく使います。
aタグの中のテキストに属性(英語のページ名)を含めたい場合に、下記のようにしました。

(元のview.phpだと113行目あたり)
foreach ($navItems as $ni) {
$eng = $ni->cObj->getAttribute('english_title');

echo '<li class="' . $ni->classes . '">';
echo '<a href="' . $ni->url . '" class="">';
echo h($ni->name);

if ($eng) {
echo '<span class="en"> '. $eng . '</span>';
}
echo '</a>';

if ($ni->hasSubmenu) {
echo '<ul>';
} else {
echo '</li>';
echo str_repeat('</ul></li>', $ni->subDepth);
}
}

↑ 他にもごちゃごちゃ書いてたのを削除してるので、
変な記述があったらごめんなさい。
 

Re: オートナビにカスタム属性出力

2019年7月3日 at 14:29
manekoさんありがとうございます!
やりたいことが出来ました!
 

Re: オートナビにカスタム属性出力

2019年7月3日 at 15:36
私も以前どなたかのブログから情報いただいたんだと思うのですが、
元の記事が探せませんでしたw
解決されて良かったです。