【发布时间】:2021-05-27 07:45:55
【问题描述】:
我需要将我的自定义按钮添加到order page,最好是在编辑/删除附近,它应该只打开带有 orderId 参数的某些路线的链接。 此外,最好删除不必要的按钮,如折扣和优惠券代码。
如何做到这一点?我试图用占位符做某事,但没有成功。
【问题讨论】:
标签: orocommerce
我需要将我的自定义按钮添加到order page,最好是在编辑/删除附近,它应该只打开带有 orderId 参数的某些路线的链接。 此外,最好删除不必要的按钮,如折扣和优惠券代码。
如何做到这一点?我试图用占位符做某事,但没有成功。
【问题讨论】:
标签: orocommerce
这些按钮是使用动作呈现的:
但是,如果您的按钮只是呈现链接,您可以覆盖 OroOrderBundle:Order:view.html.twig 模板中的 {% block navButtons %} 块。见how to override templates。
或者,您可以使用占位符view_navButtons 在不继承模板的情况下扩展按钮列表。见placeholders documentation。
【讨论】:
决定使用动作作为其非常智能和强大的机制,即使对于下载按钮这样简单的事情,也不需要覆盖模板或使用模板。所以这里就是显示按钮所需的全部内容:
#MyBundle/Resources/config/oro/actions.yml
operations:
download_action:
label: Download
button_options:
icon: fa-download
routes:
- oro_order_view
entities: ['Oro\Bundle\OrderBundle\Entity\Order']
for_all_entities: false
actions:
- '@redirect':
route: 'test_download'
route_parameters: {id: $id}
new_tab: true
preconditions:
'@equal': [$internalStatus.id, 'open']
唯一令人困惑的是,尽管指定了路线,但按钮不仅出现在 oro_order_view 页面上,而且还出现在编辑页面上,有人知道为什么吗?
【讨论】: