1、Joomla模板制作实战教程【一】-创建一个简单的模板 Joomla绝对是一款优秀的CMS,相较一些国产CMS她始终不能占据优势地位,很多人说Joomla做模板难、Joomla不支持静态生成、 Joomla执行效率低等等,但其实Joomla团队为这些东西做了很多的功夫,细细研究不难发现,Joomla模板只需要会Html+CSS就行 了,Joomla的静态生成其实就是System-cache(缓存插件),当做足了优化之后,Joomla的执行效率是相当可观的,如本站www.J(优化的方法会在后面的教程中提及) 话说Joomla模板难做,这是很多入门的学习者遇上的足以让他放弃Joomla的门槛,
2、那么我要说的是Joomla模板一点不难,它的难点根本不在于“是否会PHP”,而是在于不敢钻研的心,那么为了砍掉这个所谓的“门槛”,我将为大家带来这个系列的模板实战教程。 做之前我们必须要准备这几样东西! 1 1、持之以恒的心 2 2、必要的HTML+CSS基础知识 3 3、熟悉了Joomla的使用方法、工作原理 4 4、一丝不苟的工作态度。 5 5、认认真真的看好教程,不要急着复制粘贴。 开始我们的模板制作(以Joomla 1.5.x为例,完结之后会推出Joomla 1.7.x相关教程) 安装好Joomla 1.5.x,在templates/目录下建立一个我们要制作的模板文件
3、夹,命名为jk_joomlask,这时候在后台我们尚且看不到有jk_joomlask的这个模板选项。
*Joomla网站系统是基于utf-8编码编写的,所以以下所有操作的文件都务必保存为utf-8编码。
第一步我们需要让其在Joomla后台中显示这个模板选项,创建文件templateDetails.xml,不要担心会不会xml,很简单,根据官方文档给出的说明,照着写便是:
5、
7、如下图:) 这时候可以将JK JOOMLASK设为默认,但保存后前台会显示一片空白。 第二步,我们要让这个模板在前台能显示内容
9、 />
10、那么上述index.php中的
baseurl ?>
便是打印当前网站的绝对路径,
language; ?>
的 意思便是当前网站的语言设置,如果我们在后台设置的网站前台语言为中文,那么通过浏览器查看源码得到的就是。
回到正题,index.php中,我们创建了top和bottom的两个模块位置,格式: 11、"top" />,这里的top和bottom就是我们在templateDetails.xml预设的位置配置,另外还创建了一个非常重要的组件,那就是 Joomla的基本组件:文章格式如: 12、包含了默认的文章组件、top和bottom两个模块位置。虽然看起来比较不养眼,但是我们掌握了Joomla模板的一个基本结构,这节我们要针对一个设计完整的设计稿进行规划。
首先需要解释一下“模块位置”的概念。
之前做的一些开发分享,总是会碰到一些似乎入门的朋友容易把模板和“模块”当成两回事,所以有必要把它们的概念讲清楚,Joomla的模板其实就相 当于一个白纸,你需要在上面画上各种具体对象,它才能成为一真正模板,而我这里说的具体对象,不仅仅包括文章内容,它主要各种模块,诸如你看到的一条一条 的新闻列表、排列整齐的图片列表、带输入用户名密码的登陆区域。他们构成了一个真正的模板。
所以当你下载 13、了一个新的纯模板,它安装在Joomla系统之后,是看不到你所看到的模板样子,它需要各种模块去、组件内容(如文章内容)填充这张空白的纸,模块又是组件的另一种表现形式。便于大家理解,请看下图
那么看了上图之后,我们就知道模块的重要性了,它的意义在中式网站上甚至大于组件内容,理论上来说,一个JOOMLA网站可以由N个模块组成,却不需要组件内容,当然这没什么意义。
第一步:我们需要针对一个完整的设计稿做出规划
此次制作模板是以J为例,所以把很中式的Joomlask设计稿拿出来,针对设计稿,我们把Joomlask的设计稿划分为以下模块位置
jk_logo 设计为LOGO位置
jk_ad 14、top 设计为网站最顶部广告位置
jk_headinfo 设计为顶部右上角信息位置
jk_mainmenu 设计为主菜单位置
jk_adlong 设计为整条横幅广告位置
jk_left 设计为左边模块位置
jk_right 设计为右边模块位置(仅子页显示)
jk_user1, jk_user2, jk_user3, jk_user4, jk_user5, jk_user6, jk_user7, jk_user8 设计为图中分别指定位置,可以放一些通用的内容
jk_admid_1,jk_admid_2设计为网站中部的两个广告位
jk_link 设计为底部友情链接位置
jk_ 15、bnav 设计为底部菜单
jk_footer 设计为底部综合信息
compontent 就是组件内容的位置(本演示设计为仅子页显示)
第二步:根据规划的模块位置将其编写到模板中
打开文件templates/jk_joomlask/templateDetails.xml填写代码
17、at)
18、
19、ition>
20、sition>jk_admid_1 21、
当然完成第二步之后,有的同学肯定迫不及待的测试?tp=1了,第二步仅是让其在后台可显示,现在我们开始安装这些预设的模块位置:
打开/templates/jk_joomlask/index.php,编写如下代码:
22、xmlns="http://www.w3.org/1999/xhtml"
xml:lang="language; ?>" lang="language; ?>" >
23、 24、/>
25、/>
27、ogo,保存好创建的模块。
保存之后我们前台刷新如下:
Joomla模板制作实战教程-美化我们的模板【一】
2011-10-21 16:44
上一节(Joomla模板制作实战教程-创建各种模块位置)中我们学了关于在模板中制作各种模块位置,作为模板的骨架,模块位置的外观自然占有很重要的分量。当然制作模板首先最重要的一门知识就是前端制作(HTML+CSS)
在这里一些HTML+CSS的细节性知识就不多阐述了,首先我们要明确整个站点的前端框架,完了我们再针对模块位置进行制作。
首先创建好整站的前端框架及基础样式
根据上一节中提供的设计稿模块规划,我们将前端分为5个部分,分 28、别是:jk_header(头部)、jk_nav(菜单)、jk_ad_top(设 计之初是考虑这里放置多个广告)、jk_body(内容主体部分)、jk_bottom(底部),我们将这5个部分制作在index.php中
打开/templates/jk_joomlask/index.php,编写如下代码:
31、>
32、 33、pe="modules" name="jk_user4" />
36、ved.
# @license - Copyrighted Commercial Software
# Author: JOOMLASK
# Websites:
# This file may not be redistributed in whole or significant part.
-------------------------------------------------------------------------*/
/*--------------*/
body{background:#fff;color:#000;font-family:Tahom 37、a, Geneva, sans-serif;line-height:1.5;font-size:12px;}
/*global*/
#jk_wrapper{}
/*定义每个框架的宽度、居中对齐*/
#jk_wrapper .main{width:1000px; margin:0 auto;}
/*定义需要设定固定高度的DIV高度*/
#jk_header .main{ height:70px; background:black;}
#jk_nav .main{ height:63px; background:red;}
#jk_ad_top .main{ heigh 38、t:90px; background:yellow;}
#jk_body .main{ height:800px; background:blue;}
#jk_bottom .main{ height:170px; background:green;}
上述样式是给大框加进行了大体上的设定,并附加了颜色加以区分,在后面的控制中我们会把这些背景色全部去掉。
那么我们现在测试以上改的结果如下图
那么这样确实蛮难看的!我们现在就开始创建三个头部模块,一个LOGO,一个顶部广告,一个右上角的快捷信息。
进入后台->扩展->模块管理->创建一个定制HTML(mod_custom)模块,在 39、编辑器中插入一张图片(LOGO),这个模块定名为LOGO,模块标题隐藏,模块位置选择jk_logo
40、新的广告,名称设置为“头部中间广告”,分类和客户设置为“JOOMLASK”,广告URL设定为,广告图片选择我们刚才上传的广告ad_top_1.jpg 广告创建结束后,模块中并未显示,所以我们再回到扩展->模块管理->创建一个旗帜广告模块 模块位置选择jk_adtop,保存创建的广告模块。 下面我们还要创建右上角的相关信息模块,这是一个定制HTML模块,模块管理->创建一个定制HTML模块,在编辑器中输入以下代码:
新用户注册| 41、f=" target="_blank">会员登陆
42、src=" alt="button_temp_05" width="123" height="26" />
43、ll Rights Reserved. # @license - Copyrighted Commercial Software # Author: JOOMLASK # Websites: # This file may not be redistributed in whole or significant part. -------------------------------------------------------------------------*/ /*--------------*/ body{backgrou
44、nd:#fff;color:#000;font-family:Tahoma, Geneva, sans-serif;line-height:1.5;font-size:12px;} a{color:#006699;text-decoration:none;} /*global*/ #jk_wrapper{} #jk_wrapper .main{width:1000px; margin:0 auto;} #jk_header .main{ height:70px;} #jk_header .jk_logo{ float:left; width:25
45、2px; padding-top:10px; height:60px;} #jk_header .jk_headad{ float:left; width:468px;} #jk_header .jk_headinfo{ float:right; width:260px; height:60px;} #jk_header .jk_headinfo p{ margin:0; padding-bottom:10px;} #jk_nav .main{ height:63px; background:red;} #jk_ad_top .main{
46、height:90px; background:yellow;} #jk_body .main{ height:300px; background:blue;} #jk_bottom .main{ height:170px; background:green;} 我们定义了头部的这些样式,自然也要在前端给它装上,更改头部代码如下