Phalcon - 资产管理 - 经理中不存在该集合

时间:2016-03-16 12:48:59

标签: php phalcon

在我的网站上,我有一些带有jquery灯箱的页面和一些没有灯箱的页面,用于加载我在控制器功能中使用的包,后者加载包并将其分配给占位符。

public function loadJSLightbox2()
{
    $this->assets
        ->collection('lightboxJs')
        //->setPrefix($this->config->site->cloud_url)
        ->addJs('web/dist/lightbox2/dist/js/lightbox.min.js');
    $this->assets
        ->collection('lightboxCss')
        //->setPrefix($this->config->site->cloud_url)
        ->addCss('web/dist/lightbox2/dist/lightbox.min.css');
}

然而,在我的伏特主模板(主模板)中,我已经定义了如下所示的占位符,

 {{ assets.outputJs('lightboxJs') }}
 {{ assets.outputCss('lightboxCss') }}

只要我们在加载页面时调用loadJSlightbox2函数,这就可以正常工作。在我不需要加载插件的页面中(这两个资产都是空的)我得到的错误如下所示。

Phalcon \ Assets \ Exception:管理中不存在该集合

如何使用我的网络应用程序中的phalcon资产管理工具归档此可选插件行为?

1 个答案:

答案 0 :(得分:0)

我使用以下代码修复了该问题,

{% for key, collection in assets.getCollections() %}
    {% if key == 'origin' %}
        {{ assets.outputJs('origin') }}
    {% endif %}
    {% if key == 'lightboxJs' %}
        {{ assets.outputJs('lightboxJs') }}
    {% endif %}
    {% if key =='colorboxJs' %}
        {{ assets.outputJs('colorboxJs') }}
    {% endif %}
{% endfor %}