0

希望有知识的人读到这个。

任务很简单,但出了点问题。我写了一个扩展来为每个页面扩展页面表,并带有一些新的道具。

这些值是: 1 个布尔值(扩展是否处于活动状态) 1 个文本值(例如 css 类名) 1 个文件链接到 sys_file 用于上传的图像

字段本身在后端按预期工作。 后端的字段 但是如果我尝试通过前端的流体访问它们,是否只保存了一个 lony 1 (Int)?

在流体中:{data.tx_mnadditionalpagefields_extended_background_image}

导致这个 -> 1(整数)

我在做什么错?

我的 ext_tables.sql

CREATE TABLE pages (
    tx_mnadditionalpagefields_custom_css_class varchar(255) DEFAULT '' NOT NULL,
    tx_mnadditionalpagefields_activate_extended_rules TINYINT(1) UNSIGNED DEFAULT '0' NOT NULL,
    tx_mnadditionalpagefields_extended_background_image int(11) unsigned NOT NULL default '0'
);

我的分机.../Configuration/TCA/Overrides/pages.php

<?php

defined('TYPO3_MODE') or die();

// Configure new fields:
$fields = [
    'tx_mnadditionalpagefields_custom_css_class' => [
        'label' => 'LLL:EXT:nm_addtional_page_fields/Resources/Private/Language/locallang_db.xlf:pages.tx_mnadditionalpagefields_custom_css_class',
        'exclude' => 1,
        'config' => [
            'type' => 'input',
            'max' => 255
        ],
    ],
    'tx_mnadditionalpagefields_activate_extended_rules' => [
        'exclude' => 1,
        'label' => 'LLL:EXT:nm_addtional_page_fields/Resources/Private/Language/locallang_db.xlf:pages.tx_mnadditionalpagefields_activate_extended_rules',
        'config' => [
            'type' => 'check',
            'default' => 0
        ]
    ],
    'tx_mnadditionalpagefields_extended_background_image' => [
        'exclude' => 1,
        'label' => 'LLL:EXT:nm_addtional_page_fields/Resources/Private/Language/locallang_db.xlf:pages.tx_mnadditionalpagefields_extended_background_image',
        'config' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::getFileFieldTCAConfig(
            'tx_mnadditionalpagefields_extended_background_image',
            [
                'maxitems' => 1,
                'minitems' => 0,
                'appearance' => [
                    'createNewRelationLinkTitle' => 'LLL:EXT:cms/locallang_ttc.xlf:images.addFileReference'
                ],
                //'foreign_match_fields' => array(
                //    'fieldname' => 'tx_mnadditionalpagefields_extended_background_image',
                //    'tablenames' => 'pages',
                //    'table_local' => 'sys_file',
                //),
            ],
            $GLOBALS['TYPO3_CONF_VARS']['GFX']['imagefile_ext']
        ),
    ]
];

// Add new fields to pages:
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTCAcolumns('pages', $fields);

// Make fields visible in the TCEforms:
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addToAllTCAtypes(
    'pages', // Table name
    '--palette--;LLL:EXT:nm_addtional_page_fields/Resources/Private/Language/locallang_db.xlf:pages.palette_title;nm_addtional_page_fields', // Field list to add
    '1', // List of specific types to add the field list to. (If empty, all type entries are affected)
    'after:nav_title' // Insert fields before (default) or after one, or replace a field
);

// Add the new palette:
$GLOBALS['TCA']['pages']['palettes']['nm_addtional_page_fields'] = [
    'showitem' => 'tx_mnadditionalpagefields_activate_extended_rules,tx_mnadditionalpagefields_custom_css_class,tx_mnadditionalpagefields_extended_background_image'
];

扩展下载(WIP):下载

4

1 回答 1

0

对于图像/文件,本地表仅存储对文件的引用计数。(int)1 表示,有一个参考。

查看 DataProcessing,了解如何将这些文件引用与 Fluid 一起使用: https ://docs.typo3.org/c/typo3/cms-core/master/en-us/Changelog/7.4/Feature-67662-DataProcessorForFiles.html

于 2020-05-12T05:24:42.097 回答