我正在部署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”是发票号码......
有人可以帮我找到最佳解决方案吗?
提前谢谢!
答案 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;链接。