2011年2月28日 星期一

[Joomla!1.6]-如何開發一個MVC元件-2

Joomla!1.6, component, developing

我的第一個Joomla元件

在開始之前,筆者要先恭喜你,踏入了一個有趣又能擁有成就感的領域,從無到有的創造屬於自己的元件並應用在網站中,將會使你的Joomla站台與眾不同。

那麼,現在就請你開啟最愛的文字編輯軟體,開始與筆者一同舞出炫麗Joomla的樂章吧。首先,讓我們先約定一個默契,將本次開發的元件取名為[MyCC]。還記得上一篇中,提過Joomla的元件需要實作兩個部分,"發布"與"管理",我們先來看看完成"發佈"所需要的檔案。

在你的Joomla網站目錄中找到components資料夾,並在底下新增一個子目錄且命名為com_MyCC,接著在com_MyCC目錄中建立檔案MyCC.php。內容如下:

2011年2月27日 星期日

[Joomla!1.6]-如何開發一個MVC元件-1

MVC, Joomla!1.6, Component

前言

首先,我們來了解一下Joomla是怎麼部屬整個系統,讓所有程式碼可以互相協助運作。Joomla1.6承襲了以往的架構,可分為三個應用層次,如下:

  • 安裝(installation)-用以安裝Joomla的各部份元素
  • 管理(administrator)-用以管理內容
  • 發布(public)-用以顯示或呈現系統中的內容

"安裝"只執行一次,而"管理"與"發布"則是透過一種稱為"元件"的概念來操作,每一個元件要成功的運作都必須實作(have entry)兩個部分:

  • 一是位於站台根目錄中的component資料夾中(用以發布內容)
  • 另一個則是位於站台跟目錄下的administrator/component資料夾中(用以管理管理內容)

並且都要以Joomla的命名原則來命名元件所在的目錄與檔名,如: com_[元件名稱]/[原件名稱].php。假設今天我們開發一個元件叫做MyCC,那麼該元件的主要程式檔就必須如下命名:[com_MyCC/MyCC.php]

接下來我們就以老掉牙的Hello World!! 來看看如何開發一個簡易的元件(Component)。

[下一篇]

2011年2月20日 星期日

[呆兵手記]-基地

國軍online

再見了,我的書桌

這次放假,好好的整頓心情,該補齊生活用品買一買,不必要的東西都拿回家放了,三個月後我們再見。


多種哨點,更多訓練,國軍online,等你來挑戰。二月29日,全新副本基地--長官的咆嘯。你,準備好了嗎?

2011年2月19日 星期六

Joomla1.6-ACL-note

Joomla!1.6, ACL

Joomla!1.6的ACL(權限控管)

不好用,正式版本出來後,特別在測試了一次,上次beta中,筆者提到,此次的ACL只有做到垂直的分權,卻沒有水平分權,如今,正式版出來了,但仍然不能像K2(一種第三方Joomla元件)一般,讓不同使用者擁有自己的頁面權限(K2中強調可以作為多使用者部落格的功能)。

所以,新的版本仍然無法滿足有些單位中,需要讓不同組別共同維護一個站台的需求,也或許是這種要求比較奇怪,不過,筆者確實遇到了,不能說完全不會發生這樣的使用案例。

2011年2月13日 星期日

Joomla!1.6版-新的延伸套件參數設定方式

Joomla1.6, template, upgrate

What's the difference between version 1.5&1.6 on Joomla template?

新的參數檔設定結構

自從Joomla1.6 stable版本釋出以後,許多新的功能逐漸取代以往一些好用的套件,甚至是筆者一直大力推薦的K2,都及面臨被取代的境地。但是,在開發Joomla1.6新的延伸套件的同時,我們發現部分的程式碼寫法須要做一個調整。舉例來說,設計樣板延伸套件時,原本在設計XML檔(templateDetails.xml)中,有關後台參數設定的結構,Joomla1.6做了一些改變。

以往(Joomla1.5)在註冊檔案中(*.XML),我們如果要宣告參數,會使用<params>標籤,方法大致如下:

<params>
   <param name="[參數名稱]" 
          type="[參數類型]" 
          default="[預設值]" 
          label="[標籤說明]" 
          description="[作用描述]" />
</params>

但是在Joomla1.6,<params>標籤被取消了,參數的設定我們首先要宣告<config>標籤,然後再使用<field>標籤,並且置於<fields>以及<fieldset>形成的巢狀結構中,如下方所示:

 <config>
        <fields name="params">
            <fieldset name="basic">
                <field name="" type="" default="" label="" description="">
                    <option value="1">On</option>
                    <option value="0">Off</option>
                </field>
                <field name="" type="" default="" label="e" description="" />
            </fieldset>
        </fields>
 </config>

從樣板註冊檔的XML結構改變來看,Joomla1.6把參數往下娜了幾個層級,並全部歸類到config中,換句話說,新的版本再次的發揮Joomla的特長,整合所有開發過程中,相似的程序,也就是對類似需要宣告設定的"開發步驟",做了一次"抽象化(abstract)"。強化了物件導向的思維模式。

2011年2月7日 星期一

[呆兵手記]年假結束

六天的快樂假期結束了

終於,快樂的時光進入尾聲,今天要收假了,明天就是飄的生日,卻沒辦法一起過,呼~這就是廉價二兵的無奈啊。

2011年2月4日 星期五

[閒聊]新年到

啊嗚~

放假到現在也有三天了,電腦重新裝了WIN7,確實不錯用,目前還沒有遇到相容性的問題,而且順利的架設了虛擬機器,弄了一個winXP平台來架設Apache伺服器,而且也成功的從宿主機器連線到虛擬機中,這樣以後我就可以直接在自己的PC測試網路程式又不用怕把win7架設成伺服器而遭遇網路入侵攻擊了。