hissyさんのおかげで解決できました。
基本的には動いてくれるのですね。
ただ、count($navItems)にすると階層全部引っ張ってきてしまったので
先に違う変数を作ってカウントさせることで対応させました。
ありがとうございました。非常に助かりました。
以下、ソースです。
<?php defined('C5_EXECUTE') or die("Access Denied.");
$navItems = $controller->getNavItems();
$navattr = "exclude_globalnav"; // 属性
$excount =0;
foreach ($navItems as $ni) {
if (!$ni->cObj->getATtribute($navattr)) {
$excount++;
}
}
?>
<ul class="nav-header">
<?php
$count = 0;
foreach ($navItems as $ni) {
if (!$ni->cObj->getATtribute($navattr)) {
$classes = array();
if ($ni->isCurrent) {
$classes[] = 'nav-selected';
}
if ($ni->inPath) {
$classes[] = 'nav-path-selected';
}
if ($ni->isFirst) {
$classes[] = 'first';
}
$count++;
if ($count == $excount) {
$classes[] = 'nav-last';
}
$classes = implode(" ", $classes);
?>
<li class="<?php echo $classes?>">
<a class="<?php echo $classes?>" href="<?php echo $ni->url?>" target="<?php echo $ni->target?>"><?php echo $ni->name?></a>
</li>
<?php
} // END *** if (!$ni->cObj->getATtribute('exclude_globalnav'))
}
?>
</ul>
<div class="ccm-spacer"> </div>
Re: Re: オートナビから特定ページのみ除くについて
2014年6月24日 at 20:41
返信ありがとうございます。
> 階層関係なく、最後のliにclassをつけたい、ということでしょうか?
単純に表示されているオートナビの最後のliに入れたいと思っています。
例えば、ヘッダーのナビでは
・Home
・会社概要
・サービス案内
・お問い合わせ
とあったとしたならばお問い合わせにclass="last"が付くように、
フッターナビでは
・Home
・会社概要
・サービス案内
・お問い合わせ
・プライバシーポリシー
・サイトマップ
としたならば、サイトマップにclass="last"が付くようにといった感じです。
takuro hishikawa
Re: オートナビから特定ページのみ除くについて