[英]TYPO3 6.0.4 default controller for extension not found
我使用擴展程序生成器創建了我的第三個擴展程序,但是此擴展程序無法正確安裝。 我得到錯誤:
無法確定擴展名“ NtImpressions”和插件“ Gallery”的默認控制器。 請在ext_localconf.php中檢查TYPO3 \\ CMS \\ Extbase \\ Utility \\ ExtensionUtility :: configurePlugin()。
我沒有修改擴展文件中的任何內容。 插件由擴展構建器完全生成。 這是ext_localconf.php
<?php
if (!defined('TYPO3_MODE')) {
die ('Access denied.');
}
\TYPO3\CMS\Extbase\Utility\ExtensionUtility::configurePlugin(
'Xxx.' . $_EXTKEY,
'Gallery',
array(
'Galerie' => 'list, show',
),
array(
'Galerie' => '',
)
);
?>
還有ext_tables.php
<?php
if (!defined('TYPO3_MODE')) {
die ('Access denied.');
}
\TYPO3\CMS\Extbase\Utility\ExtensionUtility::registerPlugin(
$_EXTKEY,
'Gallery',
'Galerie'
);
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addStaticFile($_EXTKEY, 'Configuration/TypoScript', 'Impressionen');
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addLLrefForTCAdescr('tx_ntimpressions_domain_model_galerie', 'EXT:nt_impressions/Resources/Private/Language/locallang_csh_tx_ntimpressions_domain_model_galerie.xlf');
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::allowTableOnStandardPages('tx_ntimpressions_domain_model_galerie');
$TCA['tx_ntimpressions_domain_model_galerie'] = array(
'ctrl' => array(
'title' => 'LLL:EXT:nt_impressions/Resources/Private/Language/locallang_db.xlf:tx_ntimpressions_domain_model_galerie',
'label' => 'bezeichnung',
'tstamp' => 'tstamp',
'crdate' => 'crdate',
'cruser_id' => 'cruser_id',
'dividers2tabs' => TRUE,
'versioningWS' => 2,
'versioning_followPages' => TRUE,
'origUid' => 't3_origuid',
'languageField' => 'sys_language_uid',
'transOrigPointerField' => 'l10n_parent',
'transOrigDiffSourceField' => 'l10n_diffsource',
'delete' => 'deleted',
'enablecolumns' => array(
'disabled' => 'hidden',
'starttime' => 'starttime',
'endtime' => 'endtime',
),
'searchFields' => 'bezeichnung,beschreibung,bilder,bilder_beschreibung,',
'dynamicConfigFile' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath($_EXTKEY) . 'Configuration/TCA/Galerie.php',
'iconfile' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extRelPath($_EXTKEY) . 'Resources/Public/Icons/tx_ntimpressions_domain_model_galerie.gif'
),
);
?>
我猜想名稱空間設置不正確,並且TYPO3無法確定您的控制器GalerieController->listAction
。
configurePlugin
的第一部分在TYPO3 6.0中注冊了名稱空間,因此您需要將此名稱空間添加到所有類中。 命名空間被解析到可以找到具有該類的文件的路徑。 這等效於舊語法。
舊語法:
class Tx_YourExtension_Controller_YourController {
//...
}
就是現在
<?php
namespace YourVendor\YourExtension\Controller;
class YourController {
//...
}
所以下面的配置
\TYPO3\CMS\Extbase\Utility\ExtensionUtility::configurePlugin(
'Xxx.' . $_EXTKEY,
...
將Xxx注冊為供應商,因此所有類都必須位於該命名空間中
<?php
namespace Xxx\Gallery\Controller
class GalleryController {
// ...
}
其中“ Gallary”是您在大駝峰情況下的擴展鍵。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.