如何在模板中获取Kohana base_url

时间:2010-09-24 10:34:35

标签: php templates kohana base-url

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/)吗?

2 个答案:

答案 0 :(得分:6)

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

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

如果您输出的网址相对于您可能需要的网址URL::site

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

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

答案 1 :(得分:2)

一个好方法是,在布局视图中,放在<title>标记附近的HTML标题中:

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

然后,您以这种方式加载资产:

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

HTML <base>标记是一种为页面中的所有资源定义基本URL的方法。这样,您就可以加载位于/foo/assets/images/img.jpg的图片,而无需在每个代码中进行URL::base()调用。我希望它有所帮助。