Drop down menu 将选定的导航添加到concrete5的下拉菜单
我正试图在Concrete5中结合两种功能来创建一个下拉菜单,但似乎无法使其正常工作,不知是否有人能帮助我 我有一个菜单代码Drop down menu 将选定的导航添加到concrete5的下拉菜单,drop-down-menu,styling,concrete5,Drop Down Menu,Styling,Concrete5,我正试图在Concrete5中结合两种功能来创建一个下拉菜单,但似乎无法使其正常工作,不知是否有人能帮助我 我有一个菜单代码 <? defined('C5_EXECUTE') or die(_("Access Denied.")); $aBlocks = $controller->generateNav(); global $c; if ($c->isEditMode()) { echo("<div cla
<?
defined('C5_EXECUTE') or die(_("Access Denied."));
$aBlocks = $controller->generateNav();
global $c;
if ($c->isEditMode()) {
echo("<div class=\"menu\" style=\"position:inherit!important;\"><ul>");
}
else {
echo("<div class=\"menu\"><ul>");
}
$nh = Loader::helper('navigation');
foreach($aBlocks as $ni) {
$_c = $ni->getCollectionObject();
if (!$_c->getCollectionAttributeValue('exclude_nav')) {
$thisLevel = $ni->getLevel();
if ($thisLevel > $lastLevel) {
echo("<!--[if IE 7]><!--></a><!--<![endif]-->\n<!--[if lte IE 6]><table><tr><td><![endif]-->\n<ul>\n");
} else if ($thisLevel < $lastLevel) {
for ($j = $thisLevel; $j < $lastLevel; $j++) {
echo("</a></li>\n</ul>\n<!--[if lte IE 6]></td></tr></table></a><![endif]--></li>\n");
}
}
if ($thisLevel == $lastLevel && $i >0) {
echo "</a></li>\n";
}
$pageLink = false;
if ($_c->getCollectionAttributeValue('replace_link_with_first_in_nav')) {
$subPage = $_c->getFirstChild();
if ($subPage instanceof Page) {
$pageLink = $nh->getLinkToCollection($subPage);
}
}
if (!$pageLink) {
$pageLink = $ni->getURL();
}
if ($_c->getCollectionAttributeValue('placeholder')) {
$pageLink="javascript:void(0)";
}
echo '<li><a href="'.$pageLink.'">' . $ni->getName();
$lastLevel = $thisLevel;
$i++;
}
}
$thisLevel = 0;
for ($i = $thisLevel; $i <= $lastLevel; $i++) {
echo("</a></li></ul>");
}
echo '</div>';
?>
从另一个菜单中,选择的导航可以设置样式,但这没有什么区别。有没有人看到我做错了什么,或者有人能给我一个提示如何使这项工作?我真的很感激你的帮助。谢谢 看起来好像您从两个不同的地方获取了代码并将它们粘贴在一起(这很少起作用)。我认为您的第一个代码示例来自旧模板,第二个代码示例来自新模板 在这里,您最好从头开始使用更新、更干净的autonav模板:
修改它来做你想做的事情应该不会太难。如果您遇到了问题,请尝试在此处或concrete5论坛()中作为新问题发布。谢谢您的回答!我确实尝试过那个模板,但没能让它按我想要的方式工作,这就是为什么我试图把两件事拼凑在一起,但无论如何还是要感谢你的尝试。哦,是的,当我在5.6.0.2中使用那个模板时,我犯了一个大错误。不知道这是不是我的问题。我只是按原样复制了文件并加载到root/autonav/templates中。然后我在页面上看到垃圾。
$classes = array();
if ($ni->isCurrent) {
//class for the page currently being viewed
$classes[] = 'nav-selected';
}
if ($ni->inPath) {
//class for parent items of the page currently being viewed
$classes[] = 'nav-path-selected';
}