1

我试图弄清楚如何使用 Anthony Male 的资产库,该库也用于 PyroCMS 仅通过控制器将某些资产加载到我的模板中。

我有一个加载特定文件的模板,并且根据控制器(例如登录控制器),我需要它在页脚底部注入 login.js 文件,该文件将在模板末尾加载。

有任何想法吗?

4

2 回答 2

1

您要求页脚底部,但我的回答对您有用。

我正在使用资产库,但不是你的,只是类似的,这就是我处理它的方式;

在我的控制器中;

/**
 * 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; ?>
于 2013-05-17T08:09:41.123 回答
1

引用 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();
于 2013-05-20T01:40:23.717 回答