#php #symfony #orocommerce
Вопрос:
У меня есть несколько неудачных попыток создать пакет без успешного результата.
Сначала я устанавливаю orocommerce, как информацию о https://doc.oroinc.com/4.1/backend/setup/dev-environment/ (проект форка на https://github.com/juankav89/orocommerce-application, выполните установку composer —prefer-dist и php bin/console oro:установите —env=prod —тайм-аут=2000
Затем я создаю папки и файлы пакета, и когда пытаюсь активировать пакет, покажите мне следующий результат (первая команда «Очистить кэш» и следующая команда «удалить php bin/console oro:активы:сборка боготы«):
Building assets.
'/usr/local/bin/node' './node_modules/webpack/bin/webpack.js' '--hide-modules' '--env.theme=my_theme' '--env.stats=' '--env.symfony=dev' '--colors'
/home/juan/atlantictSoft/orocommerce/node_modules/webpack-cli/bin/cli.js:93
throw err;
^
Error: Theme "my_theme" doesn't exists. Existing themes:admin.demo, admin.oro, blank, embedded_default, default, custom, view-switcher
Когда я пытаюсь установить пакет (с помощью команды php bin/console oro:assets:install), не показывайте мне ошибки, но не включайте пакет в php bin/консоль отладка:контейнер —параметр=ядро.пакеты —формат=результат json.
Далее я включаю структуру моего пакета:
orocommerce
...
├── src
│ ├── AppCache.php
│ ├── AppKernel.php
│ ├── Bogota
│ │ └── Bundle
│ │ └── NewBundle
│ │ ├── BogotaNewBundle.php
│ │ └── Resources
│ │ └── config
│ │ └── oro
│ │ └── bundles.yml
│ ├── MedellinBundle
│ │ └── Resources
│ │ ├── public
│ │ │ └── images
│ │ │ ├── descarga.png:Zone.Identifier
│ │ │ └── logo.png
│ │ └── views
│ │ └── layouts
│ │ └── first_theme
│ │ └── theme.yml
│ └── teste
│ └── Bundle
│ └── TesteBundle
│ ├── Resources
│ │ ├── config
│ │ │ └── teste
│ │ │ ├── bundles.yml
│ │ │ └── bundles.yml:Zone.Identifier
│ │ ├── public
│ │ │ └── theme
│ │ │ ├── favicons
│ │ │ │ ├── favicon.ico
│ │ │ │ └── favicon.ico:Zone.Identifier
│ │ │ ├── images
│ │ │ │ ├── logo.svg
│ │ │ │ └── logo.svg:Zone.Identifier
│ │ │ └── scss
│ │ │ ├── components
│ │ │ │ ├── top-bar.scss
│ │ │ │ └── top-bar.scss:Zone.Identifier
│ │ │ ├── settings
│ │ │ │ ├── _colors.scss
│ │ │ │ ├── _colors.scss:Zone.Identifier
│ │ │ ├── styles.scss
│ │ │ ├── styles.scss:Zone.Identifier
│ │ │ └── variables
│ │ │ ├── top-bar-config.scss
│ │ │ └── top-bar-config.scss:Zone.Identifier
│ │ └── views
│ │ └── layouts
│ │ └── theme
│ │ ├── config
│ │ │ ├── assets.yml
│ │ │ └── assets.yml:Zone.Identifier
│ │ ├── theme.yml
│ │ └── theme.
Я проверяю, правильно ли определены пространства имен и имена файлов; ex Bogota Bundle:
src/Богота/Пакет/NewBundle/Ресурсы/конфигурация/oro/пакеты.yml
bundles:
- BogotaBundleNewBundleBogotaNewBundle
src/Bogota/Bundle/NewBundle/BogotaNewBundle.php
<?php
namespace BogotaBundleNewBundle;
use SymfonyComponentHttpKernelBundleBundle;
class BogotaNewBundle extends Bundle
{
}
Наконец я пытаюсь проверить «http://localhost/app_dev.php/» но верните 4040 и **http://localhost/admin/config/system в конфигурации->Торговля->>Дизайн->>>Тема**, но не показывать пользовательские пакеты
Ответ №1:
Пожалуйста, обратите внимание, что единственным правильным определением пакета в предоставленной структуре является BogotaNewBundle. Определения, сделанные в нем, верны, и он успешно зарегистрирует пакет в приложении.
Элемент MedellinBundle не является пакетом Symfony, а что касается темы Oro, то она зависит от пакета и должна быть определена внутри него.
Рекомендуется изучить следующий https://doc.oroinc.com/master/frontend/storefront/quick-start содержание статьи немного точно, а затем все остальные темы в https://doc.oroinc.com/master/frontend/storefront
Вот ссылка на архив простого рабочего пакета с соответствующими определениями тем.
!!!Обратите внимание на папку src/Bogota/Bundle/NewBundle/Ресурсы/представления/макеты/first_theme. first_theme-это имя темы, и оно должно использоваться с командой php bin/console oro:assets:build, если вы хотите запустить сборку только для нее. Также эта команда ожидает, что ресурсы будут установлены в общую папку с помощью команды php bin/console oro:assets:install раньше. Запуск oro:активы:установка включает в себя процедуры сборки.