TYPO3 v15 dev-main snapshot ()

This commit is contained in:
2026-08-10 22:31:39 +02:00
commit e54ab24745
68 changed files with 3683 additions and 0 deletions
+270
View File
@@ -0,0 +1,270 @@
<?php
defined('TYPO3') or die();
$openGraphCropConfiguration = [
'config' => [
'cropVariants' => [
'default' => [
'disabled' => true,
],
'social' => [
'title' => 'core.wizards:imwizard.crop_variant.social',
'coverAreas' => [],
'cropArea' => [
'x' => '0.0',
'y' => '0.0',
'width' => '1.0',
'height' => '1.0',
],
'allowedAspectRatios' => [
'1.91:1' => [
'title' => 'core.wizards:imwizard.ratio.191_1',
'value' => 1200 / 630,
],
'NaN' => [
'title' => 'core.wizards:imwizard.ratio.free',
'value' => 0.0,
],
],
'selectedRatio' => '1.91:1',
],
],
],
];
$tca = [
'palettes' => [
'seo' => [
'label' => 'core.form.palettes:seo',
'showitem' => 'seo_title',
],
'robots' => [
'label' => 'core.form.palettes:robots',
'showitem' => 'no_index, no_follow',
],
'canonical' => [
'label' => 'core.form.palettes:canonical',
'showitem' => 'canonical_link',
],
'sitemap' => [
'label' => 'core.form.palettes:sitemap',
'showitem' => 'sitemap_changefreq, sitemap_priority',
],
'opengraph' => [
'label' => 'core.form.palettes:opengraph',
'showitem' => 'og_title, --linebreak--, og_description, --linebreak--, og_image',
],
'twittercards' => [
'label' => 'core.form.palettes:twittercards',
'showitem' => 'twitter_title, --linebreak--, twitter_description, --linebreak--, twitter_image, --linebreak--, twitter_card',
],
],
'columns' => [
'seo_title' => [
'exclude' => true,
'l10n_mode' => 'prefixLangTitle',
'label' => 'seo.db:pages.seo_title',
'config' => [
'type' => 'input',
'size' => 40,
'max' => 255,
'eval' => 'trim',
],
],
'no_index' => [
'exclude' => true,
'l10n_mode' => 'exclude',
'onChange' => 'reload',
'label' => 'seo.db:pages.no_index_formlabel',
'config' => [
'type' => 'check',
'renderType' => 'checkboxToggle',
'items' => [
[
'label' => '',
'invertStateDisplay' => true,
],
],
],
],
'no_follow' => [
'exclude' => true,
'l10n_mode' => 'exclude',
'label' => 'seo.db:pages.no_follow_formlabel',
'config' => [
'type' => 'check',
'renderType' => 'checkboxToggle',
'items' => [
[
'label' => '',
'invertStateDisplay' => true,
],
],
],
],
'sitemap_changefreq' => [
'exclude' => true,
'label' => 'seo.db:pages.sitemap_changefreq',
'config' => [
'type' => 'select',
'renderType' => 'selectSingle',
'items' => [
['label' => 'seo.db:pages.sitemap_changefreq.none', 'value' => ''],
['label' => 'seo.db:pages.sitemap_changefreq.always', 'value' => 'always'],
['label' => 'seo.db:pages.sitemap_changefreq.hourly', 'value' => 'hourly'],
['label' => 'seo.db:pages.sitemap_changefreq.daily', 'value' => 'daily'],
['label' => 'seo.db:pages.sitemap_changefreq.weekly', 'value' => 'weekly'],
['label' => 'seo.db:pages.sitemap_changefreq.monthly', 'value' => 'monthly'],
['label' => 'seo.db:pages.sitemap_changefreq.yearly', 'value' => 'yearly'],
['label' => 'seo.db:pages.sitemap_changefreq.never', 'value' => 'never'],
],
'dbFieldLength' => 10,
],
],
'sitemap_priority' => [
'exclude' => true,
'label' => 'seo.db:pages.sitemap_priority',
'config' => [
'type' => 'select',
'renderType' => 'selectSingle',
'default' => '0.5',
'items' => [
['label' => '0.0', 'value' => '0.0'],
['label' => '0.1', 'value' => '0.1'],
['label' => '0.2', 'value' => '0.2'],
['label' => '0.3', 'value' => '0.3'],
['label' => '0.4', 'value' => '0.4'],
['label' => '0.5', 'value' => '0.5'],
['label' => '0.6', 'value' => '0.6'],
['label' => '0.7', 'value' => '0.7'],
['label' => '0.8', 'value' => '0.8'],
['label' => '0.9', 'value' => '0.9'],
['label' => '1.0', 'value' => '1.0'],
],
],
],
'canonical_link' => [
'exclude' => true,
'label' => 'seo.db:pages.canonical_link',
'description' => 'seo.db:pages.canonical_link.description',
'displayCond' => 'FIELD:no_index:=:0',
'config' => [
'type' => 'link',
'allowedTypes' => ['page', 'url', 'record'],
'size' => 50,
'appearance' => [
'browserTitle' => 'seo.db:pages.canonical_link',
'allowedOptions' => ['params'],
],
],
],
'og_title' => [
'exclude' => true,
'l10n_mode' => 'prefixLangTitle',
'label' => 'seo.db:pages.og_title',
'config' => [
'type' => 'input',
'size' => 40,
'max' => 255,
'eval' => 'trim',
],
],
'og_description' => [
'exclude' => true,
'l10n_mode' => 'prefixLangTitle',
'label' => 'seo.db:pages.og_description',
'config' => [
'type' => 'text',
'cols' => 40,
'rows' => 3,
],
],
'og_image' => [
'exclude' => true,
'label' => 'seo.db:pages.og_image',
'config' => [
'type' => 'file',
'allowed' => 'common-image-types',
'behaviour' => [
'allowLanguageSynchronization' => true,
],
'overrideChildTca' => [
'columns' => [
'crop' => $openGraphCropConfiguration,
],
],
],
],
'twitter_title' => [
'exclude' => true,
'l10n_mode' => 'prefixLangTitle',
'label' => 'seo.db:pages.twitter_title',
'config' => [
'type' => 'input',
'size' => 40,
'max' => 255,
'eval' => 'trim',
],
],
'twitter_description' => [
'exclude' => true,
'l10n_mode' => 'prefixLangTitle',
'label' => 'seo.db:pages.twitter_description',
'config' => [
'type' => 'text',
'cols' => 40,
'rows' => 3,
],
],
'twitter_image' => [
'exclude' => true,
'label' => 'seo.db:pages.twitter_image',
'config' => [
'type' => 'file',
'allowed' => 'common-image-types',
'behaviour' => [
'allowLanguageSynchronization' => true,
],
'overrideChildTca' => [
'columns' => [
'crop' => $openGraphCropConfiguration,
],
],
],
],
'twitter_card' => [
'exclude' => true,
'label' => 'seo.db:pages.twitter_card',
'config' => [
'type' => 'select',
'renderType' => 'selectSingle',
'default' => '',
'items' => [
['label' => '', 'value' => ''],
['label' => 'seo.db:pages.twitter_card.summary', 'value' => 'summary'],
['label' => 'seo.db:pages.twitter_card.summary_large_image', 'value' => 'summary_large_image'],
],
'dbFieldLength' => 255,
],
],
],
];
$GLOBALS['TCA']['pages'] = array_replace_recursive($GLOBALS['TCA']['pages'], $tca);
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addToAllTCAtypes(
'pages',
'
--div--;core.form.tabs:seo,
--palette--;;seo,
--palette--;;robots,
--palette--;;canonical,
--palette--;;sitemap,
--div--;core.form.tabs:socialmedia,
--palette--;;opengraph,
--palette--;;twittercards',
(string)\TYPO3\CMS\Core\Domain\Repository\PageRepository::DOKTYPE_DEFAULT,
'after:title'
);
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addFieldsToPalette('pages', 'seo', '--linebreak--, description', 'after:seo_title');
@@ -0,0 +1,9 @@
<?php
defined('TYPO3') or die();
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addStaticFile(
'seo',
'Configuration/TypoScript/XmlSitemap',
'XML Sitemap'
);