The default controller for extension and plugin ca

2019-07-23 04:25发布

问题:

Good afternoon, dear friends! All, I give up. Tried well, all that was already possible. TYPO3 7.6.16

ext_tables.php:

<?php

if (!defined('TYPO3_MODE')) die ('Access denied.');

\TYPO3\CMS\Extbase\Utility\ExtensionUtility::registerPlugin(
    'MyVendor.' . $_EXTKEY,
    'Pi1',
    'The inventory list'
);

ext_localconf.php:

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

\TYPO3\CMS\Extbase\Utility\ExtensionUtility::configurePlugin(
    'MyVendor.' . $_EXTKEY,
    'Pi1',
    Array ('Comment' => 'list'),
    Array ('Comment' => 'list')
);

And constantly the same mistake The default controller for extension "Fecomments" and plugin "Pi1" can not be determined

I read topics with same error but nothing help me.

I already climbed into the kernel, found out that $configuration ['controllerConfiguration'] is an empty array, I do not know why data does not arrive there. Comrades, help me out, I do not know what to do, honestly! )

回答1:

At first, use the correct syntax for the two files. Examples:

ext_tables.php:

<?php
defined('TYPO3_MODE') || die('Access denied.');

call_user_func(
    function($extKey)
    {
        \TYPO3\CMS\Extbase\Utility\ExtensionUtility::registerPlugin(
            'VENDOR.Extensionkey',
            'Pi1',
            'Extension Display Name'
        );
    },
    $_EXTKEY
);

ext_localconf.php:

<?php
defined('TYPO3_MODE') || die('Access denied.');

call_user_func(
    function($extKey)
    {

        \TYPO3\CMS\Extbase\Utility\ExtensionUtility::configurePlugin(
            'VENDOR.' . $extKey,
            'Pi1',
            [
                'First' => 'action1, action2'
            ],
            // non-cacheable actions
            [
                'First' => ''
            ]
        );
    },
    $_EXTKEY
);

The make sure the namespace and class name are fine:

typo3conf/ext/extensionkey/Classes/Controller/FirstController.php:

/***
 *
 * This file is part of the "extensionkey" Extension for TYPO3 CMS.
 *
 * For the full copyright and license information, please read the
 * LICENSE.txt file that was distributed with this source code.
 *
 *  (c) 2017
 *
 ***/
use TYPO3\CMS\Extbase\Mvc\Controller\ActionController;

/**
 * FilecollectorController
 */
class FirstController extends ActionController
{

    /**
     * action1
     *
     * @return void
     */
    public function action1Action()
    {

    }

    /**
     * action1
     *
     * @return void
     */
    public function action2Action()
    {

    }

}

Clear all caches. Sometimes it will help to go into ExtensionManager and disable/enable the whole extension. In case of changed classnames or changes in the tables/localconf files, this will flush ALL caches.



回答2:

solution described here. In this link

http://blog.scwebs.in/typo3/the-default-controller-for-extension-not-found