Magento - 为相关产品添加字段

时间:2013-09-10 15:17:33

标签: magento zend-framework magento-1.7

我正在寻找替代方案,我可以在“相关产品”标签中的“位置”旁边显示第二个字段(@产品创建)。

此字段必须为十进制类型,并且应存储在数据库中。此刻:

我在第175行添加了这个文件magento\app\code\core\Mage\Catalog\data\catalog_setup\data-install-1.6.0.0.php

...
array(
  'link_type_id'                  => Mage_Catalog_Model_Product_Link::LINK_TYPE_RELATED,
  'product_link_attribute_code'   => 'extra_field',
  'data_type'                     => 'decimal'
),
...

这段代码在数据库的“链接”中创建了一个新字段。并在此处添加了一个新列magento\app\code\core\Mage\Adminhtml\Block\Catalog\Product\Edit\Tab\Related.php(第216行):

    $this->addColumn('extra_field', array(
            'header'            => Mage::helper('catalog')->__('Position'),
            'name'              => 'extra_field',
            'index'             => 'extra_field',
            'width'             => 60,
            'editable'          => !$this->_getProduct()->getRelatedReadonly(),
            'edit_only'         => !$this->_getProduct()->getId(),
            'type'              => 'select',
            'options'           => $options
    ));

在文件app\design\adminhtml\default\default\layout\catalog.xml中添加以下行(大约122):

            <action method="addColumnInputName">
                <input_name>position</input_name>
                <input_name>extra_field</input_name> <!--This one-->
            </action

此时,我能够正确存储/检索这些新信息。最后一个问题是:当我点击下拉列表时,整行都被禁用(开头的复选框未选中)。

为什么会这样?它真的很烦人。

非常感谢!

1 个答案:

答案 0 :(得分:0)

这个英寸帖子是一个非常好的起点(像往常一样): http://inchoo.net/ecommerce/magento/how-to-add-custom-product-relations-in-magento/

另一张海报也可能有所帮助: http://magebase.com/magento-tutorials/understanding-the-grid-serializer-block/

要解决问题,请按照问题中描述的步骤进行操作。

要解决UI问题,请使用以下线程中描述的方法: Magento select field disables row in related products

现在一切都在为我工作:)