2012-08-02 49 views
3

如果GET变量为空,是否有方法使用Typoscript条件为TypoScript TEXT分配不同的值?空变量的Typoscript条件

类似的东西:

xxxx.1 = TEXT 
[globalVar = GP:print != ""] 
xxxx.1.value = Absent 
[else] 
xxxx.1.value = Present 
[end] 

当然这里的!= ""不工作,所以我应该怎么用呢?

回答

7

这里是“如果”的一个示例:

1 = TEXT 
1 { 
    value = Absent 
    override = Present 
    override.if { 
     isTrue.data = GP:print 
    } 
} 
+0

但这是一个条件?它看起来像一个复杂的默认值? – Bytemain 2012-08-10 12:06:54

+0

这不是一个条件。另请注意,这将被缓存。条件可能是[globalVar = GP:print = 1]。所以你的链接将不得不追加“?print = 1”。 – Shufla 2012-09-13 13:14:46

+0

@Phpdna这看起来像一个复杂的默认值,但它是我可以检查是否设置GET-param的唯一方法。请注意,如果“?print = 0”将被评估为false,并且在此示例中将使用值“Absent”。 – 2014-09-23 08:07:51

0

起初在typoscript中没有!=。您只能使用>,<,=作为条件。

为了你的需求,你可以使用这个:

[globalVar = GP:view = print] 

[end] 

只要定义一个变量“视图”,它可以成为价值“打印”。

  • 您也可以使用“if”和“override”,“ifEmpty”和“required”。
  • 下面是条件的一些其它实例中的TypoScript:http://www.pi-phi.de/19.html
+0

我知道这个答案是旧的,但最后还是因为6.0版本在TYPO3中有一个=操作:http://docs.typo3.org/typo3cms/TyposcriptReference/Conditions/Reference/Index.html#id23 :) – 2014-10-01 07:27:01

1

随着globalString它也可以使用一个正则表达式作为比较。根据具体情况,这也可能是一个可行的解决方案。

[globalString = GP:test = /.+/] 
# This is only evaluated if GP:test contains one or more characters 
[global]