7

我是 TYPO3 的初学者 :) 我想在外部 php 文件中获取当前语言。

我怎样才能做到这一点?

非常感谢。

4

6 回答 6

18

如果你有一个 TSFE 的实例,你可以访问sys_language_uidvia$GLOBALS['TSFE']->sys_language_uid

于 2011-03-10T12:27:10.237 回答
16

对于 V9,$GLOBALS['TSFE']->sys_language_uid已弃用,建议使用 Language Aspect。

例子 :

$languageAspect = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance(\TYPO3\CMS\Core\Context\Context::class)->getAspect('language');
$sys_language_uid = $languageAspect->getId();
于 2019-03-05T15:09:41.810 回答
8

TYPO3 9+

$context = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance(\TYPO3\CMS\Core\Context\Context::class);

// The requested language of the current page as integer (uid)
$currentLanguageUid = $context->getPropertyFromAspect('language', 'id');   
于 2019-04-24T15:00:51.470 回答
6

获取当前语言始终是最好的方法:

$GLOBALS['TSFE']->sys_language_uid  

或者

$GLOBALS['TSFE']->sys_language_content

基于此,您将获得当前的语言 ID,您可以为此提供条件。

在 Typo3 10.x 版本中获取当前语言。

$context = GeneralUtility::makeInstance(\TYPO3\CMS\Core\Context\Context::class);
$langId = $context->getPropertyFromAspect('language', 'id');
于 2014-11-14T06:31:54.593 回答
0

通常 L 总是用作typo3 中的语言参数。$_GET['L']

于 2014-05-12T08:45:11.913 回答
0

如果您需要详细的语言属性

$request = $GLOBALS['TYPO3_REQUEST'];
\TYPO3\CMS\Extbase\Utility\DebuggerUtility::var_dump(
    $request->getAttribute('language')
);

进一步获取属性,例如语言路径

$path = $request->getAttribute('language')->getBase()->getPath();

参考:https ://docs.typo3.org/m/typo3/reference-coreapi/main/en-us/ApiOverview/SiteHandling/AccessingSiteConfiguration.html

于 2021-12-01T06:41:44.773 回答