Как добавить параметры персонализации для каждой позиции на странице корзины Magento?

Нам необходимо создать страницу корзины, которая позволит клиентам персонализировать свои продукты в соответствии с заранее определенными параметрами (см. Изображение каркаса здесь: ). Персонализация должна быть на странице корзины для удобства пользователей.

С технической точки зрения, каков наилучший способ создания такого типа функций? Мне предложили взглянуть на атрибуты, но я чувствую, что они не обеспечивают требуемый уровень персонализации, и я также не уверен, как найти эти параметры на странице корзины.

Любая помощь и совет будут очень признательны.

1 ответ

Похоже на боль. На самом деле это огромная модификация, поэтому я бы вернулся и проверил требования, так как это изгибает структуру в направлениях, в которые она не хочет идти. Я включаю основные подводные камни, которые я могу видеть ниже для справки.

Хорошим вариантом для хранения параметров вместе с заказом (и, возможно, для изменения цены продукта на основе выбранных параметров) является использование пользовательских параметров в самих продуктах каталога. Они будут сохранены вместе с заказом и уже отображаются во всех инструментах администратора для работы с заказами.

Это оставляет нежелательную задачу добавления их на странице корзины. Они обычно добавляются на страницу просмотра каталога, поэтому, если вы не хотите, чтобы они отображались на этой странице, вам необходимо удалить их из шаблона представления. При этом вам, вероятно, также понадобится сделать опции необязательными, чтобы Magento позволял пользователю добавлять товар в корзину.

Затем измените шаблоны "линии" корзины, чтобы они отображали любые параметры товаров, пока товары находятся в корзине. Вы не упоминаете, нужно ли пользователю что-либо щелкать, чтобы сохранить свои параметры, поэтому, по-видимому, вам нужно будет взломать JS, чтобы сохранить параметры, когда в поле есть событие размытия. Создайте новый контроллер / действие, которое принимает значение параметра и cart_item_id и сохраняет его обратно в корзину. Пока опции являются опциональными, Magento должен позволять вам сохранять их по одному. Если требуется обновление цен, обязательно перезагрузите итоги.

Если параметры действительно являются необязательными, это должно охватывать большинство ваших баз. Если они действительно необходимы, вам нужно добавить проверку к кнопкам "оформить заказ", которая вручную проверяет, все ли параметры учтены, и в противном случае возвращает пользователя обратно в корзину.

Далее изображение. В очень оптимистичном мире клиент не требует, чтобы наложения текста выполнялись правильным шрифтом. Это наивное предположение. Скорее всего, вам нужно будет создать еще один контроллер / действие, которое захватит параметры продукта, которые уже были выбраны, и отобразит изображения текста. Абсолютно разместите эти элементы над изображением продукта на своем окне наложения, и вы получите хорошее приближение изображения.


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

Последнее замечание: атрибуты не являются хорошим способом решения этой проблемы. Каждый продукт может иметь только одно значение для атрибута, поэтому каждый клиент не сможет настроить свои продукты.

Надеюсь, это поможет!

Спасибо джо

Другие вопросы по тегам