if-statement - TypoScript if 条件与当前年份的字段 crdate [9.5.7]
问题描述
我有一个 HMENU,special = directory
我尝试只选择这些,该字段crdate
在当前年份。
我尝试了以下 TypoScript,但如果它们是在 2018 年创建的,它们也会显示树中的所有子页面。
lib.news.jahr = COA
lib.news.jahr{
5 = TEXT
5{
current = 1
setCurrent.data = date:U
setCurrent.wrap = |
prioriCalc = 1
strftime = %Y
wrap = <h3>News |</h3>
}
10 = HMENU
10{
special = directory
special.value = 87
wrap = <ul>|</ul>
1 = TMENU
1{
NO.wrapItemAndSub = <li>|</li>
NO.if{
equals.data = date:U
equals.strftime = %Y
equals.prioriCalc = 1
value.data = field:crdate
value.data.strftime = %Y
}
}
}
}
TypoScript 必须在最新版本 9.5.7 中工作
解决方案
菜单项没有 if。https://docs.typo3.org/typo3cms/TyposcriptReference/MenuObjects/Tmenuitem/Index.html。
使用类似的东西
NO.allStdWrap.if {
value.field = crdate
value.strftime = %Y
equals.data = date:Y
}
但是您必须使用 wrapItemAndSub 以外的包装,否则您会得到空的 li 标签。
或者您可以使用 USERDEF1 而不是 NO 和 itemArrayProcFunc 与 PHP 函数来过滤数组。
推荐阅读
- java - 将一个摆动组件与另一个关联
- r - 如何添加具有特定计算的列并根据 R 中的计算绘制图表?
- python - 调整矩阵,人脸识别
- java - 创建 CustomButton 将 Button 扩展为在 onclick 之前调用的预设条件
- mysql - 如何在同一个选择中以两种不同的方式计算?
- javascript - 为什么不渲染组件子项?
- c++ - 如何返回图中 2 个节点之间所有可能路径的二维数组?(C++)
- python - 找到达到多个级别的方法
- javascript - 调整文本大小后滚动跳转到页面底部
- spring-boot - 不同的执行器(管理服务器)端口更改 HTTP 响应