Как добавить параметры персонализации для каждой позиции на странице корзины Magento? - PullRequest
1 голос
/ 27 августа 2010

Нам необходимо создать страницу корзины, которая позволяет клиентам персонализировать свои продукты в соответствии с предварительно определенными параметрами (см. Изображение каркаса здесь: http://i.stack.imgur.com/OY5XF.png). Для удобства пользователей персонализация должна быть на странице корзины.

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

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

1 Ответ

1 голос
/ 27 августа 2010

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

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

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

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

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

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


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

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

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

Спасибо, Джо

...