Как получить Kohana base_url в шаблоне - PullRequest
0 голосов
/ 24 сентября 2010

В Кохана 3 bootstrap.php можно определить base_url:

Kohana::init(array(
    'base_url'   => '/foo/',
));

Это обычно означает также перемещение /js/, /css/ и других носителей на эту базуреж как /foo/js/, /foo/css/.Мой вопрос не в том, чтобы обсуждать хорошие или плохие из них.

Есть ли в Кохане встроенный способ доступа к base_url из шаблона (точно так же как в Django вы можете использовать {{ MEDIA_URL }}css/)?

Ответы [ 2 ]

6 голосов
/ 24 сентября 2010

Вы можете вывести базовый URL как URL::base:

<?php echo URL::base(); ?>

Если вы выводите URL относительно того, что вам, вероятно, нужно URL::site:

<?php echo URL::site('css/'); ?>

Контроллеры шаблонов Kohana 3 используют класс View для визуализации шаблонов.Представления являются обычными php-файлами и не имеют специального синтаксиса, поэтому просто используйте обычные теги <?php ... ?>, как указано выше.Класс View позволяет вам объявлять переменные для использования в этом представлении перед его отображением.

2 голосов
/ 15 сентября 2011

Один хороший способ заключается в том, что в представлении макета в начале HTML-кода, который вы помещаете рядом с тегом <title>:

<base href="<?php echo URL::base(TRUE) ?>">

, а затем вы загружаете ресурсы следующим образом:

<img src="assets/images/img.jpg" alt="">

Тег HTML <base> - это способ определения базового URL для всех ресурсов на странице.Таким образом, вы загружаете свое изображение, расположенное в /foo/assets/images/img.jpg, не совершая URL::base() вызов в каждом теге.Надеюсь, это поможет.

...