全局变量未在 related_entries 标记内解析


Global variable not being parsed inside related_entries tag

我有两个相关的频道。该网站是多语言的,{lang}全局变量包含语言(en/nl/de/fr)。

使用 {{lang}-something} 方法适用于整个网站,但不适用于相关条目标记。

{{lang}-something}的输出应该是内容,但它实际上是{en-something} .因此,语言入,但之后没有被解析。

当我简单地在模板中使用{en-something}(不动态设置语言)时,我确实会得到内容。

模板代码段:

{related_entries id="product_usp_1"}
    <div class="ups_item">
        <h3>{{lang}-usp-title}</h3>
        <p>{{lang}-usp-content}</p>
    </div>
{/related_entries}

有什么建议吗?提前感谢!

好吧,看起来{lang}在这个过程的后期被解析了——参见 Low 在这方面的出色帮助。 这表明您可能很高兴将示例的内部部分移动到嵌入式模板(我非常不喜欢这个技巧,即使它经常被部署! 所以你的原始位变成:

{related_entries id="product_usp_1"}
  <div class="ups_item">
    {embed:lang_template}
  </div>
{/related_entries}

嵌入式模板(lang_template上面)变为:

<h3>{{lang}-usp-title}</h3>
<p>{{lang}-usp-content}</p>

我不完全确定为什么,但这有效:

<h3> {<?php echo '{language}';?>-usp-title}   </h3>
<p>  {<?php echo '{language}';?>-usp-content} </p>

此代码在 related_entries 标记中,而不是嵌入。

PHP 解析阶段:输入