当我使用登山扣库时,我的css和js文件被附加到页面顶部。有没有办法指定文件应该附加到哪里,也许尝试将文件作为数组发送到我的视图文件?
谢谢
根据你如何改变你的观点,可能会略有不同,但对于传统的、乏善可陈的方式,这里有一个例子:
家庭控制器:
public function index()
{
$this->carabiner->css('default.css')
$this->carabiner->js('custom.js');
$data['assets'] = $this->carabiner->display_string('both');
$this->load->view('templates/header', $data);
$this->load->view('home/index', $data);
$this->load->view('templates/footer');
}
页眉视图:
<html>
<head>
<title>Title of Page</title>
<?php echo $assets; ?>
</head>
...
这是我对
登山扣、无缓冲输出的主要烦恼之一。每个输出函数echo
返回值而不是 ..归还它。
在不入侵库的情况下(我个人会这样做),这里有一个如何做你要求的例子:
ob_start();
$this->carabiner->display('css');
$css = ob_get_clean();
现在,您有一个带有 js/css 标记输出的变量,您可以发送到您的视图文件或模板。如果没有输出缓冲,这会立即将标签打印到输出。请注意,如果需要,另一种解决方法是确保在需要输出函数之前不要调用它们,就像在模板本身中一样。
如果您想永久解决此问题,请浏览登山扣库并将每个echo $some_return_value;
实例替换为return $some_return_value;
(任何输出函数的最后一行)。有很多,所以这需要一点时间。
至于返回数组,我不太确定 - 我从来没有用登山扣走那么远(不喜欢它)。希望这仍然有帮助。祝你好运!
阅读有关输出缓冲的更多信息:http://php.net/manual/en/book.outcontrol.php