Layout zendframework 2布局中数据库的下拉菜单

Layout zendframework 2布局中数据库的下拉菜单,layout,zend-framework2,Layout,Zend Framework2,layout.phtml代码: <ul class="dropdown-menu"> <li><a tabindex="-1" href="<?php echo $this->url('project') ?>">Java</a></li> <li><a tabindex="-1" href="<?php echo $this-&

layout.phtml代码:

 <ul class="dropdown-menu">
                <li><a tabindex="-1" href="<?php echo $this->url('project') ?>">Java</a></li>
                <li><a tabindex="-1" href="<?php echo $this->url('project') ?>">android</a></li>
                <li><a tabindex="-1" href="<?php echo $this->url('project') ?>">Dot Net</a></li>
                <li><a tabindex="-1" href="<?php echo $this->url('project') ?>">Zend Framework</a></li>
            </ul>

这是我在布局中的当前菜单,但我想从数据库中创建下拉列表。我不知道如何将值从module.php传递到layout。有人帮我解决这个问题吗。有没有其他方法来执行它。在module.php中,我试图获取菜单名列表并将其传递给layout。

您检索UserService的代码不属于onBootstrap方法,因为它将在每次运行应用程序时执行,而不管您是否实际访问该模块。正如@Sam所建议的,此代码可能属于自定义viewhelper,可用于将菜单插入布局

如果您计划在菜单周围使用其他功能,例如基于ACL切换项目,那么您的方法可能涉及自定义导航容器和/或侦听器来获取和填充菜单

不幸的是,您的问题更多的是一个设计问题,可能只是对一些基本的ZF2概念缺乏充分的理解,而不是特定代码的实际问题。因此,你不会从社区得到太多的回应。您可能只需要查看ZF2文档和教程,当您在实现这些概念时遇到特定问题时再回来


了解查看帮助程序和依赖项注入;
 class Module
        {
              public function onBootstrap(MvcEvent $e) {
                $eventManager = $e->getApplication()->getEventManager();
                $moduleRouteListener = new ModuleRouteListener();
                $moduleRouteListener->attach($eventManager);

// this is for session


     $this->initSession(array(
                            'remember_me_seconds' => 180,
                            'use_cookies' => true,
                            'cookie_httponly' => true,
                                        ));
        // this code is not working(to get the values from db for menu list)
                $service = $this->getServiceLocator()->get('UserService');
            $result = $service->getmenulist();
                $this->layout()->myVariable = $result;
            }

    //other code
        }