2010-06-03 101 views
2

我可以創建從aonther項目文件夾到本地擴展的符號鏈接嗎?我有一個共同的本地服務器,我需要在所有本地項目安裝上實現相同的擴展。我試圖把符號鏈接,但有時我沒有得到預期的輸出。我只有在清除該特定項目的緩存後才能得到它。TYPO3擴展和符號鏈接

回答

2

你的情況是很常見的,我猜。但正如Omar所說,通過幾個typo3實例鏈接到擴展的相同代碼庫並不是一個好習慣。 但是我們和你的結構一樣,我們通過SVN來實現。我們所有的項目都有一個SVN存儲庫,並且通用擴展都有自己的存儲庫。通過svn:externals將擴展連接到具體項目中。這樣做的好處是你可以改變具體項目中的擴展名,並且在提交所有其他項目(必須從svn更新)後才能提交。我認爲這也符合你的需求。

1

如果我正確理解你的問題,你必須在同一臺服務器上的幾個TYPO3的網站,並希望分享使用符號連接它們之間的延伸。我認爲這不是一個好主意,因爲許多擴展使用表格,而且每個站點通常都有自己的數據庫,因此您必須做很多修補才能使其發揮作用。

相反,你可以讓所有的修改在typo3conf/EXT/EXTENSION_NAME文件夾中的擴展名的文件,然後導出擴展到T3X文件(擴展管理器在後端)。該t3x文件可以作爲擴展名(導入擴展名)安裝在所有其他網站上。

如果分機沒有使用數據庫,你計劃進行頻繁的變化,然後我猜你應該能夠使這項工作(符號鏈接)。否則,我建議你使用我描述的第一種方法。

1

我還沒有試過這個,但是你應該可以在Typo3中安裝全局擴展。這意味着給定的擴展名被放置在'(typo3_src /)typo3/ext /'而不是'typo3conf/ext /'中,假定這兩個站點使用相同的Typo3核心/源(因此typo3_src是一個符號鏈接的核心)。

您可以通過安裝工具啓用安裝全局擴展。一旦進入工具,點擊'所有配置',然後搜索allowGlobalInstall。或者把下面一行到你的localconf.php:

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

最後,但並非最不重要,你需要確保「TYPO3 /轉/」目錄是可寫的。

希望這會有所幫助。如果您有任何進一步的問題,讓我知道:)

1

由於比約恩提到的,我sugegst在全球範圍內安裝它們。你要知道,更新源將需要相應地移動擴展..

0

至於「預期輸出」:要知道,在這些文件夾中的代碼以各種方式被緩存(主要是頁面內容和配置設置),因此,並不總是運行。這就是從當前安裝的「外部」所做的更改很可能無法在未清除這些緩存的情況下傳播到您的輸出的原因(如您所見)。

當您通過擴展管理器實際安裝擴展時,緩存應該(如果配置正確)清除(感興趣的各方可以在class.em_index.php中搜索clearCacheOnLoad以顯示clear_cacheCmd('all'))。有一個小複選框,通常會在安裝過程中進行檢查,以完成此操作。

因此,正如我所見,奧馬爾的第一種方法是獲得「預期產出」的更簡單的方法,而不是全局擴展混淆。