Thuộc tính đa sản phẩm tùy chỉnh không lưu trong quản trị viên


8

Tôi đã tạo thuộc tính multiselect sản phẩm tùy chỉnh thành công.

Nhưng khi tôi chỉnh sửa sản phẩm trong quản trị viên và chọn một số tùy chọn (quốc gia) thuộc tính multiselect của tôi và nếu tôi nhấp vào, hãy lưu thành công.

nhưng khi tôi mở lại cùng một sản phẩm thì nó không hiển thị trước các tùy chọn đã chọn. Điều đó có nghĩa là nó không lưu thuộc tính sản phẩm tùy chỉnh của tôi vào mô hình sản phẩm.

bạn có thể vui lòng giúp đỡ bất cứ ai. Tôi rất mệt mỏi. Và tôi đã cố gắng rất nhiều giờ. Tôi đang đặt ở đây.

tập tin etc / config.xml

<config>
    <modules>
        <Exinent_Shiplimit>
            <version>0.1.0</version>
        </Exinent_Shiplimit>
    </modules>

    <global>
    <models>
       <checkout>
         <rewrite>
           <type_onepage>Exinent_Shiplimit_Model_Checkout_Type_Onepage</type_onepage>
         </rewrite>
        </checkout>
      </models>
    <resources>
            <exinent_shiplimit_setup>
                <setup>
                    <module>Exinent_Shiplimit</module>
                    <class>Mage_Catalog_Model_Resource_Eav_Mysql4_Setup</class>
                </setup>
            </exinent_shiplimit_setup>
        </resources>
    </global>
    </config>

ứng dụng \ code \ local \ Exesy \ Shiplimit \ sql \ exacular_shiplimit_setup \ mysql4-install-0.1.0.php

<?php 
$installer = $this;
/* @var $installer Mage_Catalog_Model_Resource_Eav_Mysql4_Setup */

$installer->startSetup();
$installer->addAttribute(
    'catalog_product',
    'custom_countries', 
    array(
        'group'             => 'General',
        'type'              => 'varchar',
        'backend'           => '',
        'user_defined' => '1',
        'frontend'          => '',
        'label'             => 'Shipping Restricted Countries',
        'input'             => 'multiselect',
        'source'            => 'Mage_Catalog_Model_Product_Attribute_Source_Countryofmanufacture',
        'global'            => Mage_Catalog_Model_Resource_Eav_Attribute::SCOPE_WEBSITE

    )
);

$installer->updateAttribute('catalog_product', 'custom_countries', 'backend_model', '');
$installer->endSetup();
?>

Câu trả lời:


16

Bạn đang thiết lập backend_modelđể ''nó phải được'eav/entity_attribute_backend_array'

Và bạn sẽ muốn xác định loại là textkhông varchar, vì varchar sẽ có giới hạn thấp hơn so với yêu cầu của mô hình nguồn.

Hãy nhìn quanh eav_attributebàn để tham khảo.

Hi vọng điêu nay co ich.


Tôi nghĩ rằng đó chỉ là 'phụ trợ' thay vì 'backend_model'
Aphroz 14/03/2015

4
Nếu bạn đang sử dụng addAttributetrong các tập lệnh thiết lập, đó là "phụ trợ". Trong tất cả các trường hợp khác ( updateAttributehoặc trực tiếp trong cơ sở dữ liệu), đó là "backend_model".
Andreas von Studnitz

1
câu trả lời hoàn hảo với lời giải thích tốt đẹp !!! +1 :)
SagarPPanchal

Làm thế nào để thiết lập giá trị theo chương trình?
jafar pinjar

@jafarpinjar giá trị nào bạn đang cố gắng đặt cụ thể?
B00mer
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.