0

TS令人困惑:)

我正在尝试根据语言创建带有条件参数的错字链接。

10 = TEXT
  10 {
    typolink {
      parameter = http://myLink.com
      returnLast = url
      if.isTrue.data = GP:L = 1
    }
    wrap (
            <li class="mod-metanav--item">
             <a class="mod-metanav--link" target="_blank" href="|">
              The Link
             </a>
            </li>
    )
  }

如您所见,我尝试在错字链接中添加一个 IF 语句,要求提供一种语言(至少,我认为我是这样做的)。

问题是,根据当前的语言,我想要一个不同的链接(但其余的需要保持不变)。

我可以使用[globalVar = GP:L = 1],但这会产生巨大的开销,因为这个错字链接只是更大脚本部分的一小部分。

我试图用谷歌搜索可以添加到参数中的变量或常量,但没有给我有用的结果......

帮助!:)

4

3 回答 3

3

要根据当前语言覆盖链接值,您可以使用 »lang« 参数。

要根据当前语言更改链接 url,您可能需要使用 CASE 对象...</p>

10 = TEXT
10 {
    value = English
    lang.de = German
    lang.fr = French
    typolink.parameter.cObject = CASE
    typolink.parameter.cObject {
        key.data = GP:L
        1 = TEXT
        1.value = http://example.com/german/bar/
        2 = TEXT
        2.value = http://example.com/french/baz/
        default = TEXT
        default.value = http://example.com/englisch/foo/
    }
    typolink.ATagParams = class="mod-metanav--link"
    typolink.extTarget = _blank
    wrap = <li class="mod-metanav--item">|</li>
}

…或者你使用一个常数:

常数:

languagedependentlink = http://example.com/englisch/foo/
[globalVar = GP:L = 1]
    languagedependentlink = http://example.com/german/bar/
[global]
[globalVar = GP:L = 2]
    languagedependentlink = http://example.com/french/baz/
[global]

设置:

10 = TEXT
10 {
    value = English
    lang.de = German
    lang.fr = French
    typolink.parameter = {$languagedependentlink}
    typolink.ATagParams = class="mod-metanav--link"
    typolink.extTarget = _blank
    wrap = <li class="mod-metanav--item">|</li>
}
于 2014-10-02T09:17:17.937 回答
0

嗯,也许我错了,但它看起来不像是巨大的开销:

10 = TEXT
  10 {
    typolink {
      parameter = http://worldwide.com
      returnLast = url
    }
    wrap (
            <li class="mod-metanav--item">
             <a class="mod-metanav--link" target="_blank" href="|">
              The Link
             </a>
            </li>
    )
}

[globalVar = GP:L = 1]
10.10.typolink.parameter = http://english.co.uk
[end]

[globalVar = GP:L = 2]
10.10.typolink.parameter = http://german.de
[end]

[globalVar = GP:L = 3]
10.10.typolink.parameter = http://french.fr
[end]
于 2014-10-02T09:16:00.333 回答
0

再说一次,我正在回答我自己的问题——它可能对其他人有所帮助。

10 = TEXT
  10 {
    typolink {
      parameter = myLinkInEnglish
      returnLast = url
    }
    wrap (
            <li class="mod-metanav--item">
             <a class="mod-metanav--link" target="_blank" href="|">
              Click here
             </a>
            </li>
    )
    if.value = 1
    if.equals.data = GP:L
  }

同样,我对此并不满意,因为我必须为每种语言重复相同的块。我宁愿有一个可以为链接和链接文本设置的变量(使用后者的翻译)。

如果有人有更好的解决方案,我很乐意知道...

于 2014-10-02T08:48:37.507 回答