我可以从其他项目文件夹创建本地扩展名的符号链接吗?我有一个共同的本地服务器,我需要在所有本地项目安装上实现相同的扩展。我试图把符号链接,但有时我没有得到预期的输出。我只有在清除了那个特定项目的缓存后才能得到它。
答案 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'))。在安装过程中,通常会检查一个小复选框,以完成此操作。
因此,正如我所看到的,奥马尔的第一种方法是获得“预期输出”的更简单方法,而不是全球扩展的混乱。