【问题标题】:How to call baseurl in TYPO3 Back End Module Extension如何在 TYPO3 后端模块扩展中调用 baseurl
【发布时间】:2014-12-24 04:38:54
【问题描述】:

我想为我的自定义 TYPO3 后端模块扩展调用 base-url。是否有任何内置功能。如果不是如何配置一个常量并调用它?

任何想法请分享。

注意:我正在使用 TYPO3。 6.2.9

【问题讨论】:

  • 你能显示你当前使用的代码吗?通常你可以使用$this->backpath . '/..'
  • @pgampe 我试过 $this->backpath;但它返回 NULL
  • 因为它是 BE 模块,我们不能使用 $GLOBALS['TSFE']->baseurl;
  • 再次,请向我们展示您的代码。你如何注册模块,你从哪些类扩展,等等。

标签: typo3 typoscript typo3-6.1.x typo3-6.2.x typo3-4.5


【解决方案1】:

发现这是一种解决方法:

该函数正在尝试获取 config.baseURL 中设置的 baseURL。 如果在打字稿设置中未设置 baseurl,它将使用 "$_SERVER['SERVER_NAME']" 作为基础。

也许会有所帮助..

function loadTS($pageUid) {
    $backendUtility = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Backend\\Utility\\BackendUtility');
    $rootLine = $backendUtility->BEgetRootline($pageUid);
    $TSObj = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Core\\TypoScript\\TemplateService');
    $TSObj->tt_track = 0;
    $TSObj->init();
    $TSObj->runThroughTemplates($rootLine);
    $TSObj->generateConfig();
    return $TSObj->setup;
} 

$TS = $this->loadTS('1');

!$TS['config.']['baseURL']) 
{ 
    $baseURL = 'http://'.$_SERVER['SERVER_NAME'].'/';
} 
else 
{
    $baseURL = $TS['config.']['baseURL'];
}  

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多