Meteor開發(fā)指南 — 使用Orion十分鐘開發(fā)CMS系統(tǒng)

Orion是基于Meteor的CMS框架。它能讓你快速的構建一個功能完備的CMS系統(tǒng)。本部分源代碼請參考Orion Kickstarter

Orion視頻教程:Meteor 十分鐘開發(fā) CMS 系統(tǒng)(上)
Orion視頻教程:Meteor 十分鐘開發(fā) CMS 系統(tǒng)(下)
Orion示例網站:http://orion-example.meteor.com/
Orion官方文檔:http://docs.orionjs.org/
Orion開發(fā)團隊:http://orionjs.org/about

創(chuàng)建Orion項目

其中路由可以自由選擇Iron Router或者Flow Router
添加核心:meteor add orionjs:core
添加樣式:meteor add twbs:bootstrap fortawesome:fontawesome orionjs:bootstrap
添加路由:meteor add iron:router
添加路由:meteor add kadira:flow-router kadira:blaze-layout
頁面系統(tǒng):meteor add orionjs:pages
文章系統(tǒng):Posts = new orion.collection('posts', {})
文件系統(tǒng):meteor add orionjs:filesystem

添加完核心擴展包后,我們更新Orion至最新版本1.7.
更新項目擴展包 meteor update
更新單獨擴展包 meteor update package-name
進入 /admin,創(chuàng)建管理員賬戶
添加屬性擴展 file-attribute, image-attribute, summernote
添加文件系統(tǒng)擴展 GridFS 文件支持

這樣,我們就有了基本的后臺,包括了賬戶系統(tǒng),文件系統(tǒng),頁面系統(tǒng),文章系統(tǒng)等。

  1. 進入/admin路由,創(chuàng)建第一個管理員賬戶。
  2. 創(chuàng)建一篇文章,并添加內容和鏈接。
  3. 創(chuàng)建一個頁面,并添加內容和鏈接。
  4. 前端模板獲取文章列表和頁面列表。
  5. 前端模版獲取單個文章內容。

Orion集合

Orion集合的創(chuàng)建方法與Mongo集合類似,只需要將Mongo.collection替換為orion.collection即可。

myCollection = new orion.collection(name, options);

其中,name為集合名稱,options為一些參數,主要為admin頁面顯示的內容,包括側欄鏈接,創(chuàng)建項目,表格顯示內容等。

Orion字典

在Admin中可以設置的偽靜態(tài)內容,讓你不必讓你在模板中創(chuàng)建靜態(tài)頁面。字典使你可以在前端模板中插入可以在后臺編輯的內容。

orion.dictionary.addDefinition(name, category, attributeSchema)

Orion頁面

在Admin中創(chuàng)建特定模板和特定路由的頁面

首先添加擴展包:meteor add orionjs:pages

可以使用該功能創(chuàng)建如FAQ、聯系我們、關于我們頁面。如果你創(chuàng)建的是連續(xù)的內容,如博客文章,那么應該使用orion.collection,創(chuàng)建posts集合來存放。

此外,其實我并不建議這里采用Orion的Pages功能來創(chuàng)建頁面,而是建議直接使用Blaze模板創(chuàng)建固定的靜態(tài)頁面,畢竟針對模板我們能定制化的東西更多,其中可能需要經常改動的文字內容,可以放入Orion Dictionary中。

關于Orion前端框架選擇

Orion默認支持三種前端模板,分別是Bootstrap,Material UI和Semantic UI,其中,Bootstrap和Material UI的Admin都非常不錯。

關于Material UI,這里推薦一個「改進版」,也就是MUI,它基于Material風格,但是比Material更加簡潔清晰。

此外,這里推薦一款基于Flexbox的現代UI框架,也就是Bulma。它有諸多優(yōu)異的特性,唯一的缺點可能就是對于老版本的瀏覽器支持不好。

關于Orion路由包的選擇

雖然Meteor的官方推薦路由是Flow Router,但是Orion也支持Iron Router,Iron Router可以結合meteorhacks:fast-render包完成SSR(Server Side Rendering)。當然,目前FlowRouterSSR也已經可以應用于生產環(huán)境了,你可以對OrionJS稍作修改,從而得以使用Flow Router的SSR功能。

后續(xù)

由于目前Meteor的前端View Layer將會有比較大的變化,可能后續(xù)Orion會有React Components的版本,如同KeystoneJS那樣。目前來說,Orion1.7版本完全適用于Meteor1.2版本,短期內不再作大的更新變動。等到Meteor1.3正式發(fā)布之后,Orion也會迎來比較大的升級。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容