剛開始學習joomla時,老是搞不清楚模塊(module)和組件的關係,二者有相似,又有不一樣,曾經爲這二者的關係及區別也搞得頭大。兩者有時候要結 合使用,有時候又能夠分別使用,這又有什麼區別?在實際應用中才能感覺到這些問題,本文將試着用本站上的例子講一下這些問題,這樣有一個直觀的感覺,讓初 學者將模塊(module)和組件(component)的這個小又重要的問題搞清楚,至於觸發器(bot),再寫過一篇吧。
先說模塊(module)的,簡單一點的說,模塊(module)的功能就是將後臺的內容顯示在網頁上,一個模塊(module)對應網頁上的必定區域, 好比一個簡單的計數器mod_digit_counter,效果見本站左上角。mod_digit_counter就是一個模塊(你能夠在網上搜索下載, 本站以後將提供下載),功能很簡單,只是在網頁上顯示一個計數器,數據從哪裏來呢,就是從joomla原有的數據庫中得來。當你安裝設置好後,這個模塊就 正常工做了,就這麼簡單,至於模塊的設置,每一個都不一樣,能夠看模塊的相應說明,通常都很簡單。這個模塊最簡單,也沒有什麼設置,初學者能夠用這個模塊來感 受一下模塊的使用。
那麼組件呢,從功能上來講,它是實現joomla自己沒有的功能,好比留言板功能,joomla自己不提供,怎麼辦,就用不少組件能夠提供這個功能,好比 easybook,bookjoomlas。本站使用bookjoomlas,下面就bookjoomlas來講說。安裝好bookjoomlas組件後 前臺並無相應的顯示(也許有另外,但我還沒見過),這就是和模塊的區別,你須要其它操做才能在前臺顯示bookjoomlas這個留言板。其它操做多 嗎?很少,就兩種,一種操做是作一個連接,我這裏說的連接也就是joomla中的菜單項(menu item),注意是菜單項(menu item),不是菜單(menu),這個很重要(對於這個問題你能夠參看本站的另外一篇文章)。如何新建這個菜單項,你先進入菜單(menu),而後選擇新 建菜單,在新窗口中選擇菜單項(menu item)類型爲組件(component),單擊下一步,在新窗口中選擇相應的組件,這裏固然選擇bookjoomlas了,再輸入一個名字,我在本站 取的名字就叫「我要留言」,這四個字將顯示在前臺頁面上,請有參看本站右一角。單擊保存就OK了。另外一種操做就是用這個組件對應的模塊,好比,我有須要在 頁面右側顯示最新的留言,怎麼辦?如本站你能夠安裝bookjoomlas對應的模塊mod_bookjoomlaslast,從 mod_bookjoomlaslast的名字你也能夠看出這個模塊的功能,呵呵。安裝這個模塊後,設置好這個模塊的發佈位置併發布,就能夠在前臺看到效 果,你也能夠看看本站右側的最新留言,就是用這個作的。有人會問,那有的組件要和模塊使用,有的不須要和模塊一塊兒使用,怎麼區別,這個沒有必定的規則,還 是以bookjoomlas爲例,他能夠單獨使用,不要模塊也能夠,而那個最新留言的模塊只是bookjoomlas組件上的一個顯示功能,它所取的數據 都是組件bookjoomlas中的。
那麼還有一個問題,何時模塊獨立使用,何時模塊要和組件一塊兒使用呢?你再回頭看一下那個mod_digit_counter,你能夠這樣理解,當 一個模塊在前臺顯示的數據是從joomla自己數據庫中得來(或者模塊自己就有數據),就不須要和組件一塊兒使用。當模塊要顯示的數據要從相應組件的數據庫 中取時,就須要和相應組件配合使用。(相應組件的數據庫這種說法不正確,應當說是安裝這些組件時,會在joomla數據庫中新建一些,這些組件的數據就放 在這些表中。}
不知道這樣說有沒有說清楚模塊和組件的區別及功能,不知不覺寫了一個小時,收工了。有什麼問題能夠給留言。
做者: hotart
時間: 2010-4-6 23:30
剛接觸的 很好理解
做者: 悲傷的魂
時間: 2010-4-8 13:38
組件com
模塊mod
就分清楚了,
做者: joon
時間: 2010-4-8 14:03
我還插件plg
做者: 悲傷的魂
時間: 2010-4-8 14:14
我其實分不清楚,不過也懶得去分清楚
功能作導向,要實現什麼功能——什麼東西能實現(管它組件仍是模塊)——下載下來看readme
說明書要我怎麼裝我就怎麼裝,要配什麼插件就配什麼插件
而後整到前臺,OK。
功能實現。
完了,謝謝你們。
做者: joon
時間: 2010-4-8 14:29
呵呵·
樓上有空的話去試試純模塊的頁面·
意思就是一個頁面所有用模塊去實現,不要用到組件
你就會發現問題了~也就是爲何組件和模塊有區別了,爲何要搞清楚模塊和組件
建議你去試試~joomla還有不少驚喜的~
做者: 11025
時間: 2010-5-22 09:07
收益匪淺,學習中
做者: keigoholic
時間: 2011-1-6 11:30
多謝了~新生,學習中
做者: reallovelei
時間: 2011-1-10 11:46
模塊化的頁面結構 會比較清晰。。
做者: jiang1314
時間: 2011-1-11 20:38
我仍是不懂,就是不懂。。。
做者: jiang1314
時間: 2011-1-11 20:38
不過樓主的頭像真贊。。。
做者: ychangeer
時間: 2011-1-14 22:52
學習了,樓主真正老好人了
做者: tct888
時間: 2011-2-16 20:02
謝謝,學習了。
做者: yesisey
時間: 2011-2-21 15:36
謝謝學習了!
做者: yesisey
時間: 2011-2-21 15:42
仍是在實踐中學習比較可靠。
做者: chaoyue8821
時間: 2011-2-22 15:36
講的仍是比較好理解的。
做者: S0UL
時間: 2011-2-24 22:44
恩
之前老是不知道組件怎麼用,嘿嘿
謝謝了
做者: wenfang
時間: 2011-3-17 22:07
模塊和組件?算了,頭大,先練習再說
做者: yaofeng
時間: 2011-3-25 19:21
一個有實力的樓主
頂..狂頂
做者: victorchl
時間: 2011-5-12 04:33
很不錯的教程~~~~
做者: bboonnee
時間: 2011-5-16 21:53
樓主講的太複雜了
組件是自帶數據庫結構的實現的功能,安裝的時候他會本身生成數據庫表來實現joomla不提供的功能
模塊就是前臺的UI層,連接組件和joomla的;
若是模塊使用已有數據庫表數據,就不須要組件;組件應該是必須有模塊設置才能夠顯示
做者: ysxlinux
時間: 2011-6-10 08:56
樓主,請教一個問題。我在一個模塊中放置一個表單的頁面。而後這個頁面提交後會進入下一個頁面,下一個頁面也一樣顯示在這個模塊中。請問我要怎麼實現?
做者: ysxlinux
時間: 2011-6-10 08:57
補充:我這個表單不想用joomla內置的表單模塊來實現,謝謝。給位樓上的朋友有什麼想法也能夠給我留言。謝了。php
http://joomla.net.cn/viewthread.php?action=printable&tid=191linux