0

私は TYPO3 拡張機能を作成しており、拡張機能のメイン メソッド内で拡張機能の絶対パスを取得する必要があるため、次のコードが必要です。

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

ただし、ページを実行すると、TYPO3 は次のエラー メッセージを返します。

「TYPO3 致命的なエラー: 拡張キー "" がロードされていません!"

EM で拡張キーを構成しました。ここにプロパティがあります。

localconf.php

同じプロパティを参照している 2 つの行が重複していることは注目に値します。どうしてそうなったのかはわかりません。私はそれらを手動で入力しませんでした。

$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. 

ご覧のとおり、最後の 2 行にはキー「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 は、使用する前に値に設定されていませんでした。

「tt_news」などのextkey値に置き換えて、エラーを解決しました。だから今は

$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 に答える