2010-03-10 230 views
1

如何在Magento中添加自定義功能?Magento在添加自定義功能方面如何?

從外人看來框架看起來很複雜,很難量個是什麼,是不可能的。你有什麼經驗?這是一個難以實現的目標嗎? Magento中是否存在無法自定義的內容?難的是如何升級到最新版本時,等等。

任何反饋/個人的經驗將是巨大的管理自定義。高度自定義的Magento網站的例子也很棒。謝謝你的幫助。

回答

1

快速的答案取決於。如果您想要添加Magento所支持的功能,例如新的付款方式,那麼擴展Magento並不困難。在XML中有一些簡單的鉤子可以讓你操縱這些東西。

當談到添加新功能時,它可能也很簡單。一旦掌握了框架,創建一個新的控制器並顯示爲頁面創建的模板並不是太困難。

有兩個地方,不過,你可能會惹上麻煩編程Magento的地方。首先是當你試圖修改系統的核心行爲時。例如,嘗試將附加數據放在購物車中的項目上並不是一件簡單的事情,或者即時創建一攬子產品。要估計這些任務幾乎是不可能的,因爲只有在黑客入侵之後,看似無關的框架纔會發揮作用。

在第二位的是,你必須修改Magento的代碼非常核心的部分(有這個和上面之間的差異,我保證)。問題的關鍵在於,當您嘗試修改Magento中非常重要的東西時,所有「乾淨」的修改代碼以適應您的需求的方式都會失敗,並且骯髒的方式會導致巨大的麻煩(例如,您無法完全升級您的網站)。

這是形勢的簡化,但是從我收集它的許多其他Magento的程序員的意見爲好。希望有所幫助! Joe

+0

感謝您的反饋喬!你通常會發現你最終可以像你想要的那樣行事嗎?或者,如果不破解所有的東西,你會遇到無法完成的事情嗎? – ohsnapy 2010-03-11 09:07:18

+0

有兩種情況,你不會總是知道哪個是哪個。例如,在嘗試構建一個簡單的實用程序以從XML文件(而不是數據庫)中讀取本地站點URL時,可以更有效地使用開發環境),很明顯Magento不會允許這樣做辦法。也就是說,如果有足夠的黑客攻擊程序員,所有的事情都可能發生,'呃? :) – 2010-03-12 15:25:01

1

我在過去的兩個月裏一直與Magento合作,我只能說系統是所有人中最先進的系統,一旦你完全掌握系統。 當你想擴展Magento時,最好的辦法是遠離修改核心類,而只是試圖覆蓋它們。例如,當您要更改設計時,只需創建新主題或新包,並僅複製要更改的默認主題中的文件。如果您需要一些額外的功能,您可以通過創建自己的模塊來覆蓋核心塊的類或模型。 擴展Magento最有效的方式是Event Observer模式。 Magento在保存數據庫之前或保存之後觸發許多事件,因此當您想要插入功能時,您可以選擇適當的事件來偵聽並創建您自己的Observer類來偵聽事件。 這裏有一些有用的鏈接,讓你與觀察員: http://inchoo.net/ecommerce/magento/extending-order-object-and-hooking-on-event-in-magento/ 從我的角度來看,我可以簡單地說,Magento是我見過的最先進和最專業的PHP應用程序。

相關問題