Кохана 3 - Как мне обращаться с URL-адресами в представлениях - PullRequest
2 голосов
/ 10 июня 2011

Я использую Kohana 3 (последняя версия) и не знаю, как обрабатывать ссылки в моих представлениях. Например. Мой базовый URL-адрес http://localhost/foo/. У меня есть подобное меню, и это меню используется совместно для бара и страницы базы:

<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? Спасибо.

Ответы [ 3 ]

2 голосов
/ 11 июня 2011

Также вы можете использовать метод Html :: anchor () Коханы:

echo HTML::anchor('bar', 'Bar');
2 голосов
/ 10 июня 2011

Самый простой способ - использовать:

URL::site('bar');

Это создаст относительный URL, включая base_path и index.php (если он включен, ofc).

Вы можететакже используйте Route::url(), чтобы создать то же самое, используя маршрут.

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

Это касается не только представлений, но и всех ссылок сайта.

0 голосов
/ 12 июня 2011

Вы также можете просто включить тег <base> в свой <head>, что-то вроде этого:

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

При этом, по вашему мнению, каждая используемая вами ссылка будет относиться к <base>, а не ктекущий адрес.Таким образом, <a href="bar">Bar</a> всегда будет указывать на http://localhost/foo/bar независимо от того, на какой странице вы его используете.

...