我有toolbox
很多自定义 ViewHelpers 的站点包扩展。为了不违反 DRY 规则,我注册了我自己的命名空间(使用全局命名空间导入提示),以便在 Fluid 中识别它,而不是像通常那样放置在每个模板的开头,typo3conf/ext/toolbox/ext_tables.php
并且通常这样工作:
$GLOBALS['TYPO3_CONF_VARS']['SYS']['fluid']['namespaces']['toolbox'] = ['BIESIOR\Toolbox\ViewHelpers'];
我可以(或者更确切地说可以)使用我的 VH's like <toolbox:someViewHelper />
,但是在将页面从开发移动到生产(同一台机器,只是切换域)之后,我突然得到一个异常,例如:
TYPO3Fluid\Fluid\Core\Parser\UnknownNamespaceException
Fluid parse error in template Standard_action_Orangeheader_2c41396366318874342b894b22eff7acb311cc0c, line 2 at character 1. Error: Unknown Namespace: toolbox (error code 0). Template source chunk: {toolbox:containerEscape(condition: data.tx_mask_escape, start: 'true')}
当我以管理员身份登录 BE 并在同一个浏览器中预览 FE 时,令人沮丧的问题消失了,只要我从 BE 注销和/或在另一个浏览器中访问所需的 FE 页面,异常就会回来。
正如在开发过程中提到的,注销后没有发生此问题。
ViewHelper 用于包含在带有FLUIDTEMPLATE
cObject 的主要 TypoScript 中的页面模板中。
有人有这种奇怪的行为吗?