joomla framework

Joomla 是一個非常出名的CMS系統,在很早的時候就認識它,一開始還是mambo,以前讀中學的時候知識少,英文也很弱,中文的支援很少,到現在,假如說joomla,應該是台灣對這方面的支援比較多,香港機會沒見。

在對joomla 的template 風格製作後,才慢慢懂得joomla 整個系統的功能,現在對整個系統可以說算是熟悉。但是在自己開發製作風格時,很多時候都會遇到問題,例如Menu, content 等,製作一個風格是很花時間的事,因為每一樣都需要時間去定義設計。而且還要適應不同瀏覽器,有沒有比較簡單的方法呢? 做過風格的人應該都有同樣的煩惱,因此一些以風格製作為生的外國人製作一些framework,也就是一些框架。framework 這些年來很流行,例如jQuery就是一個很出面的framework,利用那的框架就能很簡單的實現一些效果,如漸變。joomla template framework 也是用同樣道理,把複雜的東西簡單化,framework 已經提供了很多框架給你,設計者只需開關,對不同的位置的外觀添加自己的css,就已經可以改變的外貌。而且framework已經自帶了很多JS,例如menu 的js,不用擔心不會寫多層次的menu js,你需要的是定義樣式。

目前比較流行的joomla template framework 幾個,主要是一些很出名風格開發者製作的

1. JA T3 開發者:JoomlArt.com

http://wiki.joomlart.com/wiki/JA_T3_Framework_2/Overview

joomlart 開發的風格模板相信很多人都見過,而它提供的framework更是功能強大,而且配合ajax,很容易控制。

開發指南:http://wiki.joomlart.com/wiki/JA_T3_Framework_2/Guides

joomlart 還提供了視頻教學,教導你如何製作風格,十分全面,入門不難。

http://www.youtube.com/user/JoomlArt#p/c/4/NU2-a0lLKQ0

2.Gantry 開發者:RocketTheme.com

http://gantry-framework.org/

gantry 比起JA T3 比較直觀簡單,支援960 grid 系統,教學指導比起JA 專業很多哦。

3.Warp yootheme.com

http://www.yootheme.com/warp/Warp

warp 已經到5.5 了, 其提供了很多開發工具,而且也提供了很多module ,如slider,gallery 等給用家,有了這些工具,也許就不需要頭疼去找一些可用的模組了

http://www.yootheme.com/docs/home/category/yootools

4.T3 開發者:Gavick.com

http://www.gavickmagazine.com/home/itemlist/category/33-gavern-framework.html

這個還是比較少人用,對比前3個,支援方面也是比較少,也許與團隊有關。

5. Zend Grid 開發者:JoomlaBamboo

http://docs.joomlabamboo.com/zen-grid-framework

 

joomlabamboo 提供的不止是zend grid, 還有jb library,zend grid 商業性質很重,支援也不見多。

6. yougrids 開發者:youjoomla.com

http://yjsimplegrid.com/

目前我見過的就是以上framework,入門很簡單,對設計的工作可以起到很大作用,起碼省了很多時間去適應不同的瀏覽器。

 

Joomla 1.6 的改變

後台轉變

Joomla 1.6 後台用上藍色,圖標更換了,很清晰

Joomla 1.6 後台欄目上新增了Users, 其為新版本的新功能,可以編輯用戶群組權限,同時可以自定群組。

Fronte page Manager已經被改featured article,控制台首頁選項中被移除。

Joomla 1.6 另一大改變就是內容系統,1.5 的內容系統分Section 和category(下圖),類別分類一直是令人頭痛的事(自己裝插件除外),1.6後,看上面的圖可以看到只有一個類別管理,也就是說是無限級分類的管理系統,這樣層次清晰多了。

插件方面,預訂的投票插件在1.6已經被移除,可能使用率太少吧,反而用上新的Redirect,也就是網址轉向,例如404頁面轉向,對SEO有幫助

Extension 增加更新功能

Module 管理增加Access, Language, Location過濾,這些主要是因為1.6可以設定多語言,不同權限而增加的。

Template管理也有大轉變,管理界面更直觀

而且在Style 裡面可以設定不同欄目設定不同的template主題


不過這個設定在style 設定是起不了作用,還要在Menu 裡面選擇Template Style後才能實現,有點重複動作。

 

最後就是Joomla 默認主題也更換了,這個很好看

joomla 創建drop down menu

原本想用jQuery tools 來做menu,懶人法則,但是發現Joomla 已經用了mootools,因此用jQuery會有衝突,於是再尋找懶人法則,找到了個不錯的方法

首先上http://de.siteof.de/extended-menu.html 下載module,Extensions =>install & uninstall=> 選擇下載了的extended-menu,上載安裝

安裝成功後,入Extensions =>Module Manager,找到Extended Menu,進入設定,按下面設定

Menu Class Suffix: mainnav  (這個名字是因為在javascript 時會用到)

Menu Style: Tree List

Expand Menu: Yes
Menu name:topmenu (其實就是選擇你要顯示的menu)
記得要Enabled這個module
儲存好後,接著把下面的css 複製到你的主題(template)的css 文件裡

css完成後,就可以加上下面的javascript放到 主題的index.php 的裡面

[code]
#twocols{ /*the columns that gets dropped down over yours might be different*/
  z-index:20;
}
#leftcol{  /*the columns that gets dropped down over yours might be different*/
  z-index:10;
}
.moduletablemainnav { /* I have absolutely positioned the module, you might have a different scheme*/
  position:absolute;
  top:187px;
  left:20px;
  z-index:100;
  font:0.9em Verdana, Arial, Helvetica, sans-serif;
  margin:0;
  padding:0;
}
#mainlevelmainnav,#mainlevelmainnav ul {
  float:left;
  list-style:none;
  line-height:1em;
  background:transparent;
  font-weight:700;
  margin:0;
  padding:0;
}
#mainlevelmainnav a {
  display:block;
  color:#f90;
  text-decoration:none;
  margin-right:15px;
  padding:0.3em;
}
#mainlevelmainnav li {
  float:left;
  padding:0;
}
#mainlevelmainnav li ul  {
  position:absolute;
  left:-999em;
  height:auto;
  width:11em;
  font-weight:400;
  background:#36f;
  border:#00C 1px solid;
  margin:0;
}
#mainlevelmainnav li li {
  width:11em;
}
#mainlevelmainnav li ul a {
  width:11em;
  color:#fff;
  font-size:0.9em;
  line-height:1em;
  font-weight:400;
}
#mainlevelmainnav li:hover ul ul,#mainlevelmainnav li:hover ul ul ul,#mainlevelmainnav li.sfhover ul ul,#mainlevelmainnav li.sfhover ul ul ul{
  left:-999em;
}
#mainlevelmainnav li:hover ul,#mainlevelmainnav li li:hover ul,#mainlevelmainnav li li li:hover ul,#mainlevelmainnav li.sfhover
  ul,#mainlevelmainnav li li.sfhover ul,#mainlevelmainnav li li li.sfhover ul {
  left:auto;
  z-index:6000;
}
#mainlevelmainnav li li:hover,#mainlevelmainnav li li.sfhover {
  background:#039 url(../images/soccerball.gif) 98% 50% no-repeat;
}
[/code]

上面的getElementById裡面的mainlevelmainnav,就是剛才定的,前面mainlevel是系統的東西。

保存完畢後,就可以到主頁看看,css可以自己更改,這個很多網站都有提供配色,可以參考下。

joomla 主題筆記

在設計joomla 主題時,雖然已經開始熟悉,但是有些細微的東西總是容易忘記,不如記下來吧,方便自己做 內容code



<jdoc:include type="component" />

檢查是否首頁



<?php if(JRequest::getVar('view') == "frontpage" ) : ?>

增加多一個position 需要在templateDetails.xml中的<position> 中增加
joomla 模塊輸出的位置都是用

<jdoc:include type="modules" name="user2" style="xhtml" />

只要把名字改成你的position 名就可以了,十分簡單