2016-06-28 20 views
0

Ich versuche einen Marker innerhalb meines Typoskripts zu überschreiben, wenn der Inhalt von meiner benutzerdefinierten Erweiterung gerendert wird.TYPO3 Extension im Typoscript COA erkennt den Standard Controller nicht

Soweit ich weiß Es soll so arbeiten (Wo MENU_PRODUKT_CATEGORIES) mein Marker ist:

MENU_PRODUKT_CATEGORIES = COA 
     MENU_PRODUKT_CATEGORIES { 
      10 = USER 
      10 { 
       userFunc = TYPO3\CMS\Extbase\Core\Bootstrap->run 
       extensionName = MoTimeProducts 
       pluginName = Products 
       vendorName = products 
       controller = Category 
       action = parentList 
      } 
     } 

Der Erweiterungsname und zugehörige Konfigurationen scheinen mir auch richtig. Wenn ich var_dump() meine ext_localconf.php Konfiguration dies ist angezeigt:

Mein erster Parameter wo MoTimeProducts ist mein extensionName und Produkte mein vendorName. Ist das richtig?

MoTimeProducts.products 

Der zweite Parameter sollte der pluginName sein und scheint in Ordnung zu sein. Diese

Products 

ist, wie meine komplette ext_localconf Konfiguration wie folgt aussieht:

<?php 
if (!defined('TYPO3_MODE')) { 
    die('Access denied.'); 
} 

\TYPO3\CMS\Extbase\Utility\ExtensionUtility::configurePlugin(
    'MoTimeProducts.' . $_EXTKEY, 
    'Products', 
    array(
     'Category' => 'list, parentList', 
     'Product' => 'list, show, filter, ajaxFilter, refList', 
     'Formular' => 'display' 
    ), 
    // non-cacheable actions 
    array(
     'Category' => '', 
     'Product' => 'ajaxFilter, list', 
     'Formular' => 'display' 
    ) 
); 

mein Controller und Action-Konfiguration scheint auch in Ordnung. Im Folgenden meiner Aktion im CategoryController

/** 
* action list 
* 
* @return void 
*/ 
public function parentListAction() { 
    $this->view->assign('categories', $currentCategory = $this->categoryRepository->getHighestLevelCategories($GLOBALS['TSFE']->sys_language_uid)); 
} 

Ich habe auch eine Flex-Form für die Back-End-Konfiguration und Einfügen von Plugins könnte dies auch ein Grund dafür sein?

Thx zum Lesen.

Antwort

1

Oh wow es war

MENU_PRODUKT_CATEGORIES = COA 
      MENU_PRODUKT_CATEGORIES { 
       10 = USER 
       10 { 
        userFunc = TYPO3\CMS\Extbase\Core\Bootstrap->run 
        pluginName = Products 
        extensionName = Products 
        vendorName = MoTimeProducts 
        controller = Category 
        action = list 
        switchableControllerActions { 
         Category { 
          1 = parentList 
         } 
        } 
       } 
      } 

Wo vendor mit einer Kombination aus kleingeschrieben Plugin-Namen das erste Paramater für die Plugin-Konfiguration ist.

Bearbeiten: Es stellt sich heraus, es ist sehr schlechte Praxis, den gleichen Namen für das Plugin/die Erweiterung zu haben, die zu Verwirrung und Fehlern führen kann. Man sollte es vermeiden, wie ich es um jeden Preis getan habe!