0

我正在寻找一种替代方法,我可以在“相关产品”选项卡(@产品创建)中的“位置”旁边有第二个字段。

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

我已magento\app\code\core\Mage\Catalog\data\catalog_setup\data-install-1.6.0.0.php通过在 ~175 行添加此文件来更改此文件:

...
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
    ));

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

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

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

为什么会这样?它变得非常烦人。

非常感谢!

4

1 回答 1

0

这篇 inchoo 的帖子是一个非常好的起点(像往常一样):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

现在一切都为我工作:)

于 2013-09-16T00:44:41.823 回答