TYPO3扩展和符号链接

时间:2010-06-03 12:42:37

标签: symlink typo3

我可以从其他项目文件夹创建本地扩展名的符号链接吗?我有一个共同的本地服务器,我需要在所有本地项目安装上实现相同的扩展。我试图把符号链接,但有时我没有得到预期的输出。我只有在清除了那个特定项目的缓存后才能得到它。

5 个答案:

答案 0 :(得分:2)

我猜你的情景很常见。但正如Omar所说,通过几个typo3实例链接到扩展的相同代码库并不是一个好习惯。 但是我们有与你相同的结构,我们通过SVN实现这一点。我们所有的项目都有一个SVN存储库,常见的扩展有自己的存储库。通过svn:externals,扩展链接到具体项目。这样做的好处是,您可以更改具体项目中的扩展名,并在提交所有其他项目(必须从svn更新)后从中提交。我认为这也符合你的需求。

答案 1 :(得分:1)

如果我正确理解您的问题,您在同一台服务器上有几个Typo3站点,并希望使用符号链接在它们之间共享扩展。我不认为这是一个非常好的主意,因为许多扩展使用表,并且每个站点通常都有自己的数据库,所以你必须做很多修补才能使它工作。

相反,您可以对typo3conf / ext / extension_name文件夹中的扩展文件进行所有修改,然后将扩展名导出到t3x文件(后端的Ext Manager)。此t3x文件可以作为扩展(导入扩展)安装在所有其他站点上。

如果你的扩展程序没有使用数据库并且你打算经常进行更改,那么我猜你应该能够做到这一点(符号链接)。否则我建议你使用我描述的第一种方法。

答案 2 :(得分:1)

我没有试过这个,但你应该能够在Typo3中全局安装扩展。这意味着给定的扩展名放在'(typo3_src /)typo3 / ext /'而不是'typo3conf / ext /'中,假设两个站点使用相同的Typo3核心/源(因此typo3_src是该位置的符号链接)核心)。

您可以通过安装工具启用安装全局扩展。进入工具后,单击“所有配置”,然后搜索allowGlobalInstall。或者将以下行放入localconf.php:

$TYPO3_CONF_VARS['EXT']['allowGlobalInstall'] = '1';

最后,但并非最不重要的是,您需要确保'typo3 / ext /'目录是可写的。

希望这会有所帮助。如果您有任何其他问题,请告诉我:))

答案 3 :(得分:1)

正如Björn所说,我想在全球范围内安装它们。请注意,更新源代码将需要相应地移动扩展名。

答案 4 :(得分:0)

至于“预期输出”:请注意,这些文件夹中的代码以各种方式缓存(主要是页面内容和配置设置),因此并不总是运行。这就是在不清除这些缓存的情况下,从当前安装的“外部”进行的更改很可能不会传播到您的输出的原因(如您所见)。

当您通过扩展管理器实际安装扩展时,应清除缓存(如果配置正确)(感兴趣的各方可以在class.em_index.php中搜索clearCacheOnLoad以显示clear_cacheCmd('all'))。在安装过程中,通常会检查一个小复选框,以完成此操作。

因此,正如我所看到的,奥马尔的第一种方法是获得“预期输出”的更简单方法,而不是全球扩展的混乱。