0

Kohana 3 bootstrap.php中可以定义base_url

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

这通常意味着还将/js/,/css/和其他媒体移动到该基本目录,例如/foo/js/, /foo/css/。我的问题不是讨论这样的好坏。

Kohana 中是否有从模板访问base_url的内置方法(就像在Django中可以使用一样)?{{ MEDIA_URL }}css/

4

2 回答 2

6

您可以使用以下方式输出基本网址URL::base

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

如果您要输出一个相对于您可能想要的 url URL::site

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

Kohana 3 模板控制器使用 View 类来呈现模板。视图是普通的 php 文件,没有特殊的语法,所以只需使用<?php ... ?>上面的普通标签。View 类允许您在渲染之前声明要在该视图中使用的变量。

于 2010-09-24T10:50:36.537 回答
2

一种好方法是在您的布局视图中,在 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()在每个标签中进行调用即可加载位于的图像。我希望它有所帮助。

于 2011-09-14T20:39:55.293 回答