我为tt_news制作了一个自定义标记,它显示了媒体字段中的第一个图像,如果它属于某个类别,则为第三个图像(假设ID为2的类别)。我不知道如何使这条件有条件。这就是我到目前为止所做的:
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{
#??????
}
}
}
}
答案 0 :(得分:1)
您需要按userFunc
部分(底部)
http://typo3.org/documentation/document-library/core-documentation/doc_core_tsref/4.3.2/view/1/4/
新闻和类别与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;
}
在你的10 = IMAGE { ... }
阻止 >后的中,
[userFunc = user_newsInCategory(2)]
10.file.import.listNum = 2
[end]
修改强>
正如您在示例中所看到的,它只有在显示新闻时才有效(即如果URL中存在param& tx_ttnews [tt_news])
要检查每个列表项的类似检查,您需要通过钩子使用自定义标记(如in tt_news manual所述),使用 extraItemMarkerProcessor - 然后您可以使用每个$行的类似条件显示不同的图像。