Zend 导航 Uri 和 BaseUrl

发布于 2025-01-05 22:30:10 字数 1498 浏览 1 评论 0原文

我正在我的网站中设置 zend 导航,但在本地开发时遇到了问题。

我的 navigation.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< /a>. zend 导航 uri 显示链接为 http://localhost/contact instated of http://localhost/project/public/contact

如何在 uri 上应用我的 baseUrl?

I am setting up zend navigation in my website and I've got a issue while developing locally.

My navigation.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>

Rendering the menu

<?=$this->navigation()->menu();?>

HTML Output

<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>

I develop the project in a subfolder Ex.: http://localhost/project/public. And zend navigation uri shows link as http://localhost/contact instated of http://localhost/project/public/contact

How could I apply my baseUrl over uri?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

痕至 2025-01-12 22:30:11

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

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

$request->setBaseUrl('/project/public/');

If you are using the standard way of generating URLs, you can set the base url before generating them as explained here.

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

$request->setBaseUrl('/project/public/');
我是有多爱你 2025-01-12 22:30:10

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

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

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

you can specify the whole route in your xml file:

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

this is a named route as well as specified by module, controller, action.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文