0

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

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

4

2 回答 2

1

好吧,它看起来像是{lang}在这个过程中很晚才被解析——请参阅Low在这方面的出色帮助。这表明您可能会乐于将示例的内部部分移动到嵌入式模板(我非常不喜欢这种 hack,即使它经常被部署!)。所以你原来的位变成:

{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>
于 2012-08-06T18:26:02.213 回答
0

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

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

此代码在related_entries标签内,而不是嵌入。

PHP解析阶段:输入

于 2012-08-07T12:12:43.897 回答