2016-06-29 10 views

Antwort

4

In TYPO3 Version 7.6 neue Assistenten werden wie folgt hinzugefügt:

  1. Innerhalb Ihrer Erweiterung das Verzeichnis erstellen Configuration/Backend/
  2. Im neuen Verzeichnis eine Datei Routes.php, wird es automatisch zu finden, nicht zu erwähnen, in ext_localconf.php oder ext_tables.php ist erforderlich. Wenn Sie Ajax noch benötigen, können Sie die Datei AjaxRoutes.php im selben Ordner hinzufügen.
  3. Inhalte für Routes.php:

    return array(
        'my_wizard_element' => array(
         'path' => '/wizard/tx_geoselecotor/geo_selector_wizard', 
         'target' => \Path\To\your\class\WizardGeoSelector::class . '::WizardAction' 
        ), 
    ); 
    

Inhalte für AjaxRoutes.php

<?php 

/** 
    * Definitions for routes provided by EXT:backend 
    * Contains all AJAX-based routes for entry points 
    * 
    * Currently the "access" property is only used so no token creation + validation is made 
    * but will be extended further. 
    */ 
return array('my_ajax_element' => array(
     'path' => 'tx_geoselecotor/my_ajax_route', 
     'target' => \Path\To\your\class\MyAjaxController::class .'::myAjaxFunction' 
)); 

Wenn Sie über die Schreibweise nicht sicher sind Sie mit den bestehenden Einträgen in den globalen Variablen im Backend vergleichen:

Navigieren Sie zu System -> Konfiguration -> Backend Routen

Die Route der Pfade unterschiedlich gehandhabt wird, für Ajax ist es immer „Ajax“ vorangestellt, so dass Sie nie haben es auf den Pfad hinzuzufügen, sonst ist es zweimal in der Route. Für die gemeinsame Route ändert sich nichts an der definierten Zeichenkette.

  1. Jetzt kann der Wizard verwendet werden und auch er muss nie in ext_tables definiert werden.php es im Konfigurationsbereich (Modul [name]) gibt es von jedem Tabellenfeld erwähnt werden muss:

    'table_field_for_wizard' => array(
        'label' => 'LLL:EXT:my_extension/Resources/Private/Language/locallang.xml:table_name.tx_myextension_wizard', 
        'config' => array (
         'type' => 'user', 
         'userFunc' => 'Path/to/class/without/wizard->renderForm', 
         'wizards' => array(
          'my_wizard' => array(
          'type' => 'popup', 
          'title' => 'MyTitle', 
          'JSopenParams' => 'height=700,width=780,status=0,menubar=0,scrollbars=1', 
          'icon' => 'EXT:' . $_EXTKEY . '/Resources/Public/img/link_popup.gif', 
          'module' => array(
           'name' => 'my_wizard_element', 
           'urlParameters' => array(
           'mode' => 'wizard', 
           'ajax' => '0', 
           'any' => '... parameters you need' 
          ), 
          ), 
         ), 
          '_VALIGN' => 'middle', 
          '_PADDING' => '4', 
         ), 
         # Optional 
         #'softref'=>'something', 
        ), 
    ), 
    

Im userFunc Path/to/class/without/wizard->renderForm Sie haben eine Schaltfläche zu erstellen, die auf die Verknüpfung wird wizard und onKlicken Sie auf den Assistenten, der mit der Route geöffnet wird, die Sie in Routes.php und den optionalen URL-Parametern definiert haben.

Zur Zeit habe ich diesen ganzen Artikel nie in der Kern-Dokumentation erklärt.

Edit:
Details zum Routing finden Sie hier: Routing

Die Rendering-Prozess finden Sie hier: Rendering/NodeFactory Sie sollten wahrscheinlich lesen Sie auch den äußeren Rahmen des verknüpften Absatz.

3

IN TCA den Assistenten fügen Sie wie folgt vor:

'module' => array(
'name' => 'wizard_geo_selector', 
), 

In ext_tables.php den Assistenten registrieren.

\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addModulePath(
     'wizard_geo_selector', 
     \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath($_EXTKEY) . 'Modules/Wizards/Yourwizardname/' 
); 

Denken Sie daran, diese seit Typo3 ist veraltet 7 und in Typo3 8.So entfernt diese Methode bis zu Typo3 7.For Typo3 8 die Methode, mit David unten angegeben verwenden kann.

1

Rickys Antwort nicht wirklich mehr arbeiten, da addModulePath ist seit Version veraltet 7.

Auch nur das Modul wie diese Registrierung noch die geben dem Sie Fehler.

Das einzige, was der Assistent wieder ist dies in Gang hält:

\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addModule('wizard','pbsurvey_answers',"",\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath($_EXTKEY).'wizard/'); 

Aber wenn Sie diese hinzufügen, wird das Modul als neuer Punkt im Backend TYPO3.

+0

gibt mir gleiche Fehler „Modul AppWizard nicht konfiguriert ist.“ –

+2

david's antwort funktioniert wie ein charme, das ist der weg es zu tun. – CDRO

+0

können Sie erklären, Sie vollständigen Code wie tca Konfiguration –

Verwandte Themen