Typo3 如果tt_新闻中的帖子属于某个类别,则为有条件的
我为tt_news制作了一个自定义标记,它显示媒体字段中的第一个图像,或者第三个图像,如果它属于某个类别(比如ID=2的类别)。我不知道如何使之有条件。这就是我到目前为止所做的:Typo3 如果tt_新闻中的帖子属于某个类别,则为有条件的,typo3,typoscript,Typo3,Typoscript,我为tt_news制作了一个自定义标记,它显示媒体字段中的第一个图像,或者第三个图像,如果它属于某个类别(比如ID=2的类别)。我不知道如何使之有条件。这就是我到目前为止所做的: 10 = IMAGE 10.file{ width = 550 height = 350 import = uploads/pics/ import{ field = image listNu
10 = IMAGE
10.file{
width = 550
height = 350
import = uploads/pics/
import{
field = image
listNum = 0
#If also belongs to the category "Startseite", the listNum should be 2
listNum.stdWrap.override = TEXT
listNum.stdWrap.override{
value = 0
if{
#??????
}
}
}
}
您需要编写自定义条件,如
userFunc
部分(底部)中的文档所述
新闻和类别是通过MM关系连接的,所以您只需检查MM表是否包含这一对
typo3conf/localconf.php
:
function user_newsInCategory($catUid) {
$ttNewsGet = (t3lib_div::_GP('tx_ttnews'));
$res = $GLOBALS['TYPO3_DB']->exec_SELECTquery(
'uid_foreign',
'tt_news_cat_mm',
'uid_foreign = ' . $catUid . ' AND uid_local=' . intval($ttNewsGet['tt_news'])
);
return ($GLOBALS['TYPO3_DB']->sql_num_rows($res) > 0) ? true : false;
}
因此,在TS中,在10=IMAGE{…}
块之后:
[userFunc = user_newsInCategory(2)]
10.file.import.listNum = 2
[end]
编辑:
正如您在示例中看到的,它仅在显示新闻时有效(即,如果URL中存在param&tx_ttnews[tt_news])
要检查每个列表项的相似性检查,您需要使用extraItemMarkerProcessor通过钩子(如上所述)使用自定义标记-然后您可以使用每个$row的相似条件来显示不同的图像。类别和新闻记录与mm相关,因此可能无法用纯打字脚本解决此问题。但是在
userFunc
的帮助下,这应该是相当容易的。有趣。它适用于单个视图,但不适用于列表视图。为什么?让我们