Magento - 견적 및 주문에 사용자 정의 제품 속성 추가
소개
Magento 사용자가 사용자 정의 속성을 사용하여 기능을 확장할 수 있는 사용자 정의 가능한 플랫폼을 제공합니다. 이 가이드에서는 견적 및 주문 품목용으로 특별히 설계된 제품 속성을 생성하여 사용자가 결제 프로세스 중에 이 속성을 구성하고 캡처할 수 있도록 하는 방법을 보여줍니다.
속성 생성 및 추가
주문에서 속성 유지
속성 표시
추가 고려 사항
예제 코드
이벤트 관찰자 후 카탈로그 제품 로드
<code class="php">public function catalogProductLoadAfter(Varien_Event_Observer $observer) { // Get the product $product = $observer->getProduct(); // Get the extra options $options = $action->getRequest()->getParam('extra_options'); // Add the extra options to the product $additionalOptions = array(); if ($additionalOption = $product->getCustomOption('additional_options')) { $additionalOptions = (array) unserialize($additionalOption->getValue()); } foreach ($options as $key => $value) { $additionalOptions[] = array( 'label' => $key, 'value' => $value, ); } $product->addCustomOption('additional_options', serialize($additionalOptions)); }</code>
판매 견적 항목을 주문 항목 이벤트 관찰자로 변환
<code class="php">public function salesConvertQuoteItemToOrderItem(Varien_Event_Observer $observer) { // Get the quote item and order item $quoteItem = $observer->getItem(); $orderItem = $observer->getOrderItem(); // Get the additional options from the quote item $additionalOptions = $quoteItem->getOptionByCode('additional_options'); // Set the additional options on the order item $options = $orderItem->getProductOptions(); $options['additional_options'] = unserialize($additionalOptions->getValue()); $orderItem->setProductOptions($options); }</code>
템플릿의 사용자 정의 속성 표시
<code class="php">// Get the product options $options = $_item->getOptions(); // Check if additional_options is set if (isset($options['additional_options'])) { // Get the additional options $additionalOptions = $options['additional_options']; // Add a placeholder row for the custom attribute echo '<tr> <td class="options label" title=""><span>' . $this->__('Custom Attribute') . '</span></td> <td class="options value" title=""> <span>' . $additionalOptions[0]['value'] . '</span> </td> </tr>'; }</code>
위 내용은 Magento에서 견적 및 주문에 사용자 정의 속성을 추가하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!