在TYPO3 6.2中添加自定义页面属性字段的推荐方法是什么? 在4.5中我使用了TemplaVoila,它有自己的页面模块,可以很容易地在页面级别添加数据记录。
答案 0 :(得分: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文件中。
这种方法听起来比实际工作更多。
只需使用TemplaVoila。它适用于TYPO3 6.2,但其未来不确定,AFAIK。
使用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
);