1

我刚刚安装了最新版本的 Magento 1.8,一切都很好并且运行良好。但是,我们刚刚发现管理新订单页面上没有“添加产品”按钮。其他一切都像以前一样工作,包括:

  • 客户可以从前端订购
  • 管理员可以从客户最近活动面板的“最后订购”或“最近查看的产品”中添加产品

因此,仅此按钮似乎是一个问题。我们尝试了以下修复但没有成功:

  • 从我们的网站上删除了主题(恢复为默认);按钮仍然丢失
  • 注意到 v 1.7 中与付款方式相关的先前错误;尝试将所有付款 .phtml 文件复制到主题;按钮仍然丢失

不知道这可能是什么。所有其他功能似乎都在工作。有没有人知道如何解决这个问题?

4

1 回答 1

1

这并不是一个理想的解决方案,因为它涉及更改核心功能,但“添加产品”后端按钮在以下位置处理:

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 安装中使用它。

于 2014-05-27T14:47:27.270 回答