Reputation: 1362
I am trying to understand how to set up a basic sitepackage in TYPO3 13 using the new sets and I must be missing a simple step that the tutorial does not mention.
I have a simple set that is just a name and label that has been added to the page using the Sites module.
The only other thing I have is setup.typoscript
in the same folder as the set config.yaml
.
The setup just contains a basic Hello World.
But viewing the page gives me #1607585445 TYPO3\CMS\Core\Error\Http\InternalServerErrorException No page configured for type=0.
So it's ignoring the typoscript file.
How do I make it use the setup.typoscript
in the set folder?
Version tested: TYPO3 13.4 (Composer and non-composer)
Test environment made using Laragon on windows.
Configuration/Sets/Foo/config.yaml
:
name: foo/bar
label: "Bar"
Configuration/Sets/Foo/setup.typoscript
:
page = PAGE
page {
10 = TEXT
10.value = Hello World!
}
typo3conf/sites/foo/config.yaml
:
base: 'http://typo3-13.test/foo'
dependencies:
- foo/bar
languages:
-
title: English
enabled: true
languageId: 0
base: /
locale: en_US.UTF-8
navigationTitle: English
flag: us
rootPageId: 1
websiteTitle: ''
Other things I have tried:
page.tsconfig
file to the Set and this works as
expected.Upvotes: 2
Views: 415
Reputation: 1956
TYPO3 moves steadily and slowly towards versioning. Meaning previously system configuration related settings, are getting imported to your sitepackage and getting read automatically from TYPO3. One of those things is the inclusion of TypoScript records.
The problem i had and maybe almost everyone else who used ddev or in general the setup command, the command creates automatically a new sys_template record. So if you add a Site Set in your configuration, the sys_template record will have priority over it and you will get the error
TYPO3\CMS\Core\Error\Http\InternalServerErrorException No page configured for type=0.
Here is where the "magic" happens
https://github.com/TYPO3/typo3/blob/13.4/typo3/sysext/install/Classes/Service/SetupService.php#L186
This the function that is being called when in the setup process you decide to add a URL in the create-site
argument
https://github.com/TYPO3/typo3/blob/13.4/typo3/sysext/install/Classes/Command/SetupCommand.php#L638
if this returns a valid URL, then the command calls the SetupService and creates the sys_template record
https://github.com/TYPO3/typo3/blob/13.4/typo3/sysext/install/Classes/Command/SetupCommand.php#L250
I guess due to backwards compatibility reasons, they let the creation of the sys_template still active, so developers get used to SiteSets before they completely remove the sys_template table. Only time will tell.
Upvotes: 0
Reputation: 43
By using site set via config/sites/config.yaml
dependencies:
it is recommend to unlcheck the clear-flags in the Advanced Options tab in BE TypoScript-module in order to prevent that the Site Set is overriden.
"If the website uses a mixed setup consisting of a TypoScript template (sys_template) and site sets, it is important to uncheck the "Clear" flag for constants and setup in the TypoScript template. If the "Clear" flag is checked (default), TypoScript settings from site sets are cleared and do therefore not apply."
You may deactivate the whole template record, but don't forget to include ts from extension via dependencies in your config.yaml. Notice than up to now not all ext. are site set ready, so this way could cause problems.
Upvotes: 0
Reputation: 31
Found a the solution. For some reason TYPO3 13 does not show site extension in the include typo3 sets in the backend. I deleted the default typoscript added in backend and inserted it again. included fluid styled content and site extension typoscript from backend and it worked.
Upvotes: 0
Reputation: 11
I had the same problem. After hours of searching I found the cause which was especially for my windows setting. The 13 LTS TYPO3 core has problems with detecting correct paths on Windows engines (which is case for user500665, too). More in detail it is the resolvement of backslashes. The according core class is typo3/cms-core/Classes/TypoScript/IncludeTree/SysTemplateTreeBuilder.php:237, the Function is handleSetInclude().
The solution would be to add the handling of $path with GeneralUtility::fixWindowsFilePath($path) - which is not implemented by the core team yet. The bug is known - see https://forge.typo3.org/issues/105713.
Upvotes: 1
Reputation: 31
Had the same problem and resolved it by deleting the typoscript record assigned to the root page.
Upvotes: 0