关于TYPO3模型的继承,我有一个棘手的问题:
我想扩展powermail扩展名为两个单独/独立(!)扩展名 . 第一个扩展powermail TCA-形成并需要流体模板中的新字段 . 第二个也扩展了TCA形式,但不需要前端的输出 .
现在我使用来自Franz Koch http://lists.typo3.org/pipermail/typo3-project-typo3v4mvc/2010-September/006497.html的混合入侵,它使用删除字段作为记录类型 . 但此解决方案仅适用于一个扩展 . 根据TS持久性设置的加载,将加载扩展的第一个或第二个模型 .
如果我使用自己的字段作为记录类型 - 例如 . 对于powermail的现场记录 - 我只能使用 one 记录类型作为一个扩展名,但无法访问另一个 .
有没有办法“合并”与基本模型相关的所有模型?
下一个当前的TS配置:
config.tx_extbase {
persistence {
classes {
# Using mixed-ins hack from Franz Koch to make map table extendable.
# @see http://lists.typo3.org/pipermail/typo3-project-typo3v4mvc/2010-September/006497.html
Tx_Powermail_Domain_Model_Fields {
mapping.recordType = 0
subclasses.0 = Vendor\MyExtension\Domain\Model\Powermail\Fields
}
Vendor\MyExtension\Domain\Model\Powermail\Fields {
mapping {
tableName = tx_powermail_domain_model_fields
recordType = 0
columns {
tx_myfirstextension_field_one.mapOnProperty = FieldOne
}
}
}
}
}
}
ext_tables.php:
// Using mixed-ins hack from Franz Koch to make map table extendable.
// @see http://lists.typo3.org/pipermail/typo3-project-typo3v4mvc/2010-September/006497.html
$TCA['tx_powermail_domain_model_forms']['ctrl']['type'] = 'deleted';
$TCA['tx_powermail_domain_model_pages']['ctrl']['type'] = 'deleted';
$TCA['tx_powermail_domain_model_fields']['ctrl']['type'] = 'deleted';