TYPO3 CMS 6.2中的其他页面属性字段

时间:2014-10-01 15:11:35

标签: typo3 fluid typo3-6.2.x

在TYPO3 6.2中添加自定义页面属性字段的推荐方法是什么? 在4.5中我使用了TemplaVoila,它有自己的页面模块,可以很容易地在页面级别添加数据记录。

2 个答案:

答案 0 :(得分:2)

有几种方法:

  1. “香草”方法:
  2. 创建扩展(并使用文件ext_emconf.php),然后在扩展根目录中创建文件ext_tables.sql。在其中,您可以通过为pages表定义CREATE TABLE语句,为新字段添加SQL定义:

    CREATE TABLE pages(
        myNewField int(11) DEFAULT '',
    );
    

    此SQL定义将与表page的现有定义合并。

    然后您需要在Table Configuration Array (TCA)中配置新字段。您通常可以在现有扩展程序中找到很好的示例,例如realurl。有两个地方可以将这些定义放在文件ext_tables.php(未缓存)中,或者放在文件夹Configuration/Tca/Overrides(缓存)中的php文件中。

    这种方法听起来比实际工作更多。

    1. 只需使用TemplaVoila。它适用于TYPO3 6.2,但其未来不确定,AFAIK。

    2. 使用fluidtypo3 - 扩展生态系统,尤其是扩展程序fluidpages。它以与TemplaVoila类似的方式完成您想要的,但采用现代(基于流体)技术。

答案 1 :(得分:2)

如果您需要自己的自定义内容元素,我建议使用扩展名“DCE”(动态内容元素)。

DCE非常容易定制,您可以在几分钟内创建内容元素。


你也可以像Jost说的那样做。使用自己的扩展名进行操作并将TCA定义放在extTables.php中

例如:

/www/htdocs/website/typo3conf/ext/custom_extension/ext_tables.php

$tmp_itm_extended_columns_pages = array(
    'link_class' => array(
        'exclude' => 0,
        'label' => 'LLL:EXT:itm_extended/Resources/Private/Language/locallang_db.xlf:label.linkClass',
        'config' => array(
            'type' => 'select',
            'items' => array(
                array('Nichts', ''),
                array('Zahnrad', 'icon-afford', 'EXT:custom_extension/Resources/Public/img/icons/icon_preferences_small.png'),
                array('Fabrik', 'icon-factory', 'EXT:custom_extension/Resources/Public/img/icons/icon_factory_small.png'),
                array('Computer', 'icon-software', 'EXT:custom_extension/Resources/Public/img/icons/icon_software_small.png'),
                array('Person', 'icon-jobs', 'EXT:custom_extension/Resources/Public/img/icons/icon_person_small.png'),
                array('Welt', 'icon-world', 'EXT:custom_extension/Resources/Public/img/icons/icon_world_small.png'),
                array('Rohre', 'icon-pipe', 'EXT:custom_extension/Resources/Public/img/icons/icon_pipe_small.png'),
            ),
        ),
    ),
);

然后你必须将你的新字段添加到ext_tables.sql

#
# Table structure for table 'pages'
#
CREATE TABLE pages (

    link_class text

);