Magento - Атрибут товара для предложения / заказа на основе пользовательского ввода

Резюме

Я хочу создать атрибут продукта, который не сохраняется в продуктах или не отображается на странице редактирования продукта, как обычные атрибуты продукта. Вместо этого я хочу, чтобы он сохранялся в элементах заказа / предложения и отображался в заказах, счетах-фактурах и т. Д. Он также должен быть настроен клиентом во внешнем интерфейсе перед добавлением продукта в корзину.

Подробности

  • Как и в случае с Пользовательскими параметрами , элемент формы должен быть добавлен на страницу продукта внешнего интерфейса.
    • В отличие от пользовательских параметров, это не фактический атрибут продукта. Он не должен отображаться на страницах администрирования продукта или наборах атрибутов.
    • От покупателя требуется указать действительное значение. Мне нужно выполнять проверку на стороне сервера.
    • Я хочу иметь шаблон .phtml, генерирующий его html. В настоящее время я могу переопределить app / design / frontend / base / default / catalog / product / view / type / default.phtml с удовлетворительными (дизайн) результатами. Однако я не знаю, как зафиксировать, проверить и в конечном итоге сохранить его ценность.
  • Значение этого элемента формы должно быть сохранено с товарной позицией предложения / заказа.
    • Это значение должно отображаться во всех без исключения счетах, заказах и торговых электронных письмах.
    • Я хочу управлять выводом с помощью шаблона или, по крайней мере, иметь возможность возвращать строку, которая используется для отображения значения

Мои вопросы

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

Обновление 1

Я обнаружил, что могу запустить этот код на каталог / модель продукта (и, вероятно, sales / quote_item ) во время таких событий, как sales_quote_item_qty_set_after

$infoBuyRequest = $product->getCustomOption('info_buyRequest');
$buyRequest = new Varien_Object(unserialize($infoBuyRequest->getValue()));
$myData = $buyRequest->getMyData();

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

Я подозреваю, что этот info_buyRequest сохраняется вместе с предложениями и заказами. Если так, то это частично решило мои проблемы 1 и 2. Однако я до сих пор не знаю, где можно запустить этот код, и я не знаю, как отобразить его на страницах бэкэнд-ордеров / цитат / отчетов. Также я верю, поскольку это хранится как сериализованное значение в базе данных, будет наиболее сложно получить коллекции элементов предложений / заказов на основе моих пользовательских данных.

63
задан hakre 18 April 2013 в 15:00
поделиться