如何在前端禁用Magento发票

时间:2012-11-13 19:23:25

标签: magento magento-1.7

我正在部署Magento 1.7商店,但我不希望客户可以从前端查看和下载发票,访问他们的帐户。我将使用第三方应用程序管理开票流程,我会将其发送给不涉及Magento的客户。 我想使用管理界面中的“发票”按钮将订单标记为已付款并将订单置于“完成”状态,但我需要避免客户可以访问Magento发票,因为它不是真正的发票并且不符合欧洲法律。 我发现了这个解决方法:我将/app/design/frontend/base/default/layout/sales.xml复制到我的模板文件夹中,然后我编辑了删除所有行,如

<action method="addLink" translate="label" module="sales"><name>invoice</name><path>*/*/invoice</path><label>Invoices</label></action>

现在在前端帐户中,所有“发票”链接都消失了,但我不确定这是最好的解决方案,因为我可以访问指向该网址的发票 http://mydomain.com/sales/order/invoice/order_id/7/ 其中“7”是发票号码......

有人可以帮我找到最佳解决方案吗?

提前谢谢!

2 个答案:

答案 0 :(得分:0)

您可以使用自己的前端控制器重载前端控制器。 类似的东西:

<global>
<rewrite>

        <mynamespace_mymodule_invoice_cart>
            <from><![CDATA[#^/sales/order/invoice/#]]></from>
            <to>/mymodule/cnewcontroller/</to>
        </mynamespace_mymodule_invoice_cart>
    </rewrite>
<global>

然后为mymodule / invoice

添加前端控制器

答案 1 :(得分:0)

我知道它可能是它的笨拙,但它适用于我...
我想做的就是阻止客户打印和查看发票,我使用自动发票扩展,然后将订单推送到我处理订单的第三方软件。

public function user() { return $this->belongsTo('App\User'); } public function projects() { return $this->hasMany('App\projects'); } 我已注释掉这些内容:

frontend\base\default\template\sales\order\invoice\items.phtml

多数民众赞成删除了“打印发票”&#39;和&#39;打印所有发票&#39;链接。