gpt4 book ai didi

TYPO3 v10 : How to access TSFE in Backend/Scheduler Task?

转载 作者:行者123 更新时间:2023-12-01 23:21:41 31 4
gpt4 key购买 nike

现状:
我正在尝试从后端(或者更确切地说是调度程序任务)内访问前端的 TypoScript 配置。之前在 Typo3 v8 和 v9 中,我初始化了整个 $GLOBALS["TSFE"] 对象,但是上次这已经被破解了(使用大部分已弃用的调用),现在它已在 v10 版本中全部删除。

我的目标:
从调度程序作业中访问特定页面前端的 TypoScript 配置(站点的根页面就可以了)。

整个项目背景:
我有一个定期调度程序作业,可以向各种用户(fe_users)发送电子邮件。该电子邮件包含某些页面的链接(在 typescript 中配置的 UID)以及文件附件等(由其他扩展生成,这些扩展也通过 typescript 完全配置)。目前,我基本上从后端初始化整个前端,但正如我之前所说,它效率低下, super 黑客,我怀疑这是否是解决这个问题的预期方法。

最佳答案

在后端获取 TypoScript 设置很难看,但也是可能的。

您需要一个页面 ID 和一个根行,您可以将其传递给 \TYPO3\CMS\Core\TypoScript\TemplateService::runThroughTemplates()

大致如下:

$template = GeneralUtility::makeInstance(TemplateService::class);
$template->tt_track = false;
$rootline = GeneralUtility::makeInstance(
RootlineUtility::class, $pageId
)->get();
$template->runThroughTemplates($rootline, 0);
$template->generateConfig();
$typoScriptSetup = $template->setup;

您可以从 \TYPO3\CMS\Extbase\Configuration\BackendConfigurationManager::getTypoScriptSetup\TYPO3\CMS\Tstemplate\Controller\TypoScriptTemplateObjectBrowserModuleFunctionController 获得灵感

关于TYPO3 v10 : How to access TSFE in Backend/Scheduler Task?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68005010/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com