TYPO3/TypoScript - 在 DataProcessor 中使用 FIELD() 自定义排序
Posted
技术标签:
【中文标题】TYPO3/TypoScript - 在 DataProcessor 中使用 FIELD() 自定义排序【英文标题】:TYPO3/TypoScript - custom orderings in DataProcessor with FIELD() 【发布时间】:2020-11-09 11:22:00 【问题描述】:是否可以通过 TypoScript 设置 orderBy,例如:ORDER BY FIELD(fieldname, value1, value2...)
?
如果我只是这样设置:
uidInList = 59,56
orderBy = FIELD(uid, 59, 56)
我收到此错误。
引号设置不正确,FIELD()
部分中的“ASC”不正确。
然后我尝试了:
orderBy.stdWrap = FIELD(uid, | )
orderby.value = 59, 56
由于在管理面板中调试了生成的查询,这似乎被完全忽略了。
谢谢
【问题讨论】:
【参考方案1】:不可能使用它,因为 TYPO3 将每个字符串部分(用空格分隔)作为一个表字段处理。如果您强烈需要 FIELD()
用法,则需要使用 userFunc 或编写自己的扩展 DataProcessor。
【讨论】:
简短明了 :) 所以我将采用自定义处理器方式。谢谢托马斯。 @OP 请记住,TypoScript 只是一个配置数组,虽然高级,但仍然。以上是关于TYPO3/TypoScript - 在 DataProcessor 中使用 FIELD() 自定义排序的主要内容,如果未能解决你的问题,请参考以下文章
.text .data 和 main 的分段错误(主要在 .data 部分)
使用装饰器时如何在 VueJS 中使用 Data 对象? “预计 'this' 将由类方法 'data' 使用。”
MySql.Data.dll 中出现“MySql.Data.MySqlClient.MySqlException”类型的异常,但未在用户代码中处理