0

我正在编写 TYPO3 扩展,并且在扩展的主要方法中我需要获取扩展的绝对路径,所以我有这段代码:

...    
$extPth = t3lib_extMgm::extPath($_EXTKEY);
$tempUploadPth = $extPth.'/res/uploads';
return $tempUploadPth;
...

但是,当我运行该页面时,TYPO3 会返回此错误消息:

“TYPO3 致命错误:未加载扩展键”!

在 EM 中,我配置了扩展密钥,以下是来自的属性

本地配置文件

值得注意的是,引用同一属性的两行是重复的——我不知道这是怎么发生的。我没有手动输入它们。

$TYPO3_CONF_VARS['EXT']['extList'] = 'info,perm,func,filelist,about,tsconfig_help,context_help,extra_page_cm_options,impexp,sys_note,tstemplate,tstemplate_ceditor,tstemplate_info,tstemplate_objbrowser,tstemplate_analyzer,func_wizards,wizard_crpages,wizard_sortpages,lowlevel,install,belog,beuser,aboutmodules,setup,taskcenter,info_pagetsconfig,viewpage,rtehtmlarea,css_styled_content,t3skin,t3editor,reports,felogin,form,introduction';

$TYPO3_CONF_VARS['EXT']['extList'] = 'extbase,css_styled_content,info,perm,func,filelist,about,tsconfig_help,extra_page_cm_options,impexp,sys_note,tstemplate,tstemplate_ceditor,tstemplate_info,tstemplate_objbrowser,tstemplate_analyzer,func_wizards,wizard_crpages,wizard_sortpages,lowlevel,install,belog,beuser,aboutmodules,setup,taskcenter,info_pagetsconfig,viewpage,rtehtmlarea,t3skin,t3editor,reports,felogin,form,introduction,rsaauth,saltedpasswords,fluid,version,workspaces,scheduler,linkvalidator,automaketemplate,realurl,tt_news,indexed_search,wt_spamshield,jquerycolorbox,kickstarter,player_profile,sponzorstvo_amer';    // Modified or inserted by TYPO3 Extension Manager. Modified or inserted by TYPO3 Core Update Manager. 

$TYPO3_CONF_VARS['EXT']['extList_FE'] = 'extbase,css_styled_content,install,rtehtmlarea,t3skin,felogin,form,introduction,rsaauth,saltedpasswords,fluid,version,workspaces,automaketemplate,realurl,tt_news,indexed_search,wt_spamshield,jquerycolorbox,kickstarter,player_profile,sponzorstvo_amer';    // Modified or inserted by TYPO3 Extension Manager. 

如您所见,最后两行输入了键“sponzorstvo_amer”,但我仍然不知道为什么在使用全局变量 $_EXTKEY 时会出现此错误

有什么想法吗??

4

3 回答 3

4

可能,$_EXTKEY没有定义?

如果我们检查经典的 tt_news 扩展,一开始我们可以看到扩展键的手动定义:

... 
var $extKey = 'tt_news'; // The extension key.
...

因此,似乎在插件上下文中$_EXTKEY不应该使用什么ext_tables.php,例如在 .

于 2012-03-21T09:59:05.590 回答
1

在 *__wizicon.php 中,我使用了引用文件

$llFile = \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath($extKey) . 'Resources/Private/Language/locallang.xml';

并且 $extKey 在使用之前没有设置为值。

我已将其替换为 extkey 值,例如“tt_news”,它为我解决了错误。所以现在是

$llFile = \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath('tt_news') . 'Resources/Private/Language/locallang.xml';
于 2017-02-27T20:05:13.083 回答
-1

你是如何命名你的扩展文件夹的?文件夹名称 = 扩展键。如果不匹配,TYPO3 将抛出此异常。

您在扩展代码中所做的应该与它无关。

于 2012-03-21T09:59:08.950 回答