2017-09-28 4 views
-1

Dans ma configuration \ TCA \ Remplacements \ tx_news_domain_model.php ajouter l'option pour sélectionner le champ comme ceci:TYPO3 ajouter et mettre en œuvre une action pour les nouvelles prolongation

$GLOBALS['TYPO3_CONF_VARS']['EXT']['news']['switchableControllerActions']['newItems']['News->gallery'] = 'Gallery view'; 

Dans mon ext_localconf.php

$GLOBALS['TYPO3_CONF_VARS']['EXT']['news']['classes']['Controller/NewsController'][] = 'news_extender'; 

dans mon extension

namespace Vendor\NewsExtender\Controller\NewsController; 

class NewsController extends \GeorgRinger\News\Controller\NewsContoller { 

    public function galleryAction() 
    { 
    ... 
    } 
} 

Je reçois une erreur: une action « galerie L'action "n'existe pas dans le contrôleur" GeorgRinger \ News \ Controller \ NewsController " Donc, je suppose qu'il n'y a pas de remplacement de NewsController. Ma question est s'il est possible d'ajouter une nouvelle action au contrôleur comme je le fais (['Controller/NewsController'][])? Si non, puis-je réaliser autrement? Si oui, donnez un exemple.

Répondre

0

Je ne sais pas exactement ce que j'ai fait pour le réparer, mais comme je l'ai fait mes recherches, j'ai découvert que mon chemin vers le contrôleur était faux, après l'avoir changé, je passe quelques heures de plus à effacer le cache de BE et à réinstaller l'extension sans résultat. Après avoir ajouté la ligne function listAction() {} à mon NewsController j'ai finalement eu une erreur Fatal error: Cannot redeclare GeorgRinger\News\Controller\NewsController::listAction() in D:\live_system\typo3\typo3_src\typo3temp\Cache\Code\news\tx_news_controller_newscontroller.php on line 618. Après avoir effacé manuellement Typo3temp/Cache et en supprimant listAction de mon contrôleur tout fonctionne très bien.

0

Le premier code doit aller dans un fichier ext_localconf. S'il vous plaît télécharger le code complet à par exemple github.com pour jeter un oeil comme en général il semble bon

+0

Nous vous remercions de votre réponse. Il n'y a plus de code sauf le fichier ** ext_emconf.php ** et le fichier if (! Defined ('TYPO3_MODE')) die ('Accès refusé.'); 'Parties. J'ai changé l'emplacement de la première partie à ext_localconf comme vous l'avez suggéré, changé l'espace de noms de 'Vendor \ NewsExtender \ Controller \ NewsController' à' Vendeur \ NewsExtender \ Controller' et changé la clé d'extension à 'newsextender' sans succès. –