如何在Phalcon视图中添加特定于页面的java脚本

时间:2017-03-25 17:12:06

标签: php phalcon

我想将特定于页面的jquery / javascript添加到phtml视图中的所有视图中 如何在Phalcon中做到这一点?

提前致谢

1 个答案:

答案 0 :(得分:2)

以下是两种包含页面特定资产的方法。

1)使用 Phalcon Assets Manager

class NewsController extends Controller
{
    public function index()
    {
        // Add some local CSS resources
        $this->assets->addCss("css/style.css");
        $this->assets->addCss("css/index.css");

        // And some local JavaScript resources
        $this->assets->addJs("js/jquery.js");
        $this->assets->addJs("js/bootstrap.min.js");
    }
}

查看:

<html>
    <head>
        <title>Some amazing website</title>

        {{ assets.outputCss() }}
    </head>

    <body>
        <!-- ... -->

        {{ assets.outputJs() }}
    </body>
<html>

2)在模板中创建一个简单的for循环,并从控制器中的特定操作传递文件名。

class NewsController extends Controller
{
    public function index()
    {
        $this->view->specificJavascripts = ['someFile', 'otherFile']
    }
}

在我的_footer部分:

{% if specificJavascripts  is defined %}
    {% for script in specificJavascripts  %}
        <script src="{{ static_url('frontend/js/'~ script ~'.js') }}"></script>
    {% endfor %}
{% endif %}

我个人更喜欢这种变体,因为我使用自己的npm模块来缩小和贬低我的资产。