2017-05-29 3 views
4
TYPO3 tt_news Kategoriebaum für Newseintrag erzeugt


Ich verwende tt_news Erweiterung mit meinem TYPO3 v7.6.18 (nur von 6.2.31 aktualisiert) und ich habe Probleme mit Kategoriebaum mit. Ich habe ein bisschen mehr Debug für tt_news Kategorie Rendering und das ist das Problem bisher:Kann nicht

die alte tca.php wie folgt aussieht:

'category' => Array(
    'exclude' => 1, 
    'label' => 'LLL:EXT:tt_news/locallang_tca.xml:tt_news.category', 
    'config' => Array(
     'type'   => 'select', 
     'form_type'  => 'user', 
     'userFunc'  => 'tx_ttnews_TCAform_selectTree->renderCategoryFields', 
     'treeView'  => 1, 
     'foreign_table' => 'tt_news_cat', 
     'autoSizeMax' => 50, 
     'minitems'  => $confArr['requireCategories'] ? 1 : 0, 
     'maxitems'  => 500, 
     'MM'   => 'tt_news_cat_mm', 
    ), 
),

Und das gibt mir falsche Ergebnisse, das heißt, ich habe nicht ein Baum, aber eine Mehrfachauswahl. Nun, wenn ich Typ Benutzer ändern, bekomme ich diesen Fehler:

Fatal error: Call to undefined method TYPO3\CMS\Backend\Form\Element\UserElement::addSelectOptionsToItemArray() in /home/portal/typo3project/typo3conf/ext/tt_news/lib/class.tx_ttnews_TCAform_selectTree.php on line 167

ich die Linie in der Klasse geprüft tx_ttnews_TCAform_selectTree Methode renderCategoryFieldsand und es sieht wie folgt aus:

$selItems = $fobj->addSelectOptionsToItemArray($fobj->initItemArray($this->PA['fieldConf']),$this->PA['fieldConf'],$fobj->setTSconfig($table,$row),$field);

Die $ fobj kommt als Referenz in Funktionsdefinition: function renderCategoryFields(&$PA, &$fobj) und es scheint, dass es irgendwo falsch definiert ist, da addSelectOptionsToItemArray in FormEngine und nichtbefindet.

Da die Methode in der TCA wie tx_ttnews_TCAform_selectTree->renderCategoryFields aufgerufen wird kann ich Klasse nicht ändern, es wird verwendet.

Irgendwelche Ideen, wie das zu beheben?

Antwort

3

Seit TYPO3 7 müssen Sie keine benutzerdefinierte Benutzerfunktion definieren, um eine Liste als Baum darzustellen. Es gibt eine renderTypeTCA configuration option für Select-Type-Felder, die Baum-Rendering über selectTree Wert definieren können.

So ist die Konfiguration aussehen sollte wie folgt:

'category' => Array(
    'exclude' => 1, 
    'label' => 'LLL:EXT:tt_news/locallang_tca.xml:tt_news.category', 
    'config' => Array(
     'type'   => 'select', 
     'renderType' => 'selectTree', 
     'foreign_table' => 'tt_news_cat', 
     'autoSizeMax' => 50, 
     'minitems'  => $confArr['requireCategories'] ? 1 : 0, 
     'maxitems'  => 500, 
     'MM'   => 'tt_news_cat_mm', 
     'treeConfig' => array(
      'parentField' => 'parent_category', 
     ), 
    ), 
), 

Zusätzlich möchten Sie vielleicht mit treeConfigconfiguration option für einige visuelle Stimmung spielen.

+0

Zusätzlich können Sie 'tt_news' einfach auf die neueste Version updaten, da diese mit TYPO3 7.x kompatibel sein soll. –

+0

Ich habe das schon probiert. Es erzeugt die '# 1288215890: TCA-Baumkonfiguration ist ungültig:" treeConfig "Array fehlt Fehler. Und wenn ich fügen Sie den ' 'treeConfig' => Array ( 'ExpandAll' => true, 'parentField' => 'pid', 'Aussehen' => Array ( 'Showheader' => TRUE, ), ), 'Ich bekomme null Kategorien oder, wenn ich das' parentField' auf 0 ändere, bekomme ich alle Kategorien in einem einzigen Zweig und eine riesige Sauerei (da sich die Namen überlappen). – Peon

+0

@DainisAbols können Sie Ihre TCA mit TCA-Formular vergleichen [tt_news 7.6.3] (https://github.com/rupertgermann/tt_news/blob/7.6.3/Configuration/TCA/tt_news.php#L339-L361). Wahrscheinlich kann das Problem gelöst werden, indem 'parentField' => 'parent_category', 'in' treeConfig' hinzugefügt wird. –