2016-04-15 4 views
0

Использование Symfony 2.7. Я сделал свое приложение в нескольких ядрах. Моя структура папок, как это:Symfony2 Assetic dump при использовании нескольких ядер

Project 
| 
+-- app/ 
| | 
| +-- candy/ // all config, parameters, kernel for candy application 
| +-- vegetable/ // all config, parameters, kernel for vegetable application 
|  
+-- src/ 
+-- bin/ 
+-- vendor/ 
| 
+-- web/ 
    | 
    +-- candy/ // all assets, images, js etc. for candy application 
    +-- vegetable/ // all assets, images, js etc. for vegetable application 

Теперь, когда я хочу установить активы я просто сделать:

php app/candy/console assets:install web/candy/ 

это работает, но когда я делаю:

php app/candy/console assetic:dump web/candy/ 

он ищет файлы в каталоге web/, а не в web/candy/bundles/../.

Почему это и каковы могут быть решения?

Мой base.html.twig:

{% block stylesheets %} 
    {% stylesheets 
    'bundles/mpshop/css/jquery-ui.css' 
    'bundles/mpshop/css/bootstrap.min.css' 
    'bundles/mpshop/css/style.css' 
    'bundles/mpshop/css/docs.css' 
    'bundles/mpshop/css/lightbox.css' 
    'bundles/mpshop/css/bootstrap-select.css' 
    'bundles/mpshop/css/style_custom.css' 
    'bundles/mpshop/css/responsive.css' 
    'bundles/mpshop/slick/slick.css' 
    'bundles/mpshop/slick/slick-theme.css' 
    'bundles/mpshop/css/fonts_googleapis.css' 
    filter='cssrewrite' 
    %} 
    <link rel="stylesheet" href="{{ asset_url }}" /> 

    {% endstylesheets %} 
    <link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css"> 
{% endblock %} 

{% block javascripts %} 
    {% javascripts 
    'bundles/mpshop/js/jquery-1.11.3.min.js' 
    'bundles/mpshop/js/jquery-ui.js' 
    'bundles/mpshop/js/migrate.js' 
    'bundles/mpshop/js/bootstrap.min.js' 
    'bundles/mpshop/js/bootstrap-select.js' 
    'bundles/mpshop/js/search.js' 
    'bundles/mpshop/js/ckeditor.js' 
    'bundles/mpshop/js/jquery.lightbox-0.5.js' 
    'bundles/mpshop/js/lightbox.js' 
    'bundles/mpshop/slick/slick.js' 
    'bundles/mpshop/js/custom.js' 
    'bundles/mpshop/js/scroll-to-top.js' 
    'bundles/mpshop/js/jquery.smooth_scroll.js' 
    %} 
    <script src="{{ asset_url }}"></script> 
    {% endjavascripts %} 

config.yml:

assetic: 
    debug:   "%kernel.debug%" 
    use_controller: "%kernel.debug%" 
    bundles:  [ EDBlogBundle, ApplicationEDBlogBundle ] 
    #java: /usr/bin/java 
    filters: 
     cssrewrite: ~ 

ответ

1

Вы должны установить "write_to" каталог в конфигурации для каждого ядра.

приложение/конфеты/конфиг/config.yml

assetic: 
    //... 
    write_to:    '%kernel.root_dir%/../../web/candy' 

приложение/овощи/конфиг/config.yml

assetic: 
    //... 
    write_to:    '%kernel.root_dir%/../../web/vegetable' 

Так же, как примечание стороны, почему это то, что вы используете несколько ядер?
Я слышал о возможности этого, но никогда не видел преимуществ, поэтому я заинтересован в мышлении.

+0

Aaaand это работает! Я использую несколько ядер для управления несколькими приложениями в одном проекте, которые будут использовать одну и ту же структуру базы данных и, в основном, такую ​​же функциональность, но будут иметь разные шаблоны и данные. Так, например, два разных домена под одним узлом www.car.com и www.phone .com на самом деле то же самое, кроме разных шаблонов и некоторых других параметров. – Dominykas55

+0

Рад, что это работает. Достаточно справедливо с ядрами. Я еще не попал в этот конкретный случай использования, поэтому мне не пришлось искать способ справиться с этим. – qooplmao