首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >没有在模块中加载setup.txt / setup.typoscript

没有在模块中加载setup.txt / setup.typoscript
EN

Stack Overflow用户
提问于 2020-02-28 14:27:00
回答 2查看 669关注 0票数 0

我正在用Typo3 9.5编写扩展,无法加载setup.txt或setup.typoscript。

我正在尝试添加第二个只呈现JSON的页面类型。为此,我想我需要修改打字本。因此,我将此代码添加到我的setup.typoscript中:

代码语言:javascript
运行
复制
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)

现在,当尝试加载该页面类型时,我得到以下错误:

代码语言:javascript
运行
复制
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.

我还添加了一个测试变量,并在将该变量呈现为

代码语言:javascript
运行
复制
<f:cObject typoscriptObjectPath="testvar"/>

我知道错误:

代码语言:javascript
运行
复制
No Content Object definition found at TypoScript object path "testvar"

我的sys_template.php设置如下:

代码语言:javascript
运行
复制
<?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)

EN

回答 2

Stack Overflow用户

发布于 2020-02-28 14:35:15

如果要覆盖现有表的TCA,则需要将该文件放入Configuration/TCA/Overrides/

因此,sys_template.php的正确路径需要是Configuration/TCA/Overrides/sys_template.php

票数 1
EN

Stack Overflow用户

发布于 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.phpConfiguration\TCA\Overrides\sys_template.php中。但是,通常不建议这样做,因为您可能不希望为TypoScript安装中的所有页面和/或站点加载TYPO3。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60453715

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档