2010-12-07 13 views
1

Я ищу способ добавления продукта в корзину без отображения его.Magento (PHP): Добавить продукт в корзину

Пример:

Новый заказ клиента -> приветственное письмо в корзину, но клиент оленья кожа видеть.

Цена добавленной стоимости всегда 0 €, поэтому она не изменила общую сумму корзины покупок.

Решение должно быть изменено как можно меньше.

Любая идея?

Спасибо!

(Извините за мой английский очень плохо ...)

ответ

0

если это 0, то почему бы добавить его в корзину просто добавить его в виде сообщения на странице корзины, добавив его в корзину шаблона или инъекционного свой собственный блок этот шаблон

+0

Потому что добавленный продукт должен быть отправлен в erp, и клиент не должен знать, что получает дополнительный «продукт». – timopeschka 2010-12-07 08:33:55

2

два варианта:

  1. Определить новый тип продукта, который расширяет виртуальный тип продукта в Magento, а затем использовать пользовательские средства визуализации элементов для Checkout и корзина, которая не вырабатывает никакого HTML. Вот полезный tutorial для этого процесса.

  2. Определить новый логический атрибут продукта, называемый «cart_visibility» или что-то в этом роде, переопределить DOCROOT\app\design\frontend\base\default\template\checkout\cart\item\default.phtml в вашей собственной теме и проверить это значение перед выдачей атрибутов элемента, например. в строке 28:

    <?php if($_item->getCartVisibility(){ ?>

Не забудьте закрыть скобку в конце файла, очевидно.

+0

Учитывая это немного дальше, не нужно ли ему также модифицировать логику «нет предметов в корзине»? И глобальный блок «Х элементов в корзине»? Первоначальная идея кажется хуже и хуже, чем больше я думаю об этом. – 2010-12-07 15:51:45

+0

@ Джосеф, вы правы, наблюдатель при завершении проверки - лучший вариант. Перед этим нет никакой ценности в том, чтобы иметь его в тележке, только сложность. – 2010-12-07 21:32:23

3

Я бы сказал, чтобы немного изменить формулировку и добавить ее к заказу непосредственно перед сохранением заказа. Пока котировка конвертируется в заказ (sales_model_service_quote_submit_before - одно из хороших событий здесь, но есть и другие), добавьте продукт в заказ.

Таким образом, вам не нужно взломать попытку скрыть предметы в корзине, и эффект будет таким же.

Смежные вопросы