Last active
August 29, 2015 14:11
-
-
Save hissy/72827af7d2893450cb95 to your computer and use it in GitHub Desktop.
#concrete5 オートナビテンプレートで第1階層だけulから外れるパターン
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php defined('C5_EXECUTE') or die("Access Denied."); | |
$navItems = $controller->getNavItems(); | |
?> | |
<div class="menu"> | |
<?php | |
// サブメニューが開いているかどうかのフラグ | |
$subMenuIsOpen = false; | |
foreach ($navItems as $ni) { | |
// 第1階層の処理 | |
if ($ni->level == 1) { | |
// サブメニューが開いていたら閉じる | |
if ($subMenuIsOpen) { | |
echo '</ul></div><!-- /.submenu -->'; | |
$subMenuIsOpen = false; | |
} | |
echo '<h2>'; | |
echo '<a href="' . $ni->url . '" target="' . $ni->target . '">' . $ni->name . '</a>'; | |
echo '</h2>'; | |
// サブメニューがあれば開く | |
if ($ni->hasSubmenu) { | |
echo '<div class="submenu"><ul>'; | |
$subMenuIsOpen = true; // 開いたのでフラグを立てる | |
} | |
// 第2階層以降の処理はデフォルトのテンプレートとほぼ同じ | |
} else { | |
echo '<li>'; //opens a nav item | |
echo '<a href="' . $ni->url . '" target="' . $ni->target . '">' . $ni->name . '</a>'; | |
if ($ni->hasSubmenu) { | |
echo '<ul>'; //opens a dropdown sub-menu | |
} else { | |
echo '</li>'; //closes a nav item | |
if ($ni->level > 2) { | |
echo str_repeat('</ul></li>', $ni->subDepth); //closes dropdown sub-menu(s) and their top-level nav item(s) | |
} | |
} | |
} | |
} | |
// サブメニューが開いていたら閉じる | |
if ($subMenuIsOpen) { | |
echo '</ul></div><!-- /.submenu -->'; | |
} | |
?> | |
</div> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment