hi,

ich hab mir jetzt mit einer eigenen userClass beholfen. Die Methode bekommt eine als Konstante abgelegte Liste der relevanten Kategorie-UIDs als kommaseparierter String über die TypoScript-Konfiguration übergeben ($catList) und liest ausserdem die UID des News-Datensatzes aus ($this->cObj->data['uid']). Mit diesen beiden Parameter wird per SELECT-Query der Titel einer relevanten Kategorie zurückgegeben.

Soweit, so gut, ich hätte allerdings noch eine -wahrscheinlich sehr einfach zu bewerkstelligende- Idee der Optimierung: Statt die relevanten Kategorie aus der Konstante auszulesen, wäre es viel komfortabler, einfach die relevanten Kategorie-UIDs aus den Plugin-Einstellungen auszulesen. Aber wie komme ich (im PHP-Skript oder im TS) an die Werte, die in der News-Flexform unter Kategorie gespeichert sind?
Hat da jemand den heissen Tipp für mich?


[TS]
plugin.tt_news.displayList.title_stdWrap.append = COA
plugin.tt_news.displayList.title_stdWrap.append {
  10 = USER
  10 {
    userFunc = user_eigeneKlasse->ttnews_ListItemCat
    userFunc {
      catList = TEXT
      catList.value = {$kategorieliste}
    }
  }
  stdWrap {
    required = 1
    trim = 1
  }
}
[/TS]

[PHP]
function ttnews_ListItemCat ($content = '', $conf = array()) {
        $conf = $conf['userFunc.'];
        $category = array();
$catList = explode(',',$this->cObj->cObjGetSingle($conf['catList'], $conf['catList.']));
        $catList = implode(',',$catList);
        
        $select_fields = 'tt_news_cat.title, tt_news_cat.uid';
        $from_table = 'tt_news_cat_mm, tt_news_cat ';
$where_clause = 'tt_news_cat_mm.uid_local = '.intval($this->cObj->data['uid']);
        $where_clause .= ' AND tt_news_cat_mm.uid_foreign = tt_news_cat.uid';
        $where_clause .= ' AND tt_news_cat.uid IN ('.$catList.')';
        $groupBy = '';
        $orderBy = '';
        $limit = '0,1';
$res = $GLOBALS['TYPO3_DB']->exec_SELECTquery($select_fields, $from_table, $where_clause, $groupBy, $orderBy, $limit);
        $category = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($res);
                        
        return $category['title'];
}
[/PHP]

Grüße,
        raphael
_______________________________________________
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

Antwort per Email an