2012-06-27 44 views
1

作爲開發人員和用戶,我仍然是Expression Engine的新手。我面臨的問題是,我的許多知識都是通過使用渠道系統找到方法來完成開發人員傳統承擔的任務(例如產品庫)的用戶傳遞給我的。表達式引擎:何時使用渠道以及何時不使用渠道?

我想知道的是人們的觀點是什麼時候最好建議客戶使用這個,什麼時候不使用。

讓我用一個例子,一個客戶想要一個有事件發生地點的系統。之前的開發者已經選擇使用會場系統和事件通道系統,並編寫一些自定義代碼來試圖將兩者結合在一起,具體而言,因爲沒有足夠的鉤子來完成某些後臺自動化任務,如查找創建或更新場館地址的長/寬。

我正在接受別人的工作很大程度上,但它不是他們的錯,這是他們給的信息,因爲他們也是新系統。

在任何其他項目中,這將是一個主細節類型設置,事件屬於場地,我可能通過模塊在管理區域編寫2個自定義表格,編輯器,然後在頁面中使用常規自定義代碼來顯示並對信息採取行動 - 通過這種方式,我可以控制用戶點擊提交時發生的情況。

但是,煽動方是Expression Engine的資深用戶,並以「哦,把它放在頻道中,然後有這個標籤和那個標籤等等」的方式指示以前的開發者。

所以,我是否錯過了這一點,或者我是對的,這不適合渠道系統,什麼時候應該使用渠道,什麼時候不使用渠道?

感謝朋友。

+0

也許這可能有助於:http://www.train-ee.com/courseware/screencasts/detail/designing-an-expressionengine-architecture。博客是頻道的v 1.x術語。 – Robert

回答

0

這個問題是非常假設的,每個開發人員都會給你一個不同的答案,因爲這一切都取決於需求以及EE開發人員的工作方式。

基本表達式引擎允許您以多種方式構建構建,但沒有一個是對與錯,雖然有些更容易,有些更難,其他則更加簡單。

基本上渠道是數據「條目」的組 - 這些可以是任何東西。使用您的示例,場地可以是一個與主題相關的字段(例如位置,大小,價格等)的渠道。另一個頻道用於包含不同字段的事件(例如日期,類型,位置)。

大多數情況下,任何東西都可以插入到一個通道中。但是會員詳細信息最好在本地會員功能中進行(儘管有一個商業附加功能可以保存頻道中的會員數據)。

您引用了以前的開發人員方法 - 這可能是因爲他們使用了需要將數據分開保存到渠道的第三方附件,或者對最佳方法缺乏瞭解。或者只是因爲開發者決定以這種方式來對待它!我懷疑最後的開發者會把一個會員(場地)與一個入場(活動)聯繫起來,將活動與場地聯繫起來。基本EE功能允許相關條目允許您將1個條目與另一個條目(例如Event - > Venue)相關聯,或者使用優秀的Playa附加組件,因此這種方法實際上並不是必需的。

就我個人而言,我總是將數據存儲在渠道以及本地會員功能(例如管理員,網站訪問者,客戶等)中的人員/成員。我只會建立一個附加組件(利用它自己的表格/數據)來存儲額外的信息,如果它超出了EE可以存儲的範圍。

0

爲了回答您的實際問題(它誠實地擴展了what Stack Overflow questions are supposed be的範圍):您應該爲場地和活動頻道使用頻道,並且活動條目中的場地字段是與場地相關聯的「相關條目」字段類型渠道。這是「標準」EE方式,與傳統數據庫模式最爲相似。

+0

感謝你們兩位,我在選擇彼得的答案,因爲它符合我的情況,我在最後一分鐘沒有任何經驗的情況下拋出了這個項目,而不是EE的粉絲,因爲他們對CI的後端 - 位似乎不見了。這個API似乎也很不成熟,可以說把事情放在頻道中 - 也許是因爲有一個編譯器已經爲此目的而構建,但是當涉及到在代碼中以編程方式操縱它們時,很少有開發人員需要而且文檔恕我直言有點缺乏。這是我不會在我的投資組合中列出的平臺。 – JamesB