Как моделировать большой каталог с множеством различных типов продуктов и атрибутов в PimCore 5+ - PullRequest
0 голосов
/ 03 февраля 2019

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

Проблема 1: как смоделировать общие атрибуты товара, которые применяются ко всем товарам в каталоге.

Все товары в моем каталоге будут иметь название и описание, поэтому я подумал, что имеет смысл создать класс Product, содержащий эти поля, и сделать все мои конкретные классы продуктов подклассами этого класса Product, чтобы я не сталЯ должен добавить поля имени и описания к каждому подклассу индивидуально.

Я пытался настроить это, но в редакторе объектов конкретного подкласса поля макета, которые я добавил в общий суперкласс Product, не отображаются,Я что-то здесь упускаю?Должен ли мой подход действительно работать?Если нет, то какой будет подход PimCore к моделированию этого?

Проблема 2: как лучше всего моделировать продукты с несколькими вариантами, т.е.варианты более чем в одном измерении.

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

Мне интересно, возможно ли вообще сделать это вспособ, который позволяет мне указать 3 варианта цвета и 3 размера независимо друг от друга.Все примеры, которые я нахожу в документации, показывают мне полностью развернутое дерево объектов, охватывающее все параметры (например, 1 объект-футболка, с 3 подобъектами для каждого размера, каждый с 3 подобъектами для каждого цвета в этом размере).Хотя наследование данных помогает в управлении этой информацией, изменение доступных цветов все равно придется вносить один раз для каждого параметра размера.Я не могу себе представить, что нет лучшего способа настроить варианты объектов в нескольких измерениях в PimCore, но дни поиска ни к чему не привели.Я что-то здесь упускаю?Или PimCore заставляет вас создавать объекты / варианты для каждой комбинации опций продукта?Если нет, то каков подход PimCore к моделированию этого?

Я надеюсь, что кто-то с небольшим опытом в этой области захочет пролить свет на эти две проблемы.Большое спасибо !!

1 Ответ

0 голосов
/ 09 февраля 2019

Полученные очень полезные ответы на форумах PimCore от пользователя fash :

Проблема 1: Классы Pimcore DataObject не могут наследоваться друг от друга.Можно было бы создать один класс продукта (который содержит все общие атрибуты продукта), а затем использовать кирпичи объектов или группы хранилищ классификации для моделирования специфических для категории атрибутов.

Затем на уровне объекта соответствующий блок объекта илиГруппа хранилища классификации может быть добавлена ​​к объекту продукта (в зависимости от его категории или других критериев).

Выпуск 2 : Как вы уже заметили, стандартный способ работы с различными вариантамиПродукт заключается в создании экземпляра объекта для каждого варианта и использовании наследования данных для сокращения усилий по обслуживанию данных (как в демонстрационной версии).Кроме того, как уже отмечал Эндрю, добавление некоторых вспомогательных функций, таких как кнопка создания вариантов, легко возможно.

Причина, по которой мы в большинстве случаев создаем уникальный объект данных для каждого варианта, состоит в том, что обычно каждый SKU имеетуникальный номер продукта, а также с точки зрения электронной коммерции необходимо указывать точный вариант заказа.В качестве альтернативы вы, конечно, могли бы использовать структуры данных, такие как определения полей или блоки, чтобы следовать вашему подходу и иметь атрибуты (например, цвет, размер и т. Д.) И добавлять к ним несколько значений, а затем обрабатывать выходной канал при генерации варианта.Это действительно зависит от вашего варианта использования и вашей системы.

Гибридным решением было бы определение возможных вариантов с атрибутами вариантов, а затем генерация реальных вариантов объектов на лету, когда они заказаны.

...