我正在用Typo3 9.5编写扩展,无法加载setup.txt或setup.typoscript。
我正在尝试添加第二个只呈现JSON的页面类型。为此,我想我需要修改打字本。因此,我将此代码添加到我的setup.typoscript中:
ajax_ajaxjson = PAGE
ajax_ajaxjson {
typeNum = 1
config {
disableAllHeaderCode = 1
additionalHeaders = {
10 {
header = Content-Type: application/json
replace = 1
}
}
xhtml_cleaning = 0
debug = 0
no_cache = 1
admPanel = 0
}
10 < tt_content.list.20.tx_energieportal_ajaxjson
}
( EXT:\Configuration\TypoScript\setup.txt)
现在,当尝试加载该页面类型时,我得到以下错误:
TYPO3\CMS\Core\Error\Http\ServiceUnavailableException
The page is not configured! [type=1][]. This means that there is no TypoScript object of type PAGE with typeNum=1 configured.
我还添加了一个测试变量,并在将该变量呈现为
<f:cObject typoscriptObjectPath="testvar"/>
我知道错误:
No Content Object definition found at TypoScript object path "testvar"
我的sys_template.php设置如下:
<?php
defined('TYPO3_MODE') or die();
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addStaticFile(
'energieportal',
'Configuration/TypoScript',
'Energieportal Frontend'
);
(用EXT:\Configuration\TCA\sys_template.php)。
我还尝试将setup.txt重命名为setup.typoscript。
我还需要做些什么才能让模块加载setup.typoscript呢?我查看了文档和其他模块,但找不到任何用于设置该文件的内容。
我使用了搜索函数,但唯一类似的问题没有得到真正的回答。(Link)
发布于 2020-02-28 14:35:15
如果要覆盖现有表的TCA,则需要将该文件放入Configuration/TCA/Overrides/
。
因此,sys_template.php
的正确路径需要是Configuration/TCA/Overrides/sys_template.php
。
发布于 2020-02-28 14:38:21
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addStaticFile
只将其添加到可以加载到TypoScript模板中的静态TypoScript文件列表中。它不会自动加载TypoScript文件。
您必须将其包含在TypoScript后端的TYPO3模板中。您可以在Includes
选项卡的Include static (from extensions)
下找到可用的静态模板。
或者,您可以使用TypoScript或<INCLUDE_TYPOSCRIPT: source="FILE:EXT:energieportal/Configuration/TypoScript/setup.typoscript">
将其包含在已经以前面提到的方式加载的不同的<INCLUDE_TYPOSCRIPT: source="FILE:EXT:energieportal/Configuration/TypoScript/setup.typoscript">
文件中。
还可以使用TypoScript直接从PHP添加\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTypoScript('My TypoScript')
,因此您可以在那里添加@import
或<INCLUDE_TYPOSCRIPT...>
行。您可以将其添加到扩展的ext_localconf.php
或Configuration\TCA\Overrides\sys_template.php
中。但是,通常不建议这样做,因为您可能不希望为TypoScript安装中的所有页面和/或站点加载TYPO3。
https://stackoverflow.com/questions/60453715
复制相似问题