控制器中的变量不会出现在视图中,并且视图助手不起作用:例如,我在控制器中定义了一个变量:
$this->view->title = "Title";
并在视图中打印:
echo $this->title;
变量“titles”的内容不会出现在页面中。
这是我的引导文件:
use ZFBootstrap\View\Helper\Navigation\Menu;
class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
{
protected function _initAutoload() {
require_once '../application/views/helpers/LoggedInAs.php';//need to include a view-helper
require_once '../application/plugins/AuthPlugin.php';
require_once '../application/configs/configAcl.php';
$frontController = Zend_Controller_Front::getInstance();
$frontController->registerPlugin($auth = new AuthPlugin());
$frontController->getRouter()->addDefaultRoutes();
$autoloader = Zend_Loader_Autoloader::getInstance();
$autoloader->setFallbackAutoloader(true);
$this->bootstrap('layout');
$layout=$this->getResource('layout');
$view=$layout->getView();
$config = new Zend_Config_Xml(APPLICATION_PATH. '/configs/navigation.xml', 'nav');
$container = new Zend_Navigation($config);
$view->registerHelper(new Menu(), 'menu');
$view->navigation($container);
Zend_View_Helper_Navigation_HelperAbstract::setDefaultAcl($acl);
$auth = Zend_Auth::getInstance();
$identity = $auth->getIdentity();
$role = ($auth->hasIdentity() && !empty($auth->getIdentity()->role))
? $auth->getIdentity()->role : 'guest';
Zend_View_Helper_Navigation_HelperAbstract::setDefaultRole($role);
$view->navigation()->menu()->render();
$view->navigation()->menu()->setMinDepth(1)->setUlClass('nav');
}
相反,如果我使用此代码
use ZFBootstrap\View\Helper\Navigation\Menu;
class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
{
protected function _initAutoload() {
require_once '../application/plugins/AuthPlugin.php';
require_once '../application/configs/configAcl.php';
$frontController = Zend_Controller_Front::getInstance();
$frontController->registerPlugin($auth = new AuthPlugin());
$frontController->getRouter()->addDefaultRoutes();
$autoloader = Zend_Loader_Autoloader::getInstance();
$autoloader->setFallbackAutoloader(true);
/*$this->bootstrap('layout');
$layout=$this->getResource('layout');
$view=$layout->getView();*/
$config = new Zend_Config_Xml(APPLICATION_PATH. '/configs/navigation.xml', 'nav');
$container = new Zend_Navigation($config);
/*$view = Zend_Layout::startMvc()->getView();
$view->registerHelper(new Menu(), 'menu');
$view->navigation($container);//->setAcl($acl)->setRole($auth->getStorage()->read()->role);
*/Zend_View_Helper_Navigation_HelperAbstract::setDefaultAcl($acl);
$auth = Zend_Auth::getInstance();
$identity = $auth->getIdentity();
$role = ($auth->hasIdentity() && !empty($auth->getIdentity()->role))
? $auth->getIdentity()->role : 'guest';
Zend_View_Helper_Navigation_HelperAbstract::setDefaultRole($role);
/*$view->navigation()->menu()->render();
$view->navigation()->menu()->setMinDepth(1)->setUlClass('nav');*/
}
一切正常除了导航。问题是,为什么我的导航不起作用以及如何修复它。