2014-03-13 68 views
1

我有一個已經建在umbraco的網站,並發現它的所有內容都在一個名爲umbraco.config的文件中。Umbraco內容端口

我需要在PHP中重建站點,所以我需要將這些數據移植到不同的數據庫結構中。

本質上,我需要將其解析爲一個PHP數組或類似的東西,以便我可以在其上運行腳本。

它有一個頭,但任何嘗試將其解析爲數組或使用聯機XML到JSON轉換器總是出錯。

我想知道是否有經驗的人可能會提出一個修復/替代解決方案。

+2

Umbraco是一個用.Net編寫的CMS,你想在PHP中移植到另一個CMS嗎? – mparkuk

+0

你只需要這些數據,或者你需要複製網站的模板嗎? – elolos

+0

我只需要內容本身!它是一個我必須重建的網站,因爲我們是一個繼承了umbraco網站的PHP開發人員,但是我們繼承了代碼的人不會給我們實際的源代碼,只有預編譯的代碼 – user3416404

回答

3

我想你是錯了,Umbraco中的所有數據都存儲在數據庫中。 umbraco.config文件僅存儲發佈的內容以便更快地訪問,請參閱umbraco community website page

因此,假設您要複製整個內容,您需要找到一種方法來讀取Umbraco database中的數據並將它們轉換爲新格式。

或者,如果您對如何針對Umbraco開發有深入的瞭解,則可以使用Umbraco Management API並以有意義的方式公開數據,從而使導入到新系統更容易。

另一種選擇是支付名爲Courier的Umbraco插件。你可以用csv或xml等其他格式導出Umbraco內容,可以觀看演示視頻here

+0

啊好吧,這是有道理的,但是我最終在配置文件中唯一的原因是我找不到任何表格,甚至看起來像內容,任何線索? – user3416404

+0

看看[此圖](http://blog.hendyracher.co.uk/wp-content/uploads/Umbraco-Schema-with-Constraints-v2.gif),即使它可能有點過時。 另外,您對.NET的熟練程度如何?您可以使用Umbraco Management API通過webservice公開數據,而不是直接遷移數據庫 – elolos

+0

+1使用web服務和詳細的umbraco知識來緩解遷移是非常有意義的 - 我有一個想法,如果它可能更簡單如果他們的.Net知識是基本的,那麼OP只是從頭開始。 – amelvin

0

如果您需要將Umbraco .net網站移至php,您需要考慮的不僅僅是數據。

我建議你需要建立你想要使用文檔類型導入數據的結構;然後考慮如何使用模板呈現頁面,然後才能導入數據。

在Umbraco網站上添加頁面時,您可以選擇頁面的文檔類型和名稱;一旦創建完成,您可以選擇一個模板來顯示頁面的渲染方式。我建議你將它複製到你選擇遷移到的任何php CMS中(即使你創建了自己的CMS)。一旦您可以將文檔類型移植到您的新結構中,數據將具有合乎邏輯的存儲位置。

在「設置」部分的umbraco後臺,您將看到文檔類型。每個可以呈現的頁面都有一個單獨的文檔類型,可以有很多模板(模板決定了頁面的呈現方式)。文檔類型控制哪些文本,圖像等可以爲這種類型的頁面進行內容管理,這種類型的頁面可以如何放置在網站結構中等等。

根據模板呈現頁面如果實現是Umbraco 4,則頁面模板存儲在/ masterpages文件夾中;如果您使用的是Umbraco 5,6或7,則需要查看/查看 - 這會讓您瞭解如何爲每個頁面呈現數據到瀏覽器。

現在你知道如何構建你的內容&渲染你可以導入內容的內容。現在,umbraco.config文件將變得有意義,因爲您將看到文檔類型和模板以及它們與內容的交互方式。理想情況下,你應該知道更多關於如何使用翁布拉科之前,即使嘗試(幾年應該是足夠的) - 但我們都知道,那種奢侈品是罕見的!