在 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/
)吗?
答案 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()
调用。我希望它有所帮助。