Magento:后端新订单没有“添加产品”按钮

时间:2013-10-01 10:08:40

标签: magento magento-1.8

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

  • 客户可以从前端订购
  • admin可以从客户最近活动面板中添加“上次订购”或“最近查看的产品”中的产品

因此,单独使用此按钮似乎是一个问题。我们尝试了以下修复,但没有取得任何成功:

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

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

1 个答案:

答案 0 :(得分: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安装中使用它。