这并不是一个理想的解决方案,因为它涉及更改核心功能,但“添加产品”后端按钮在以下位置处理:
app/code/core/Mage/Adminhtml/Block/Sales/Order/Create/Items.php
您正在寻找的具体是getButtonsHtml函数。从 1.6 升级到 1.9 后遇到同样的问题,我将我的更改为如下所示:
public function getButtonsHtml()
{
$html = '';
// Make buttons to be rendered in opposite order of addition. This makes "Add products" the last one.
$this->_buttons = array_reverse($this->_buttons);
//If the buttons array isn't empty, let it do its thing
if (!empty($this->_buttons))
{
foreach ($this->_buttons as $buttonData) {
$html .= $this->getLayout()->createBlock('adminhtml/widget_button')->setData($buttonData)->toHtml();
}
}
else {
$addButtonData = array(
'label' => Mage::helper('sales')->__('Add Products'),
'onclick' => "order.productGridShow(this)",
'class' => 'add',
);
$html .= $this->getLayout()->createBlock('adminhtml/widget_button')->setData($addButtonData)->toHtml();
}
return $html;
}
它有效,但它实际上只是一个 hackjob 修复。我希望比我更有知识的人能想出一个合适的解决方案。
编辑 - 留下上面的答案,但我解决了我的个人问题。我正在运行 Magento 的双重安装,我忘记更改我的 Minify 库的 .htaccess 以重新路由到较新的安装。所以它正在编译旧的 1.6 JavaScript 并在我的 1.9 安装中使用它。