joomla1.5前臺組件開發過程分享(附中文開發教程兩本)

    上一次分享到一個後臺組件開發,也許我講的不是很明白,不過大家把源代碼拿去之後應該能夠看懂,我是徹底按照MVC模式開發的。今天呢,就 來分享一下前臺組件開發,我這裏的前臺組件和後臺組件都是單獨開發,前臺組件是沒有後臺管理的,僅僅是開發顯示效果,由於默認的排版方式就是那麼兩種,如 果客戶須要個性化的,就必須本身開發,下來咱們就開發了。說一下目的,我要開發的是顯示文章的列表樣式,和自帶的博客樣式,默認樣式不一樣的,找到前臺組件 目錄components在裏面新建一個文件夾就叫作com_more吧,在裏面新建文件more.xml這個是打包安裝文件,models文件夾是模塊 文件夾,views是視圖文件夾,controller.php是控制器,more.php是入口文件。開發過程當中咱們能夠用 index.php?option=com_more來查看效果,因爲這個例子簡單,沒有更多控制器和視圖,因此仍是比較容易理解。最後我會分享給大家插 件開發的教程兩本。php

    如今一步一步來,more.xml是安裝文件,不是必須的,若是要打包分享別人經過zip上傳方式安裝才須要,通常工做中沒有必要去寫那個文件,特別是當文件特多的時候,咱們直接上傳開發文件和手動配置數據庫一樣能夠。先來看more.php入口文件吧,html

defined('_JEXEC') or die; jimport('joomla.application.component.helper');require_once( JPATH_COMPONENT.DS.'controller.php' );$controller = new MoreController();$controller->execute(JRequest::getVar('task',null,'default','cmd'));$controller->redirect();

裏面的1-3行是每一個組件必須,任何組件都這麼寫,分別是防止意外加載,載入助手函數,再入控制器文件,4行是建立一個控制器對象,5行是執行任務,最後跳轉,MoreController()是採用組建名+controller來命名的,joomla隨處可見這種命名方式。數據庫

    接着來看controller.php控制器代碼app

defined('_JEXEC') or die( 'Restricted access' ); jimport('joomla.application.component.controller');class MoreController extends JController { function display() { parent::display(); } }

很簡單吧,就是繼承了父類joomla的控制器而已,沒啥好說的。複雜一點的事models裏面,他是一 個模型,就是處理數據的,他把處理的數據給了views文件夾裏面的more下面的view.html.php,在這個文件裏面,咱們首先是得到模型,然 後把處理數據的方法返回的數據複製給模版。$this->assignRef('category',    $category);就是賦值給category,這裏其實能夠不須要模型,咱們直接在這個文件裏面寫查詢數據,而後把值賦給變量,不過就不是MVC 模式了。函數

    最後就是在views\more\tmpl裏面default.php的顯示文件了,這裏就是控制顯示效果了,把處理的數 據結果都在這裏顯示,經過循環,能夠取出數據值。這裏也是能夠寫查詢語句的,有時候爲了開發方便就直接在這裏寫了,不事後期維護組件的人就不容易看懂了, 怎麼作本身看着辦吧。在joomla裏面查詢數據用的最多,因此ui

$db=&JFactory::getDBO(); $query="SELECT * FROM #__content"; $db->setQuery($query);$list=$db->loadObjectList();

 這幾句用的最多,幾乎開發插件、組件、模塊都有可能用到的。最後用循環取出$list值。this

    好了一個組件基本就完成了,最後附上組件完整代碼,以及兩本開發教程都是中文版的,一本是API講解,一本是插件組建模塊開發。spa

代碼下載地址
插件

API下載
code

插件組件教程下載

(原創 by Yoby)

相關文章
相關標籤/搜索