1

我正在我的网站中设置 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/contacthttp://localhost/project/public/contact

如何将我的 baseUrl 应用于 uri?

4

2 回答 2

1

您可以在 xml 文件中指定整个路由:

    <home>
        <label>Home</label>    
        <route>home</route>
        <module>default</module>
        <controller>index</controller>
        <action>index</action>
    </home>

这是一个命名路由,由模块、控制器、动作指定。

于 2012-02-17T07:06:12.463 回答
0

如果您使用生成 URL 的标准方式,您可以在生成它们之前设置基本 url,如此处所述。

http://framework.zend.com/manual/en/zend.controller.router.html#zend.controller.router.rewritebase

$request->setBaseUrl('/project/public/');
于 2012-02-16T18:18:28.413 回答