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

时间:2012-08-06 13:08:21

标签: php templates content-management-system expressionengine

我有两个相关的渠道。该网站是多语言的,{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}

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

2 个答案:

答案 0 :(得分:1)

好吧,看起来{lang}在这个过程中很晚才被解析 - 请参阅Low's excellent help。这表明你可能会喜欢将你的例子的内部部分移动到一个嵌入式模板(即使它经常被部署,我也非常不喜欢黑客攻击!)。所以你的原始位变成了:

{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>

答案 1 :(得分:0)

我不完全确定原因,但这有效:

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

此代码包含related_entries标记,已嵌入。

PHP解析阶段:输入