如何从 expressionengine 网站上找到所有变量?

How to find all variables from expressionengine website?

我以前从未使用过 expressionengine,但我正在处理一个我没有编写的代码库,我发现一些变量被注入到一些使用大括号的模板中,例如{embed:page}

我想探索这些变量,最好能获得我可以访问的变量的完整列表。

在整个应用程序中搜索 embed= returns 没有与我的示例相关的结果(尽管它确实获得了一些结果),因此似乎正在以不同的方式检索或定义某些变量.

知道如何通过日志记录或其他方式探索这个吗?

Expressionengine 标签都是花括号。有些是片段,有些是全局变量,有些是嵌入的,有些是 add-ons/extensions 等。您有漫长的一天要阅读:https://docs.expressionengine.com/

也许https://docs.expressionengine.com/v2/templates/embedding.html

基本上 (exp:channel:entries}{/exp:channel:entries} 之间的所有内容都是存储数据的字段。 它们可以命名为开发人员想要的任何名称。字段组附加到通道。您可以通过转到管理>频道管理>频道字段来找到所有字段组。 {embed} 以不同的方式表现。如果你有一个看起来像这样的标签 {embed="foo/bar"} 它是在当前模板中嵌入一个模板。 当嵌入标签是这样形成的:{embed="foo/bar" the_entry_id="{entry_id}"} 嵌入是嵌入另一个模板,并从 channel:entries 传递变量循环到该模板。在模板中,这些变量使用另一个嵌入标记调用:{embed:the_entry_id}

在您的示例中,您将拥有一个总体模板(例如“template_group/template_a”,其中包括另一个模板(例如“template_group/template_b ") 带有 embed 标签并传递一个名为 page 的参数,所以在 template_a:

{embed="template_group/template_b" page="12345"}

并且在 template_b 内,您可以使用 {embed:page} 访问 12345,所以如果您在搜索时,您可能会更喜欢搜索 "page=" 而不是 "embed="(尽管您的 "page=" 将在 "embed=" 标签内)。