我想在安装扩展期间创建对象。例如,我有以下两个简单的域模型:
class Product extends AbstractEntity
{
protected $name = '';
protected $sku = '';
...
}
class Location extends AbstractEntity
{
protected $name = '';
protected $city = '';
...
}
和第三个域模型,如:
class Mapper extends AbstractEntity
{
protected $domainModelName = '';
protected $domainModelProperty = '';
}
现在我也想添加这样的条目:
domain_model_name | domain_model_property
Product | name
Product | sku
Location | city
....
在扩展安装期间或直接安装后,这样 tx_foxexample_domain_model_mapper 表将自动填充,这可能吗?
我知道我可以使用 initializeAction,但是只有在添加插件并访问页面等时才会生成条目,但是我希望在使用插件或添加一些对象之前条目/对象已经存在。
最佳答案
您可以将静态数据存储在文件 ext_tables_static+adt.sql
中,该文件必须位于扩展的根文件夹中。
根据 TYPO3 API ,您必须使用以下命令导出静态数据
mysqldump --password=[password] [database name] [tablename] --add-drop-table > ./ext_tables_static.sql
还要确保静态表的表结构存在于
ext_tables.sql
文件中。扩展
static_info_tables
使用了这种技术。您可以查看扩展名 here 以获取更多详细信息。关于typo3 - 有没有办法在 TYPO3 中的扩展安装过程中创建对象/表条目?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36808915/