我添加了一个类似的相关产品功能的选项卡禁用行,我添加了一个列有这样的下拉列表:Magento的选择字段相关产品
$this->addColumn('mycolumn', array(
'name' => 'mycolumn',
'header' => Mage::helper('catalog')->__('Display on current child page'),
'index' => 'mycolumn',
'type' => 'select',
'width' => '1',
'align' => 'center',
'options' => array(
1 => Mage::helper('catalog')->__('Yes'),
0 => Mage::helper('catalog')->__('No'),
),
'editable' => true
));
每次我改变选择我的产品变得选中并且该行被禁用。
我发现这个系在Magento评论:
bindFieldsChange : function(){
if (!$(this.containerId)) {
return;
}
---> // var dataElements = $(this.containerId+this.tableSufix).down('.data tbody').select('input', 'select');
var dataElements = $(this.containerId+this.tableSufix).down('tbody').select('input', 'select');
for(var i=0; i<dataElements.length;i++){
Event.observe(dataElements[i], 'change', dataElements[i].setHasChanges.bind(dataElements[i]));
}
}
我发现在JS /法师/ adminhtml/grid.js此代码。 当我取消注释此行我的下拉工作像一个魅力...
我有两个问题关于这件事,第一个将是如果这是安全的取消注释(Magento必须有一个理由来改变这一点) 。
我的第二个问题是我如何能够避免这种行为,而无需调整grid.js文件。我不喜欢以任何方式编辑corefiles,但无法弄清楚如何重写此功能或如何以行为不适用自身的方式添加我的列。
你解决了这个问题吗?看来如果你取消第一行的注释,第二行会覆盖它,不是吗? – MatheusJardimB