2012-05-08 34 views
8

Cách tạo loại tùy chọn tùy chỉnh sản phẩm mới trong Magento, ví dụ tôi phải cung cấp loại tùy chọn hình ảnh mới trong Magento lấy hình ảnh từ bảng mô-đun tùy chỉnh của tôi và tôi muốn gán hình ảnh đó cho trường hình ảnh tùy chọn tùy chỉnh của tôi.cách tạo loại tùy chọn tùy chỉnh mới trong Magento?

+0

Để xem câu trả lời, hãy xem bài viết này: http://www.webmasterbulletin.net/2011/04/magento-programmatically-add-custom-options/1417 cũng như câu hỏi sau về cập nhật tùy chọn tùy chỉnh: http: // stackoverflow.com/questions/10798158/how-to-update-custom-options-programatically-in-magento – feeela

+1

có điều này tạo tùy chọn tùy chỉnh mới cho các sản phẩm không phải tùy chọn tùy chỉnh mới loại như có một tùy chọn tùy chọn và bây giờ tôi muốn tạo tùy chọn tùy chỉnh mới loại hình ảnh – Mufaddal

+1

Xin lỗi - Tôi đã hiểu sai câu hỏi trước tiên… – feeela

Trả lời

2

Tôi đã quên câu hỏi này nhưng tôi cần lại để tạo loại tùy chọn tùy chỉnh mới trong dự án khác của mình. Tôi đã tạo loại tùy chọn tùy chỉnh mới bằng cách sử dụng liên kết này. http://magento.ikantam.com/qa/custom-input-types-custom-options

Giải pháp hơi dài và không thể đặt toàn bộ mã ở đây, vì vậy tôi chỉ chia sẻ liên kết này, đi qua liên kết này tôi đã tạo loại tùy chọn mới dễ dàng, giải thích là tốt trong bài viết này.

Tôi đã sửa đổi một số thay đổi cho nhu cầu của mình.

Hy vọng điều này sẽ giúp ích một số.

Vì Dustin Graham cho biết cực kỳ phức tạp của nó.

+0

bạn có thể chia sẻ mã mô-đun của mình không? –

4

Như Dustin Graham đã nói, điều này rất phức tạp. Các bước đầu tiên:

  1. Thêm nút mới dưới global/catalog/product/options/custom/groups. Xem ví dụ trong /app/code/core/Mage/Catalog/etc/config.xml.

  2. Tạo khối mới để hiển thị tùy chọn tùy chỉnh của bạn.

  3. Viết lại Mage_Catalog_Model_Product_Option và triển khai lưu tùy chọn loại tùy chỉnh của bạn (saveOptions() phương pháp) và tải tùy chọn loại tùy chỉnh của bạn (getProductOptionCollection phương pháp).

Nếu loại tùy chỉnh của bạn không phải là rất tùy chỉnh :) - nó là đủ.

0

@Mufaddal cảm ơn vì đã chia sẻ liên kết này. Tôi muốn cung cấp một thay thế cho điều này vì nó đòi hỏi một chút kiến ​​thức.

Nếu bạn chỉ cố gắng để thay đổi cách thả xuống cụ thể (ví dụ) được hiển thị bạn cũng có thể ghi đè lên /template/catalog/product/view/options/type/select.phtml như sau:

' getOption()>

<dt><label<?php if ($_option->getIsRequire()) echo ' class="required"' ?>><?php if ($_option->getIsRequire()) echo '<em>*</em>' ?><?php echo $this->escapeHtml($_option->getTitle()) ?></label> </dt> 
<dd<?php if ($_option->decoratedIsLast){?> class="last"<?php }?>> 
<div class="input-box"> 
    <?php echo $this->getValuesHtml(); ?> 

    <?php if($_option->option_id == 2) : ?> 
       <script type="text/javascript"> 
        jQuery('#select_2').css('display', 'none'); 
       </script> 

       <?php foreach ($_option->getValues() as $_value) { ?> 
        <?php echo $_value->getTitle(); // the title of the option ?> 
        <?php echo $_value->getOptionTypeId(); // the id ?> 
       <?php } ?> 
       <!-- add custom code that triggers select in the background --> 

      <?php endif ?> 

    <?php if ($_option->getIsRequire()): ?> 
     <?php if ($_option->getType() == Mage_Catalog_Model_Product_Option::OPTION_TYPE_RADIO || $_option->getType() == Mage_Catalog_Model_Product_Option::OPTION_TYPE_CHECKBOX): ?> 
      <span id="options-<?php echo $_option->getId() ?>-container"></span> 
     <?php endif; ?> 
    <?php endif;?> 
</div> 
?

`

Sau đó, bạn có thể ẩn lựa chọn và tương tác với lựa chọn thông qua jQuery.

Các vấn đề liên quan