【问题标题】:Flexform not working in TYPO3 9.5, not able to fix it myselfFlexform 无法在 TYPO3 9.5 中运行,无法自行修复
【发布时间】:2018-12-23 17:10:09
【问题描述】:

我正在使用 TYPO3 的 FCE 扩展来创建简单的 Contentelements。它们在 TYPO3 v8 中运行良好,但是当我在 TYPO3 9.5 上安装它们时,我的 FlexForms 不再工作了。我找不到问题,希望这里有人可以帮助我。也许发生了一些变化而我没有注意到?

由于完整的扩展正在工作并且一切看起来都很好,ext_tables.php 肯定存在某种问题,所以我将在这里复制我的。

TCA 调用正在工作,当我将例如“标题”添加到它直接显示的列表中时。所以 pluginSignature 也很好。我还尝试添加 $GLOBALS['TCA']['tt_content']['types']['list']['subtypes_addlist'][$pluginSignature] = 'pi_flexform'; 这也没有帮助我。

<?php
if (!defined('TYPO3_MODE')) {
    die('Access denied.');
}

\TYPO3\CMS\Extbase\Utility\ExtensionUtility::registerPlugin(
    $_EXTKEY,
    'Content',
    'Contactbar'
);


$pluginSignature = str_replace('_', '', $_EXTKEY) . '_content';
$TCA['tt_content']['types'][$pluginSignature]['showitem'] = '
--palette--;LLL:EXT:cms/locallang_ttc.xlf:palette.general;general, pi_flexform, 
--div--;Style, --palette--;LLL:EXT:cms/locallang_ttc.xlf:palette.frames;frames,
--div--;LLL:EXT:cms/locallang_tca.xml:pages.tabs.access, hidden, starttime, endtime,tx_gridelements_container, tx_gridelements_columns';
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPiFlexFormValue(
        $pluginSignature, 'FILE:EXT:' . $_EXTKEY . '/Configuration/FlexForms/flexform_contactbar.xml', '*');

\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPageTSConfig('<INCLUDE_TYPOSCRIPT: source="FILE:EXT:' . $_EXTKEY . '/Configuration/TSconfig/Content.ts">');
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addStaticFile($_EXTKEY, 'Configuration/TypoScript', 'contactbar');

【问题讨论】:

    标签: typo3 fluid typo3-9.x flexform


    【解决方案1】:

    我已经设法自己解决了。如果有人遇到同样的错误,解决方案非常简单。将您的 tt_content 声明移动到 /Configuration/TCA/Overrides/tt_content.php

    所以你有这样的 ext_tables:

    <?php
    if (!defined('TYPO3_MODE')) {
        die('Access denied.');
    }
    
    \TYPO3\CMS\Extbase\Utility\ExtensionUtility::registerPlugin(
        $_EXTKEY,
        'Content',
        'Contactbar'
    );
    
    
    $pluginSignature = str_replace('_', '', $_EXTKEY) . '_content';
    
    \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPageTSConfig('<INCLUDE_TYPOSCRIPT: source="FILE:EXT:' . $_EXTKEY . '/Configuration/TSconfig/Content.ts">');
    \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addStaticFile($_EXTKEY, 'Configuration/TypoScript', 'contactbar');
    

    你有这样的 tt_content.php:

    <?php
    $tca = [
        'types' => [
            'contactbar_content' => [
                'showitem' => '--palette--;LLL:EXT:cms/locallang_ttc.xlf:palette.general;general, pi_flexform,--div--;Style, --palette--;LLL:EXT:cms/locallang_ttc.xlf:palette.frames;frames,--div--;LLL:EXT:cms/locallang_tca.xml:pages.tabs.access, hidden, starttime, endtime,tx_gridelements_container, tx_gridelements_columns'
            ]
        ]
    ];
    $GLOBALS['TCA']['tt_content'] = array_replace_recursive($GLOBALS['TCA']['tt_content'], $tca);
    
    \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPiFlexFormValue(
        '*',
        'FILE:EXT:contactbar/Configuration/FlexForms/flexform_contactbar.xml',
        'contactbar_content'
    );
    

    【讨论】:

      【解决方案2】:

      您的错误是,$TCA 不再存在...只需使用 $GLOBALS['TCA']

      (在你的情况下是 $GLOBALS['TCA']['tt_content']['types'][$pluginSignature]['showitem'] 而不是 $TCA['tt_content']['types'][$pluginSignature]['showitem']

      还要确保将此配置放入文件your_extension_key/Configuration/TCA/Overrides/tt_content.php

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-10-07
        • 1970-01-01
        • 2022-01-13
        • 2013-02-19
        • 2016-11-25
        • 2021-08-25
        相关资源
        最近更新 更多