gpt4 book ai didi

zend-framework - Zend_Navigation 渲染子菜单部分

转载 作者:行者123 更新时间:2023-12-02 03:24:19 26 4
gpt4 key购买 nike

我已对我的问题进行了编辑。在研究这个问题时,我发现这个问题很容易简化。我需要子菜单的自定义格式,所以我必须使用部分。但随后问题就出现了。

下面的代码显示了错误级别 (0):

            echo $this->navigation()->menu()
->setMinDepth(1)
->setMaxDepth(1)
->setRenderParents(false)
->setOnlyActiveBranch(true)
->renderPartial(null, array('partials/menu.phtml', 'default'));

下面的代码显示了正确的菜单级别 (1)

            echo $this->navigation()->menu()
->setMinDepth(1)
->setMaxDepth(1)
->setRenderParents(false)
->setOnlyActiveBranch(true)
->render();

有什么想法吗?伙计们,请。我将不胜感激任何帮助!

编辑

我的partials/menu.phtml:

    foreach ($this->container as $page) 
{
$active = $page->isActive();
echo '<div class="item">';
echo '<a class="'. ($active ? 'active' : '') .'" href="' . $this->baseUrl($page->getHref()) . '">' . $page->getLabel() . '</a>';
echo '</div>';
}

编辑2

我对Zend_Navigation的理解是,先准备容器,然后将其放入partial。

            $nav = $this->navigation()->menu()->setOnlyActiveBranch(true)->getContainer();
echo $this->navigation()->menu()->renderPartial($nav, array('/partials/menu.phtml', 'default'));

在容器中设置 set{Min/Max}Depth,parentRendering 当将其传递到任何地方时没有用时,有什么意义?

最佳答案

我使用这个代码:

<?=$this->navigation()->menu()->renderPartial(null, 'shared/menu.phtml')?>

您应该将 true 传递给方法 $page->isActive(true),以便也能深入运行。

在你的部分

foreach ($this->container as $page) {
$active = $page->isActive(true);
if (count($page->getPages())) {
foreach ($page->getPages() as $subPage) {
$active = $subPage->isActive(true);
echo '<div class="item">';
echo '<a class="'. ($active ? 'active' : '') .'" href="' . $this->baseUrl($subPage->getHref()) . '">' . $subPage->getLabel() . '</a>';
echo '</div>';
}
}
}

在第二个 foreach 之前,您可以添加检查是否以及何时显示子菜单。

我的 2 美分。

编辑

试试这个:

$partial = array('partials/menu.phtml', 'default');
echo $this->navigation()->menu()
->setMinDepth(1)
->setMaxDepth(1)
->setRenderParents(false)
->setOnlyActiveBranch(true)
->setPartial($partial)
->render();

关于zend-framework - Zend_Navigation 渲染子菜单部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12905368/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com