【问题标题】:Set current item into action, depending on matchig route (KnpMenuBundle)根据 matchig 路由 (KnpMenuBundle) 将当前项目设置为行动
【发布时间】:2012-10-05 04:59:19
【问题描述】:

我有这个构建器

namespace Telnet\CSSBundle\Menu;
use Knp\Menu\FactoryInterface;
use Symfony\Component\DependencyInjection\ContainerAware;
class Builder extends ContainerAware
{
    public function mainMenu(FactoryInterface $factory, array $options)
    {
        $menu = $factory->createItem('Main Menu');
        $menu->addChild('Главная', array('route' => 'pages_index'));
        $menu->addChild('Форум', array('uri' => '/forum'));
        $menu->addChild('Демки', array('route' => 'pages_dem'));
        $menu->addChild('SourceBans', array('uri' => '/sourcebans'));
        $menu->addChild('HLStatsX', array('uri' => '/hlstatx'));
        return $menu;
    }
}

如何在设置当前项目的任何操作中获取此菜单?

【问题讨论】:

    标签: symfony knpmenubundle


    【解决方案1】:

    你缺少这部分逻辑:

    $menu->setCurrentUri($this->container->get('request')->getRequestUri());
    

    【讨论】:

    • 致命错误:调用 /var/www/vhosts/css.ilimnet.ru/www/Symfony/src/Telnet/CSSBundle/Menu 中的未定义方法 Knp\Menu\MenuItem::setCurrentUri() /Builder.php 在第 14 行。我已经尝试过了。
    • 正在使用的Knp\Menu 的提交哈希是什么?
    • "knplabs/knp-menu": "2.0.*", "knplabs/knp-menu-bundle": "master"
    猜你喜欢
    • 2016-10-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-11
    • 1970-01-01
    • 2011-09-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多