3

考虑以下两个文件:

// view/index.phtml
 echo \Phalcon\Tag::javascriptInclude("javascript/jquery.js"); 
// view/about/about.phtml
 echo \Phalcon\Tag::javascriptInclude("javascript/x.js");

关于将生成如下:

<script src="javascript/x.js">
<script src="javascript/jquery.js">

但是x.js文件是依赖的,jquery.js所以它应该放在它之前。

4

2 回答 2

4

假设您有以下结构:

app/views/index.phtml
app/views/about/index.phtml

app/views/index.phtml您可以在顶部定义以下内容

<?php echo \Phalcon\Tag::javascriptInclude("javascript/jQuery.js"); ?>
<?php echo \Phalcon\Tag::javascriptInclude("javascript/myother.js"); ?>

然后在app/views/about/index.phtml

<?php echo \Phalcon\Tag::javascriptInclude("javascript/x.js"); ?>

这将使jQuery.jsmyother.js脚本在执行之前加载x.js,因为x.js将在主视图中使用

<?php echo $this->getContent() ?>

或者,您可以在主视图中进行设置:

<?php echo \Phalcon\Tag::javascriptInclude("javascript/jQuery.js"); ?>
<?php echo \Phalcon\Tag::javascriptInclude("javascript/myother.js"); ?>
<?php if ($is_about) { echo \Phalcon\Tag::javascriptInclude("javascript/myother.js"); } ?>

在你的 About 控制器中

$this->view->setVar('is_about', TRUE);

高温高压

于 2012-10-21T20:03:22.993 回答
2

不确定它是否适合 OP 的用例,但对于其他搜索,此模式非常有用:

class MyController extends Phalcon\Mvc\Controller
{

    public function initialize()
    {
        $this->assets->addJs("/path/to/myjs.js");

    [...etc]

文档: http ://docs.phalconphp.com/en/latest/reference/assets.html

于 2014-09-18T16:40:56.207 回答