Как добавить атрибуты на вкладке custome в правке продукта в Magento admin

Я создал пользовательскую вкладку «Настройки настройщика» в правке продукта в Magento admin, я хочу добавить скрытые атрибуты в этой вкладке. Я пробовал ниже кода.

Конфиг.XML-файл

<events>
    <catalog_product_save_after>
        <observers>
            <productcustomizer_save_product_data>
                <type>singleton</type>
                <class>ProductCustomizer_ProductCustomizer_Model_Observer</class>
                <method>saveProductTabData</method>
            </productcustomizer_save_product_data>
        </observers>
    </catalog_product_save_after>
</events>

и

<adminhtml_catalog_product_edit>
    <reference name="product_tabs">
        <action method="addTab" >
            <name>productcustomizer_settings</name>
            <block>productcustomizer/adminhtml_catalog_product_edit_tab</block>
        </action>
    </reference>
</adminhtml_catalog_product_edit>

sql / productcustomizer_setup / install-1.0.0.php файл

$setup->addAttribute('catalog_product', 'productcustomizer', array(
    'entity_model' => 'catalog/product',
    'label' => 'custom',
    'group' => 'productcustomizer_settings',
    'input' => 'text',
    'type' => 'text',
    'is_html_allowed_on_front' => false,
    'backend' => 'catalog/product_attribute_backend_price',
    'global' => Mage_Catalog_Model_Resource_Eav_Attribute::SCOPE_GLOBAL,
    'visible' => false,
    'apply_to' => Mage_Catalog_Model_Product_Type::TYPE_SIMPLE,
    'required' => false,
    'user_defined' => true,
    'unique' => false,
    'visible_on_front' => false,
    #'note' => ''
));

Создается новая вкладка «productcustomizer_settings» в правке продукта.

Кроме того, я проверил после очистки кэша и переиндексации.

1 ответ

  1. Укажите пользовательский шаблон для блока вкладки и выведите скрытый тег.

    В блоке’ productcustomizer/adminhtml_catalog_product_edit_tab ‘ запустите метод построения:

    /**
     * Set the template for the block
     *
     */
    public function _construct()
    {
        parent::_construct();
    
        $this->setTemplate('productcustomizer/catalog/product/tab.phtml');
    }
    

    Затем в файле шаблона (productcustomizer/catalog/product / tab.phtml) выход:

    <input type="hidden" name="attribute_name" value="attribute_value" />
    

    Затем необходимо использовать наблюдателя, чтобы сохранить этот attribute_value соответствующим образом при сохранении продукта. Кроме того, если вы просто хотите использовать не редактируемые атрибуты, вы можете использовать функциональность стандартной группы атрибутов.