Пакет Easyadmin + SF 4: невозможно отобразить поле в форме - PullRequest
0 голосов
/ 14 января 2020

Я пытаюсь настроить страницу создания своего продукта и настроить форму. У меня есть 2 объекта: Product и ProductTranslations

База данных :

product enter image description here

product_translate enter image description here

Существует внешний ключ для product_id_id (не знаю, почему у меня дважды "id" ...)

Я хотел бы использовать некоторые поля product_translates, внутри my product.yaml (см. ниже)

Например, я бы хотел в своей форме добавить «описание». Вы знаете, как я могу это сделать, пожалуйста? Я могу легко использовать свойства "product", но не знаю, как это сделать с product_translate в файле yaml.

Большое спасибо !!!

easy_admin:
  entities:
    # the configuration of this entity is very verbose because it's used as
    # an example to show all the configuration options available for entities
    # check out the configuration of the other entities to see how concise
    # can be the configuration of your backend
    Product:
      class: App\Entity\Product
      label: 'Produits'
      list:
        ...
      form:
        title: 'Créer un produit'
        fields:
          - { property: 'univers', label: 'univers' }
          - { property: 'product_code', label: 'Référence', type: 'number' }
          - { property: 'category_id', label: 'Catégorie', type: 'easyadmin_autocomplete', type_options: { class: 'App\Entity\Product' } }
          - { property: 'is_cocktail', label: 'Est-ce un cocktail ?', type: 'checkbox' }
          - { property: 'is_active', label: 'Voulez vous le publier ?', type: 'checkbox' }
          - { property: 'alcohol_volume', label: 'Degré d''alcool', type: 'number' }
          - { property: 'created_at', label: 'Date de création', type: 'datetime' }
          - { property: 'photo', type: 'file', label: 'Uploader une photo', help: 'Sélectionner le fichier' }
      edit:
        ...

Окончательный результат: enter image description here

1 Ответ

0 голосов
/ 15 января 2020

Вы можете вложить другой тип формы в easy admin (если отношение @OneToOne) или добавить коллекцию ProductTranslate (если отношение @ManyToOne),
Первый вариант:

fields:
          - { property: 'univers', label: 'univers' }
          - { property: 'product_code', label: 'Référence', type: 'number' }
          - { property: 'category_id', label: 'Catégorie', type: 'easyadmin_autocomplete', type_options: { class: 'App\Entity\Product' } }
          - { property: 'is_cocktail', label: 'Est-ce un cocktail ?', type: 'checkbox' }
          - { property: 'is_active', label: 'Voulez vous le publier ?', type: 'checkbox' }
          - { property: 'alcohol_volume', label: 'Degré d''alcool', type: 'number' }
          - { property: 'created_at', label: 'Date de création', type: 'datetime' }
          - { property: 'photo', type: 'file', label: 'Uploader une photo', help: 'Sélectionner le fichier' }
          - { property: 'productTranslate', label: 'Description', type: ProductTranslateType }

Второй вариант

fields:
          - { property: 'univers', label: 'univers' }
          - { property: 'product_code', label: 'Référence', type: 'number' }
          - { property: 'category_id', label: 'Catégorie', type: 'easyadmin_autocomplete', type_options: { class: 'App\Entity\Product' } }
          - { property: 'is_cocktail', label: 'Est-ce un cocktail ?', type: 'checkbox' }
          - { property: 'is_active', label: 'Voulez vous le publier ?', type: 'checkbox' }
          - { property: 'alcohol_volume', label: 'Degré d''alcool', type: 'number' }
          - { property: 'created_at', label: 'Date de création', type: 'datetime' }
          - { property: 'photo', type: 'file', label: 'Uploader une photo', help: 'Sélectionner le fichier' }
          - { property: 'productTranslates', label: 'Product translates', type: collection, type_options: { entry_type: ProductTranslateType }

Конечно, вам необходимо указать полный путь (пространство имен + класс) к пользовательскому типу формы

...