我想在安装扩展期间创建对象。例如,我有以下两个简单的域模型:

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/

10-16 21:31