我们通过以下方式创建了主题扩展:
7.1。在我们的扩展文件夹下创建了一个新文件夹Initialisation,Initialisation / Extensions,Initialisation / Files。
7.2。将依赖项扩展包放入Initialisation / Extensions。
7.3。将所有fileadmin文件()放入Initialisation / Files。
7.4。修改了文件ext_emconf.php以提及扩展细节及其依赖项扩展。
7.5。将导出的T3d pagetree文件放在Initialisation文件夹下,名称为data.t3d
7.6。在文件ext_localconf.php中添加了以下代码,用于更改掩码后端配置
<pre>
<code>
$GLOBALS['TYPO3_CONF_VARS']['EXT']['extConf']['mask'] = serialize([
'json' => 'typo3conf/ext/key-name/mask.json',
'content' => 'fileadmin/key-name/templates/content/',
'layouts' => 'fileadmin/key-name/templates/content/Layouts/',
'partials' => 'fileadmin/key-name/templates/content/Partials/',
'backend' => 'fileadmin/key-name/templates/backend/',
'layouts_backend' => 'fileadmin/key-name/templates/backend/Layouts/',
'partials_backend' => 'fileadmin/key-name/templates/backend/Partials/',
'preview' => 'fileadmin/key-name/templates/preview/',
]);
</code>
</pre>
7.7。如果我们在掩码中添加新的内容元素,掩码将向tt_content表添加一个新字段,并创建一个用于存储该内容元素值的新表。由于此主题包含太多内容元素,因此我们在ext_tables.sql文件中添加了ALTER和CREATE TABLE查询。我们还为掩码内容元素值添加了UPDATE和INSERT查询。
问题:现在的问题是,7.6和7.7点(创建和更新查询没有被执行),即在干净的typo3包中安装我们的扩展时不能正常工作。
请让我知道我们哪里出错了。
非常感谢沙米斯塔
这个答案是基于应该创建“TYPO3分发包”的假设。如果没有使用用于呈现网站前端的模板或后端布局定义,则原始答案中提到的“站点包”方法可能是多余的。
这里简要介绍了为TYPO3创建分发包https://docs.typo3.org/typo3cms/CoreApiReference/ExtensionArchitecture/CreateNewDistribution/Index.html
扩展的一般文件位置记录在这里https://docs.typo3.org/typo3cms/CoreApiReference/ExtensionArchitecture/FilesAndLocations/Index.html - 特别是看看ext_tables_static+adt.sql
,这将需要例如INSERT
。 UPDATE
或ext_tables.sql
data明确。
关于SQL声明和调整,以下解释很重要:
CREATE
只支持表的声明,因此只支持和执行UPDATE
- 不考虑像INSERT
或ext_table.sql
这样的修改ext_table.sql
文件中的定义进行比较,并在存在差异时进行调整(更改) - 所有已安装扩展的ALTER TABLE
文件均为在这一步考虑并合并ext_table.sql
语句不在CREATE
中进行评估 - 如果您想调整字段声明,请使用包含新字段的其他ext:felogin
语句或要更改的类型 - 例如TYPO3核心的fe_groups
改变了fe_users
现有的桌子https://github.com/TYPO3/TYPO3.CMS/blob/TYPO3_8-7/typo3/sysext/felogin/ext_tables.sql和INSERT
ext_tables_static+adt.sql
语句必须是ext:extensionmanager
文件的一部分,请参阅https://github.com/TYPO3/TYPO3.CMS/blob/TYPO3_8-7/typo3/sysext/extensionmanager/ext_tables_static%2Badt.sql中使用该功能的TYPO3核心的Initialisation/data.t3d
希望有所帮助。如果还有其他问题,请提供错误消息或警告,并描述您想要实现的目标。谢谢