2009-12-15 70 views
4

這聽起來很瘋狂,但仍...整合Python應用程序到PHP的網站

對於我們修改後的項目網站,我們希望集成的Trac(如代碼瀏覽器,開發者wiki和問題跟蹤)到網站設計。當然,這很困難,因爲Trac是用Python編寫的,我們的網站是用PHP編寫的。有沒有人知道如何將一個頁眉和頁腳(PHP)集成到Trac模板中(最好不要在命令行中調用 - 或者兩個用於頁眉和頁腳 - PHP過程)?

+0

使用模板語言trac使用的Genshi中的命令應該可以包含外部文件,但我從未想到如何。我包括一個本地文件(沒有http://),但沒有進一步。期待看到很好的答案。 – 2009-12-15 14:26:30

+0

感謝您的回答,夥計們。我會看到會發生什麼並接受適當的答案,然後...;) – Franz 2009-12-16 17:45:15

回答

1

最好的選擇可能是(重新)使用python編寫頁眉和頁腳。

如果頁眉和頁腳相對靜態,您也可以使用php(或每x分鐘一次)生成它們,並將它們包含在文件系統中。 (你可能已經想過這個,並且駁回了這個想法,因爲你的網站太動態了,不能使用這個選項?)

雖然我不會推薦它,但你也可以使用某種形式的AJAX來加載頁面的一部分,沒有什麼能阻止你從基於php的系統加載這些內容。這可以保持所有部件的動態。你的頁面在加載時可能看起來很難看,現在你在服務器上產生的點擊量比需要的多,但是如果它是一個大網站,這可能會很大。

警告:如果您在兩個系統上都有用戶登錄,那麼您可能會遇到人員僅登錄到您網站一半的問題。

+0

我們已經照顧了用戶集成,是的(我們基本上不集成這兩個)。關於頁眉和頁腳的動態是什麼?嗯......頁腳是靜態的,但是用PHP生成(這樣可以被緩存)。標題是動態的:它顯示用戶是否在網站上登錄(這不是必要的,好的)和語言(不適用於Trac)。 – Franz 2009-12-15 14:42:01

+0

如果你只想顯示用戶是否登錄,我將製作頁眉和頁腳的靜態副本,並替換顯示用戶是否通過AJAX調用登錄的部分。 – 2009-12-16 09:12:15

1

抽象是你的朋友。

如果可能的話,用簡單的模板語言在頁眉和頁腳中從PHP中分離原始HTML,然後將Python和PHP接口寫入模板語言。或者,重用其他人所做的工作。 This chart顯示Template Attribute Language (TAL)支持Python和PHP5。

+0

+1這是一個好主意。然而,頭文件包含一些其他(PHP)的東西,用於獲取用戶對象等,以知道要顯示哪個鏈接等等,這使得它更加困難。還是我忘了什麼? – Franz 2009-12-15 22:52:30

0

你的Python代碼可以訪問你的用戶的cookies。一個模板是最好的,但如果你沒有一個可用的(或者頁眉/頁腳很小或者其他),你可以簡單地使用已經存在的cookie將PHP頁眉和頁腳代碼移植到Python中查詢數據庫或任何你需要做的事情。

如果你想留住你的鏈接,登錄,註冊,和其他任何可能在PHP版本,只是鏈接到PHP側,然後重定向到Trac的一次PHP的完成了它的任務。