Shopware 5 在前端访问控制器变量(模板变量)

Shopware 5 accessing controller variables (Template Variables) on frontend

许多文章对此给出的技术术语是Template Variables。我试图了解我们如何找到控制器中为 Shopware 5 前端的特定字段(例如产品名称)给出的变量名称

例如,我可以看到文章名称的模板变量已指定为 $sArticle.articleName。这是我手动查看源码时发现的

假设我想找到特定产品的折扣值,如何在我的主题上打印它?我应该使用什么变量以及找到它的简单方法是什么。

我可以从后端为所有变量赋值,但我的问题是在技术开发方面更新主题时如何在主题文件中访问它们。

请注意:我正在尝试了解 shopware5 技术方面。

如果你想在模板中使用你的变量,你必须编写一个插件并将你的控制器变量分配给视图。

查看 shopware 文档中的 Globale Variablen im Template verwenden

如果你想查看哪些变量已经赋值,你可以在模板中使用{debug}。如果您想调试特定变量(本例中为 $sArticle}),{$sArticle|var_dump} 也非常有用。

您必须知道 shopware 将对象的成员分配给视图。

使用 {debug} 函数通常会为您提供所有已分配变量的列表。此列表还应包含一个变量 $Controller,它将提示您当前相关的控制器。

很遗憾,您无法确定分配的变量来自何处。由于 Shopware 的事件驱动架构,可以在将请求分派到相关控制器后将变量分配给视图。这意味着可以通过第三方插件以及特定的事件侦听器和店面装饰器(在 Shopware 5 中)分配变量。

亲切的问候!