条件是tt_news中的帖子属于某个类别

时间:2012-04-13 16:07:01

标签: typo3 typoscript

我为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{
                    #??????
                }
            }
        }
    }

1 个答案:

答案 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 - 然后您可以使用每个$行的类似条件显示不同的图像。