OroCommerce Как найти геттер и сеттер для новых полей таблицы продуктов - PullRequest
1 голос
/ 03 марта 2020

Я использую Orocommerce 4.0 в своей системе Win10. Я начал создавать свой собственный пакет и использую Controller, Services et c. там. Я добавил несколько продуктов в таблицу oro_product, но мне понадобилось еще один или два атрибута / поля в таблице продуктов. Вручную я добавил эти атрибуты в таблицу продуктов в интерфейсе администратора и смог создать продукт с новыми полями, но проблема в том, как мне найти методы получения и установки этих новых полей. Потому что я хочу иметь возможность создавать новый продукт с новыми полями программно. Есть кто-то пробовал это? Дай мне знать, пожалуйста. Заранее спасибо.

Ответы [ 2 ]

1 голос
/ 04 марта 2020

Есть два способа достичь этого в Oro:

  1. Компонент Symfony PropertyAccess - https://symfony.com/doc/4.4/components/property_access.html

например

use Symfony\Component\PropertyAccess\PropertyAccess;
use Oro\Bundle\ProductBundle\Entity\Product;
$accessor = PropertyAccess::createPropertyAccessor();
$product = new Product();
$accessor->setValue($product, 'some_attribute', 'some_value');
Поиск получателей / установщиков в кэше

Oro генерирует прокси-классы в кэше для сущности продукта, в которой указаны получатели и установщики. Смотрите: oro / var / cache / dev / oro_entities / Extend / Entity / EX_OroProductBundle_Product. php

0 голосов
/ 10 марта 2020

Вам также следует рассмотреть возможность использования PhpStorm IDE с плагином Oro . Он обеспечивает автозаполнение для расширенных полей и атрибутов.

...