Shopware: Как добавить новое поле в существующий сторонний плагин - PullRequest
0 голосов
/ 30 октября 2019

Я хочу расширить существующий сторонний плагин через другой плагин и добавить новое поле в бэкэнд (флажок). Я не мог найти ответ, как расширить таблицы другого плагина.

Я попробовал 'shopware_attribute.crud_service', но это не сработало, я получил информацию, что "Предоставленная таблица не является таблицей атрибутов". Я следовал примеру из https://developers.shopware.com/developers-guide/plugin-extension-by-plugin/ Но в этих примерах новый тип опции использует тот же столбец и не расширяет базу данных новым полем

Shopware 5.5.10

1 Ответ

0 голосов
/ 07 ноября 2019

Я бы очень хотел дать вам полезный ответ, но это просто беспорядок.

Это возможно, добавив таблицы к атрибутам. Вы должны сгенерировать модели атрибутов для конкретной таблицы, например $this->container->get('models')->generateAttributeModels(['my_custom_table_one','my_custom_table_two']);

. В дополнение к этому вы должны перезаписать Shopware\Bundle\AttributeBundle\Service\TableMapping. Для того, чтобы создать действие, определяющее ваши таблицы, с моделью, идентификаторами, ключами и т. Д., Создайте пользовательский AttributeLoaderService для получения всех атрибутов.

Лучшее, что вы можете сделать, - это заглянуть внутрь магазина, чтобы получитьвсе необходимые места и классы для создания атрибутов.

Также вам нужно переписать extjs другого плагина и загрузить таблицы атрибутов внутри представлений. Я бы начал с таблиц, которые создал мой плагин, чтобы быть в четком начале.

...