Ключ расширения TYPO3

Я пишу расширение TYPO3, и внутри основного метода расширения мне нужно получить абсолютный путь расширения, поэтому у меня есть этот фрагмент кода:

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

Однако, когда я запускаю страницу, TYPO3 возвращает это сообщение об ошибке:

"Неустранимая ошибка TYPO3: Ключ расширения "" НЕ загружен!"

В EM я настроил ключ расширения, и вот свойства из

localconf.php

Примечательно, что две строки, относящиеся к одному и тому же свойству, дублируются, и я не знаю, как это произошло. Я не вводил их вручную.

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

Есть предположения??


person azec-pdx    schedule 21.03.2012    source источник


Ответы (3)


Возможно, $_EXTKEY не определен?

Если мы проверим классическое расширение tt_news, то вначале мы могли увидеть ручное определение ключа расширения:

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

Итак, кажется, что в контексте плагина не следует использовать $_EXTKEY, как это возможно, например, в ext_tables.php.

person Fedir RYKHTIK    schedule 21.03.2012
comment
Я сделал это так, вручную определил $extKey, поэтому вспомогательная функция теперь возвращает правильный путь! - person azec-pdx; 21.03.2012

В *__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';
person Krunal Patel    schedule 27.02.2017

Как вы назвали папку расширения? Имя папки = ключ расширения. Если это не соответствует, TYPO3 выдаст это исключение.

То, что вы делаете в своем коде расширения, не должно иметь к этому никакого отношения.

person Shufla    schedule 21.03.2012
comment
Директория расширения также называется sponzorstvo_amer, так что это не похоже на проблему с названием. - person azec-pdx; 21.03.2012