首页 文章

Magento:后端新订单没有'Add product'按钮

提问于
浏览
1

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

  • 客户可以从前端订购

  • admin可以从客户最近的活动面板添加'last ordered'或'recently viewed products'中的产品

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

  • 从我们的网站上删除了主题(恢复为默认值);按钮仍然缺失

  • 注意到先前与第1.7版中的付款方式有关的错误;尝试将所有付款.phtml文件复制到主题;按钮仍然缺失

不知道这可能是什么 . 所有其他功能似乎都有效 . 有谁有任何关于如何解决这个问题的指示?

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安装上使用它 .

相关问题