Kohana 3 - 我应该如何在视图中处理网址

时间:2011-06-10 19:26:02

标签: url hyperlink kohana uri kohana-3

我正在运行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.

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

3 个答案:

答案 0 :(得分:2)

最简单的方法是使用:

URL::site('bar');

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

您也可以使用Route::url()使用路线生成相同的内容。

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

这不仅涉及视图,而是涉及所有附加链接。

答案 1 :(得分:2)

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

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

答案 2 :(得分:0)

您还可以在<base>中添加<head>标记,如下所示:

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

在您的视图中,您使用的每个链接都相对于<base>而不是当前地址。这种方式<a href="bar">Bar</a>始终指向http://localhost/foo/bar,无论您使用哪个页面。