我试图弄清楚如何使用 Anthony Male 的资产库,该库也用于 PyroCMS 仅通过控制器将某些资产加载到我的模板中。
我有一个加载特定文件的模板,并且根据控制器(例如登录控制器),我需要它在页脚底部注入 login.js 文件,该文件将在模板末尾加载。
有任何想法吗?
我试图弄清楚如何使用 Anthony Male 的资产库,该库也用于 PyroCMS 仅通过控制器将某些资产加载到我的模板中。
我有一个加载特定文件的模板,并且根据控制器(例如登录控制器),我需要它在页脚底部注入 login.js 文件,该文件将在模板末尾加载。
有任何想法吗?
您要求页脚底部,但我的回答对您有用。
我正在使用资产库,但不是你的,只是类似的,这就是我处理它的方式;
在我的控制器中;
/**
* Global header variable for header view
*
* @var array
* @access protected
*/
protected $header = array();
public function __construct() {
// it returns like : <script type="text/javascript" src="http://domain.com/assets/js/jquery-min.js"></script>
$this->header["jses"][] = js("jquery-min.js");
$this->header["jses"][] = js("jquery.autogrow-textarea.js");
}
public function index() {
// some code here
$this->load->view("header",$this->header);
// other views
}
在我的标题视图中;
<?php foreach ( $jses as $js ) echo $js; ?>
引用 Anthony Male 资产库的官方文档,可在此处找到:http: //docs.pyrocms.com/2.1/manual/developers/tools/assets
Javascript 文件可以使用以下命令添加到您的控制器中,其中 myfile.js 是您要包含的 javascript 文件,位于 assets/js/myfile.js。
// Will add assets/js/myfile
Asset::js('myfile.js');
// Will add assets/admin/js/myfile.js
Asset::js('admin::myfile.js');
默认情况下,Asset 会缩小这两个文件并将它们组合成一个文件(写入 assets/cache/.js)。要将此文件包含在您的页面中,请在您的视图中使用以下内容:
echo Asset::render_js();