我想问一下,如何更改 TYPO3 扩展中的文件,在更新特定扩展后它们不会被覆盖。我知道有“钩子”,但它们只给了我一些功能,而不是动作的孔控制器文件。
是否有一些最佳实践,或者我只能选择永远不更新该扩展程序?
问候阿加什·塔莫。
这取决于各种因素。
Extbase 扩展
如果扩展基于 Extbase,您可以使用自定义控制器编写自己的扩展,并使用原始扩展的域模型。由于您没有真正指定要修改的扩展名,因此这只是一种通用方法。
挂钩
不一定由扩展提供。你可以随时要求扩展作者提供一个新的钩子。
XCLASS
使用 XCLASS,您可以从您自己的扩展中覆盖一个类。您可以在此处找到有关此的更多信息。如果您更新原始扩展,您可能需要调整您的 XCLASS 代码。
直接修改现有扩展
你应该避免这样做。但如果这是您唯一的选择,您可以修改扩展的文件“ext_emconf.php”并将“state”设置为“excludeFromUpdates”:
$EM_CONF[$_EXTKEY] = array(
'title' => 'Extension Title',
'description' => '',
'category' => 'plugin',
'state' => 'excludeFromUpdates',
...
);
这会从更新中排除扩展。