【问题标题】:Kohana 3 - How should I handle urls within viewsKohana 3 - 我应该如何处理视图中的网址
【发布时间】:2011-09-12 18:15:09
【问题描述】:

我正在运行 Kohana 3(最新),但我不知道如何处理视图中的链接。例如。我的基本网址是http://localhost/foo/。我有一个类似的菜单,并且此菜单在 bar 和 baz 页面之间共享:

<a href="bar">Bar</a>
<a href="baz">Baz</a>

如果我在我的主页中,我的链接是:

http://localhost/foo/bar
http://localhost/foo/baz.

这些链接是相同的。如果我点击条形链接,例如我的链接将类似于:

http://localhost/foo/bar/bar
http://localhost/foo/bar/baz.

怎么了?我应该如何处理网址? 谢谢。

【问题讨论】:

    标签: url hyperlink kohana uri kohana-3


    【解决方案1】:

    最简单的方法是使用:

    URL::site('bar');
    

    这将创建一个相对 URL,包括 base_path 和 index.php(如果已启用,则为 ofc)。

    您也可以使用Route::url() 使用路由来生成相同的东西。

    Route::url('route_name', array('id' => $id));
    

    这不仅涉及浏览量,还涉及所有附加链接。

    【讨论】:

    • 但是我应该直接在视图中使用它吗?谢谢
    • 如果您不使用视图模型(Musache/Kostache),那么可以。
    【解决方案2】:

    你也可以使用 Kohana 的 Html::anchor() 方法:

    echo HTML::anchor('bar', 'Bar');
    

    【讨论】:

    • 是的!如果您在视图中使用 HTML 或 FORM 助手,则可以。
    【解决方案3】:

    您也可以在您的&lt;head&gt; 中包含&lt;base&gt; 标签,如下所示:

    <head>
      ...
      <base href="<?php echo url::base(); ?>" />
      ...
    </head>
    

    在您的视图中,您使用的每个链接都将与&lt;base&gt; 相关,而不是与当前地址相关。这样&lt;a href="bar"&gt;Bar&lt;/a&gt; 将始终指向http://localhost/foo/bar,无论您在哪个页面上使用它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-07-23
      • 2016-02-17
      • 1970-01-01
      • 1970-01-01
      • 2015-05-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多