我正在我的网站中设置zend导航,在本地开发时遇到了问题。
我的导航.xml
<?xml version="1.0" encoding="UTF-8"?>
<config>
<nav>
<page1>
<label>Site</label>
<uri>/</uri>
<pages>
<page1_1>
<label>Home</label>
<uri>/</uri>
</page1_1>
<page1_2>
<label>Contact</label>
<uri>/contact</uri>
</page1_2>
</pages>
</page1>
</nav>
</config>
呈现菜单
<?=$this->navigation()->menu();?>
HTML输出
<ul class="navigation">
<li class="active">
<a href="/">Site</a>
<ul>
<li>
<a href="/">Home</a>
</li>
<li class="active">
<a href="/contact">Contact</a>
</li>
</ul>
</li>
我在一个子文件夹中开发该项目示例:http://localhost/project/public.zend导航uri将链接显示为http://localhost/contact已安装,共http://localhost/project/public/contact
如何将我的baseUrl应用于uri?
您可以在xml文件中指定整个路由:
<home>
<label>Home</label>
<route>home</route>
<module>default</module>
<controller>index</controller>
<action>index</action>
</home>
这是一个命名的路由以及由模块、控制器和操作指定的路由。
如果您使用的是生成url的标准方式,您可以在生成url之前设置基本url,如下所述。
http://framework.zend.com/manual/en/zend.controller.router.html#zend.controller.router.rewritebase
$request->setBaseUrl('/project/public/');