首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >获取商业订单变量dpm,而无需再次加载订单。

问获取商业订单变量dpm,而无需再次加载订单。
EN

Drupal用户
提问于 2016-10-20 14:50:51
回答 2查看 205关注 0票数 0

我尝试使用devel模块从内部定制订单模板页面-管理-商业-订单_%%.tpl.php获得订单变量。

我使用代码$order = commerce_order_load(123);

问:是否有可能不重新加载全部订单并获取变量?(假设我在order页面上,变量应该以任何方式加载,对吗?)谢谢你的解释。

EN

回答 2

Drupal用户

回答已采纳

发布于 2016-10-20 15:57:10

不必为那事担心了。

加载的实体至少是为该请求缓存的,所以要么加载一个尚未加载的实体,在这种情况下DB加载是不可避免的,要么只是从静态缓存中检索已经加载的实体。

另外,不要在模板文件中加载实体--总是在预处理钩子中这样做,并将变量传递进来。

票数 0
EN

Drupal用户

发布于 2016-10-20 15:57:28

您需要使用commerce_order_load来加载所有数据的订单。如果订单已经加载到页面的其他位置,则订单不会加载两次,但顺序将从静态缓存中获取。因此,可以多次加载相同的订单。

如果确实需要清除缓存(可能需要将顺序与数据库中的顺序进行比较以查看已更改的内容),则可以使用commerce_order_load_multiple或直接调用entity_load。

票数 1
EN
页面原文内容由Drupal提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://drupal.stackexchange.com/questions/218356

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档