簡體   English   中英

Phalcon-資產管理-集合在管理器中不存在

[英]Phalcon - Asset Management - The collection does not exist in the manager

在我的網站上,我有一些帶有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');
}

但是在我的volt主模板(主模板)中,我定義了如下的占位符,

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

只要在加載頁面時調用此loadJSlightbox2函數,此方法就可以正常工作。 在不需要加載插件的頁面(這兩個資產為空)中,出現如下錯誤。

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

如何在我的Web應用程序中使用Phalcon資產管理工具來歸檔此可選插件的行為?

我使用以下代碼解決了該問題,

{% 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 %}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM