Пустое значение при попытке прочитать данные XML

В своем плагине я пытаюсь прочитать данные из файла locallang.xml, используя функцию Typo3 pi_getLL(),

PHP

$this->pi_loadLL();
var_dump($this->pi_getLL('test'));

XML

<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<T3locallang>
<meta type="array">
<type>module</type>
<description>Language labels for plugin &quot;tx_fzswettbewerbsg_pi2&quot;</description>
</meta>
<data type="array">
<languageKey index="default" type="array">
<label index="test">German</label>
</languageKey>
<languageKey index="fr" type="array">
<label index="test">France</label>
</languageKey>
</data>
</T3locallang>

Когда я запускаю этот скрипт, я всегда получаю пустую строку:

строка (0) «»

Почему var_dump() не возвращает значения из моего XML?

0

Решение

* следующее решение для TYPO3 v4.7x

Это должно быть работа, как в вашем вопросе:

public function main($content, array $conf) {
$this->conf = $conf;
$this->pi_loadLL();

$this->pi_getLL('label_index_name', 'alternative-text', 0); // 0 or 1 If TRUE, the output label is passed through htmlspecialchars()
}

Вы можете получить метку, используя глобальные переменные, такие как: Ссылка

public function main($content, array $conf) {

$GLOBALS['LANG']->sL('LLL:EXT:your_ext/locallang.xml:label_index_name');
// OR

$LL = $this->includeLocalLang();
$GLOBALS['LANG']->getLLL('label_index_name', $LL);
}

public function includeLocalLang() {
$llFile = t3lib_extMgm::extPath('your_ext') . 'locallang.xml';
$version = class_exists('t3lib_utility_VersionNumber')
? t3lib_utility_VersionNumber::convertVersionNumberToInteger(TYPO3_version)
: t3lib_div::int_from_ver(TYPO3_version);
if ($version < 4006000) {
$LOCAL_LANG = t3lib_div::readLLXMLfile($llFile, $GLOBALS['LANG']->lang);
} else {
/** @var $llxmlParser t3lib_l10n_parser_Llxml */
$llxmlParser = t3lib_div::makeInstance('t3lib_l10n_parser_Llxml');
$LOCAL_LANG = $llxmlParser->getParsedData($llFile, $GLOBALS['LANG']->lang);
}

return $LOCAL_LANG;
}

Еще одна хитрость;)

Tx_Extbase_Utility_Localization::translate('label_index_name', $extensionName, $arguments=NULL);
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]