我正在使用Drupal commerce构建一个商业网站。我现在做得很顺利,但当我试图创建一个模块来处理运输信息并将其发送给运输公司进行标签打印时,我遇到了死胡同。
问题是,我在订单页面中创建了一个新的选项卡
admin/commerce/orders/order_id/printlabel
当我编辑订单时,我可以通过选项卡访问此页面。
现在,我不知道如何在模块中提取order_id编号。我已经尝试了几乎所有的东西,entity_view、entity_metadata_wrapper、commerce_order.module API,但我不知道如何访问id,这是关键。当我得到ID时,我可以获得链接到它的运输信息,我可以将这些数据发送到运输公司并保存它。我还研究了商业部门的做法,比如将付款与视图相结合,但这对我来说似乎有点太复杂了,我在这里问。我在Drupal自己的支持论坛上找不到任何答案。
希望我答对了你的问题。您创建了一个自定义菜单admin/commerce/orders/*/printlabel,其中*是特定订单的订单id。你需要订单id。
最简单的解决方案是通过arguments或arg()获得它。这是drupal提供的一个函数,用于从参数中获取数据。例如
如果您的url是www.xyz.com/admin/commerce/orders/0001/printlabel&您需要订单id,即0001,您可以使用arg(3)获得它。