GP变种的Typoscript问题?

时间:2014-12-22 14:21:27

标签: typo3 typoscript typo3-6.2.x

我想使用typoscript执行查询。我的问题是

SELECT * FROM TABLE where sld like '{GP:SID}'。我想在单/双引号内扭曲SID变量。尝试下面的脚本,但没有为我工作。

lib.products = CONTENT
lib.products {
  table = TABLE
  select {
    pidInList = 26506
      orderBy = name
      where = sid like '{GP:SID}'
   }
   renderObj = COA
   renderObj {
   10 = COA
     10 {
     10 = TEXT
     10.dataWrap ={field:name}[\n]
    }
  }

}

有人可以帮我吗?

1 个答案:

答案 0 :(得分:5)

你的代码是不安全的!不要在生产中使用它。

你应该做的是使用TS query markers,它在后台使用预备语句。

lib.products = CONTENT
lib.products {
  table = TABLE
  select {
    pidInList = 26506
      orderBy = name
      where = sid like '###sid###'
      markers {
        sid.data = GP:SID
      }
   }
   renderObj = COA
   ...
}

此外,如果你想使用LIKE,你需要使用%符号才能使它工作,否则它与'equals'相同,但速度较慢。但是,我不确定,如果GP:SID在字符串的开头或结尾包含%符号,会发生什么。