如何在 TYPO3 10.4.13 中扩展元数据

how to extend the metadata in TYPO3 10.4.13

我正在尝试在页面 properties/metadata 下添加一个描述字段,该字段在 TYPO3 8.7.32 版本中仍然存在。

我也已经尝试使用以下代码进行设置:

page.meta.description.field = description

#page.meta.description.ifEmpty = 

目前看起来像这样

应该是这样的

如果您的目标是添加 SEO 描述字段,则此字段已在 SEO 选项卡中可用。

不过,如果您想在元数据中添加新字段,则必须:

在以下位置添加新字段:your_ext/ext_tables。sql

CREATE TABLE pages (
    new_field varchar(255) DEFAULT '' NOT NULL
);

覆盖 TCA:创建或更新文件 your_ext/Configuration/TCA/Overrides/pages.php

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

use TYPO3\CMS\Core\Utility\ExtensionManagementUtility;

call_user_func(static function () {
    // Define new TCA field
    $additionalFields = [
        'new_field' => [
            'exclude' => false,
            'l10n_mode' => 'prefixLangTitle',
            'label' => 'LLL:EXT:your_ext/Resources/Private/Language/locallang_db.xlf:pages.your_ext',
            'description' => 'LLL:EXT:your_ext/Resources/Private/Language/locallang_db.xlf:pages.your_ext.description',
            'config' => [
                'type' => 'input',
                'size' => 60,
                'max' => 255
            ]
        ]
    ];

    // Add the new TCA columns
    ExtensionManagementUtility::addTCAcolumns('pages', $additionalFields);
    
    // Add the field to the palette
    ExtensionManagementUtility::addFieldsToPalette('pages', 'metatags', 'new_field', 'after:keywords');
});

然后您必须使用 BE 模块维护 > 分析数据库结构来更新数据库。

刷新所有缓存 - 因为 TCA 在缓存中。

您的新字段现在可用。