2

TL;博士:

站点包教程的后端布局(默认/标准和两列)不会在外观 -> 后端布局中显示新页面。此线程 (1.html) 中的错误消息是来自原始旧站点设置的先前后端布局的人工制品。

解决方案:

为了使站点包教程的后端布局显示在那里,我必须编辑站点的根页面:资源 -> 包含静态页面 TSconfig(来自扩展)并从可用项目列表中添加站点包。这也可以在没有“资源 -> 包含静态页面 TSconfig(来自扩展)”的情况下实现,但可以通过ext_localconf.php站点包扩展 ( ) 根目录中的文件来实现gpcf_theme

<?php
defined('TYPO3_MODE') || die();

$boot = function (string $_EXTKEY): void {
        \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPageTSConfig('
                <INCLUDE_TYPOSCRIPT: source="FILE:EXT:'.$_EXTKEY.'/Configuration/TsConfig/Page/Page.tsconfig">
        ');
};
$boot('gpcf_theme');
unset($boot);

原始问题:

我仍在尝试按照 TYPO3 Sitepackage 教程将现有(旧)网页引入 Typo3 11。

目前我得到一个

"Oops, an error occurred! Code: 202111161210589c32f8c0"

并且无论我做什么都无法摆脱它。

日志文件中的相应条目是(我添加的换行符):

../../var/log/typo3_61306f633c.log:Tue, 16 Nov 2021 12:10:58 +0000 [ALERT] request="30cc4e082c853" 
component="TYPO3.CMS.Frontend.ContentObject.Exception.ProductionExceptionHandler": 
Oops, an error occurred! Code: 202111161210589c32f8c0- InvalidTemplateResourceException:
Tried resolving a template file for controller action "Standard->1" in format ".html",
but none of the paths contained the expected template file (Standard/1.html).
The following paths were checked: 
/var/www/html/typo3_11/public/typo3conf/ext/gpcf_theme/Resources/Private/Templates/Page/, 
in file /var/www/html/typo3_11/vendor/typo3fluid/fluid/src/View/TemplatePaths.php

我找不到这个错误的原因,因为我不知道从哪里请求所需的模板 Standard/1.html。

如果没有找到其他东西,这是某种硬编码的默认值吗?如果是这种情况,真正的问题是,我对 Sitepackage 教程源代码的自定义似乎是错误的,但尽管有上述错误,但它从未产生任何不同的错误,这并没有真正的帮助。好吧,这是猜测,因为我不知道。

如您所见,站点包已重命名为 gpcf_theme,它在后端可用并作为根模板应用于站点。没有其他模板处于活动状态(AFAIK)。一个简单的新创建的测试页面会产生上述错误。

如果我在 Configuration/TypoScript/Setup/Page.typoscript 中取消注释这些行,以便:

page = PAGE
page {
  typeNum = 0
  10 = TEXT
  10.value = Hello World!
}

同样的错误,没有你好世界。

知道如何找到我痛苦的原因吗?

4

2 回答 2

2

也许修复真的很简单。尝试进入后端:

  1. 编辑主页
  2. 到“外观”选项卡
  3. 设置此页面和子页面的后端布局
  4. 保存更改

它现在很有可能正在工作。

这是怎么回事?

您可以将此查询投射到您的数据库上:

SELECT 
    uid, pid, title, backend_layout, backend_layout_next_level 
FROM
    pages;

在这里,您会得到一个页面列表,其中一些已backend_layout填满backend_layout_next_level。您的主页很可能在此字段中有一些值?

此字段的值由 TSConfig 为您设置的后端布局生成: https ://docs.typo3.org/m/typo3/tutorial-sitepackage/11.5/en-us/ContentMapping/Index.html#dynamic-content - 排版渲染

然后在您的 TypoScript 中读取和处理此列: https ://docs.typo3.org/m/typo3/tutorial-sitepackage/11.5/en-us/TypoScriptConfiguration/Index.html#part-1-fluid-template-section

它在代码片段下面进行了解释。

如果我的回答开头的 4 个步骤没有解决您的问题,那么这就是要看的地方。

  1. TSConfig中定义了后端布局、列、标签以及pages.backend_layout db-field中写入的内容
  2. 如果值有意义,则为DB 列pagets__<yourTemplateName>
  3. 读取此 db-field的TypoScriptpagets__将剩下的部分.html用于在下面 TypoScript 中定义的路径中添加和搜索。
  4. 检查模板文件的文件夹和文件名是否正确。
于 2021-11-17T19:03:44.693 回答
0

错误消息指出文件夹中应有文件 1.html/var/www/html/typo3_11/public/typo3conf/ext/gpcf_theme/Resources/Private/Templates/Page/

正如您所指出的,您已经重命名了站点包,您可能错过了一些原始包名称的出现,因此一些配置丢失或指向必杀技。

于 2021-11-17T11:22:22.297 回答