收藏 分销(赏)

joomla模板完美开发教程.doc

上传人:仙人****88 文档编号:9281486 上传时间:2025-03-19 格式:DOC 页数:28 大小:1.12MB 下载积分:10 金币
下载 相关 举报
joomla模板完美开发教程.doc_第1页
第1页 / 共28页
joomla模板完美开发教程.doc_第2页
第2页 / 共28页


点击查看更多>>
资源描述
Joomla模板制作实战教程【一】-创建一个简单的模板 Joomla绝对是一款优秀的CMS,相较一些国产CMS她始终不能占据优势地位,很多人说Joomla做模板难、Joomla不支持静态生成、 Joomla执行效率低等等,但其实Joomla团队为这些东西做了很多的功夫,细细研究不难发现,Joomla模板只需要会Html+CSS就行 了,Joomla的静态生成其实就是System-cache(缓存插件),当做足了优化之后,Joomla的执行效率是相当可观的,如本站www.J(优化的方法会在后面的教程中提及) 话说Joomla模板难做,这是很多入门的学习者遇上的足以让他放弃Joomla的门槛,那么我要说的是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/目录下建立一个我们要制作的模板文件夹,命名为jk_joomlask,这时候在后台我们尚且看不到有jk_joomlask的这个模板选项。 *Joomla网站系统是基于utf-8编码编写的,所以以下所有操作的文件都务必保存为utf-8编码。 第一步我们需要让其在Joomla后台中显示这个模板选项,创建文件templateDetails.xml,不要担心会不会xml,很简单,根据官方文档给出的说明,照着写便是: <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE install PUBLIC "-//Joomla! 1.5//DTD template 1.0//EN" "http://www.joomla.org/xml/dtd/1.5/template-install.dtd"> <!--扩展的类型是模板, 适用的版本是Joomla 1.5--> <install version="1.5" type="template"> <!--模板的名称,即后台模板的显示名称--> <name>JK JOOMLASK</name> <!--模板的创建日期--> <creationDate>2011-09-05</creationDate> <!--模板的创建作者--> <author>Joomlasker</author> <!--作者联系邮箱--> <authorEmail>joomlasker(at)</authorEmail> <!--作者网站--> <authorUrl></authorUrl> <copyright>JOOMLASK 2011</copyright> <license>GNU/GPL</license> <version>1.0.0</version> <!--模板的简介--> <description>JOOMLASK</description> <!--模板的相关文件--> <files> <!--单个文件是filename表达式--> <filename>index.php</filename> <filename>templateDetails.xml</filename> </files> <!--模板的模块位置选项,即新建模块时的位置选择,预设以下位置--> <positions> <position>top</position> <position>bottom</position> </positions> </install> 请细心看看上述文档,即是官方文档的标准设置 这时候我们进入后台,可以看到JK JOOMLASK的模板已经出现了(如下图:) 这时候可以将JK JOOMLASK设为默认,但保存后前台会显示一片空白。 第二步,我们要让这个模板在前台能显示内容 <!--照着抄--> <?php defined( '_JEXEC' ) or die( 'Restricted access' );?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo $this->language; ?>" lang="<?php echo $this->language; ?>" > <head> <!--导入joomla库的<head>相关内容--> <jdoc:include type="head" /> <!--link模板的主样式表--> <link rel="stylesheet" href="<?php echo $this->baseurl ?>/templates/jk_joomlask/css/template.css" type="text/css" /> </head> <body> <!--创建模块位置 top--> <jdoc:include type="modules" name="top" /> <!--创建文章内容组件--> <jdoc:include type="component" /> <!--创建模块位置 bottom--> <jdoc:include type="modules" name="bottom" /> </body> </html> 普及一下PHP的简单知识,<?php echo "打印内容" ?>,就是我们所熟知的程序基本打印功能,示例即是打印出隐号部分内容,那么上述index.php中的 <?php echo $this->baseurl ?> 便是打印当前网站的绝对路径, <?php echo $this->language; ?> 的 意思便是当前网站的语言设置,如果我们在后台设置的网站前台语言为中文,那么通过浏览器查看源码得到的就是<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="zh-cn" lang="zh-cn" >。 回到正题,index.php中,我们创建了top和bottom的两个模块位置,格式:<jdoc:include type="modules" name="top" />,这里的top和bottom就是我们在templateDetails.xml预设的位置配置,另外还创建了一个非常重要的组件,那就是 Joomla的基本组件:文章格式如:<jdoc:include type="component" />,大部分新手忽略了这个从而测试的时候发现不了文章内容。 保存好文件之后,刷新前台,即可看到被设定位frontpage的文章了!如下图,虽然难看了点: Joomla模板制作实战教程-创建各种模块位置 2011-09-27 22:22 在上一节(Joomla模板制作实战教程【一】-创建一个简单的模板 )中我们创建了一个非常简单的模板,包含了默认的文章组件、top和bottom两个模块位置。虽然看起来比较不养眼,但是我们掌握了Joomla模板的一个基本结构,这节我们要针对一个设计完整的设计稿进行规划。 首先需要解释一下“模块位置”的概念。 之前做的一些开发分享,总是会碰到一些似乎入门的朋友容易把模板和“模块”当成两回事,所以有必要把它们的概念讲清楚,Joomla的模板其实就相 当于一个白纸,你需要在上面画上各种具体对象,它才能成为一真正模板,而我这里说的具体对象,不仅仅包括文章内容,它主要各种模块,诸如你看到的一条一条 的新闻列表、排列整齐的图片列表、带输入用户名密码的登陆区域。他们构成了一个真正的模板。 所以当你下载了一个新的纯模板,它安装在Joomla系统之后,是看不到你所看到的模板样子,它需要各种模块去、组件内容(如文章内容)填充这张空白的纸,模块又是组件的另一种表现形式。便于大家理解,请看下图 那么看了上图之后,我们就知道模块的重要性了,它的意义在中式网站上甚至大于组件内容,理论上来说,一个JOOMLA网站可以由N个模块组成,却不需要组件内容,当然这没什么意义。 第一步:我们需要针对一个完整的设计稿做出规划 此次制作模板是以J为例,所以把很中式的Joomlask设计稿拿出来,针对设计稿,我们把Joomlask的设计稿划分为以下模块位置 jk_logo 设计为LOGO位置 jk_adtop 设计为网站最顶部广告位置 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_bnav 设计为底部菜单 jk_footer 设计为底部综合信息 compontent 就是组件内容的位置(本演示设计为仅子页显示) 第二步:根据规划的模块位置将其编写到模板中 打开文件templates/jk_joomlask/templateDetails.xml填写代码 <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE install PUBLIC "-//Joomla! 1.5//DTD template 1.0//EN" "http://www.joomla.org/xml/dtd/1.5/template-install.dtd"> <!--扩展的类型是模板, 适用的版本是Joomla 1.5--> <install version="1.5" type="template"> <!--模板的名称,即后台模板的显示名称--> <name>JK JOOMLASK</name> <!--模板的创建日期--> <creationDate>2011-09-05</creationDate> <!--模板的创建作者--> <author>Joomlasker</author> <!--作者联系邮箱--> <authorEmail>joomlasker(at)</authorEmail> <!--作者网站--> <authorUrl></authorUrl> <copyright>JOOMLASK 2011</copyright> <license>GNU/GPL</license> <version>1.0.0</version> <!--模板的简介--> <description>JOOMLASK</description> <!--模板的相关文件--> <files> <!--单个文件是filename表达式--> <filename>index.php</filename> <filename>templateDetails.xml</filename> </files> <!--模板的模块位置选项,即新建模块时的位置选择,预设以下位置--> <positions> <position>jk_logo</position> <position>jk_adtop</position> <position>jk_headinfo</position> <position>jk_mainmenu</position> <position>jk_adlong</position> <position>jk_left</position> <position>jk_right</position> <position>jk_user1</position> <position>jk_user2</position> <position>jk_user3</position> <position>jk_user4</position> <position>jk_user5</position> <position>jk_user6</position> <position>jk_user7</position> <position>jk_user8</position> <position>jk_admid_1</position> <position>jk_admid_2</position> <position>jk_link</position> <position>jk_bnav</position> <position>jk_footer</position> </positions> </install> 这时候神奇的事情发生了,我们回到后台,扩展->模块->创建一个新模块(以mod_custom)为示例,在选择模块位置的时候我们就看到了刚才规划的这些模块位置了 第三步:在模块文件index.php中调用安装模块位置 当然完成第二步之后,有的同学肯定迫不及待的测试?tp=1了,第二步仅是让其在后台可显示,现在我们开始安装这些预设的模块位置: 打开/templates/jk_joomlask/index.php,编写如下代码: <?php defined( '_JEXEC' ) or die( 'Restricted access' );?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo $this->language; ?>" lang="<?php echo $this->language; ?>" > <head> <jdoc:include type="head" /> <link rel="stylesheet" href="<?php echo $this->baseurl ?>/templates/mynewtemplate/css/template.css" type="text/css" /> </head> <body> <jdoc:include type="modules" name="jk_logo" /> <jdoc:include type="modules" name="jk_adtop" /> <jdoc:include type="modules" name="jk_headinfo" /> <jdoc:include type="modules" name="jk_mainmenu" /> <jdoc:include type="modules" name="jk_adlong" /> <jdoc:include type="modules" name="jk_left" /> <jdoc:include type="modules" name="jk_right" /> <jdoc:include type="modules" name="jk_user1" /> <jdoc:include type="modules" name="jk_user2" /> <jdoc:include type="modules" name="jk_user3" /> <jdoc:include type="modules" name="jk_user4" /> <jdoc:include type="modules" name="jk_user5" /> <jdoc:include type="modules" name="jk_user6" /> <jdoc:include type="modules" name="jk_user7" /> <jdoc:include type="modules" name="jk_user8" /> <jdoc:include type="modules" name="jk_admid_1" /> <jdoc:include type="modules" name="jk_admid_2" /> <jdoc:include type="modules" name="jk_link" /> <jdoc:include type="modules" name="jk_bnav" /> <jdoc:include type="modules" name="jk_footer" /> </body> </html> 好了,请前往你的网站前台测试吧,在URL最后面,如: 到这里我们创建了很多胀眼的模块位置,有的同学可能会问了,怎么又是没内容,这简单,我们就来填充一个模块内容,就以mod_custom模块为 例,后台->扩展->模块->创建一个定制html模块 (mod_custom),在定制HTML模块中我们输入任意内容,模块位置就选择第一个jk_logo,保存好创建的模块。 保存之后我们前台刷新如下: Joomla模板制作实战教程-美化我们的模板【一】 2011-10-21 16:44 上一节(Joomla模板制作实战教程-创建各种模块位置)中我们学了关于在模板中制作各种模块位置,作为模板的骨架,模块位置的外观自然占有很重要的分量。当然制作模板首先最重要的一门知识就是前端制作(HTML+CSS) 在这里一些HTML+CSS的细节性知识就不多阐述了,首先我们要明确整个站点的前端框架,完了我们再针对模块位置进行制作。 首先创建好整站的前端框架及基础样式 根据上一节中提供的设计稿模块规划,我们将前端分为5个部分,分别是:jk_header(头部)、jk_nav(菜单)、jk_ad_top(设 计之初是考虑这里放置多个广告)、jk_body(内容主体部分)、jk_bottom(底部),我们将这5个部分制作在index.php中 打开/templates/jk_joomlask/index.php,编写如下代码: <?php defined( '_JEXEC' ) or die( 'Restricted access' );?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo $this->language; ?>" lang="<?php echo $this->language; ?>" > <head> <jdoc:include type="head" /> <link rel="stylesheet" href="<?php echo $this->baseurl ?>/templates/jk_joomlask/css/template.css" type="text/css" /> </head> <body> <div id="jk_wrapper"> <div id="jk_header"> <div class="main"> <jdoc:include type="modules" name="jk_logo" /> <jdoc:include type="modules" name="jk_adtop" /> <jdoc:include type="modules" name="jk_headinfo" /> </div> </div> <div id="jk_nav"> <div class="main"> <jdoc:include type="modules" name="jk_mainmenu" /> </div> </div> <div id="jk_ad_top"> <div class="main"> <jdoc:include type="modules" name="jk_adlong" /> </div> </div> <div id="jk_body"> <div class="main"> <jdoc:include type="modules" name="jk_left" /> <jdoc:include type="modules" name="jk_right" /> <jdoc:include type="modules" name="jk_user1" /> <jdoc:include type="modules" name="jk_user2" /> <jdoc:include type="modules" name="jk_user3" /> <jdoc:include type="modules" name="jk_user4" /> <jdoc:include type="modules" name="jk_user5" /> <jdoc:include type="modules" name="jk_user6" /> <jdoc:include type="modules" name="jk_user7" /> <jdoc:include type="modules" name="jk_user8" /> <jdoc:include type="modules" name="jk_admid_1" /> <jdoc:include type="modules" name="jk_admid_2" /> </div> </div> <div id="jk_bottom"> <div class="main"> <jdoc:include type="modules" name="jk_link" /> <jdoc:include type="modules" name="jk_bnav" /> <jdoc:include type="modules" name="jk_footer" /> </div> </div> </div> </body> </html> 然后我们要给这些前端框架一些外观样式 打开文件/templates/jk_joomlask/css/template.css编写代码:(以下代码为了方便学习识别,会暂时在框架上加上一些颜色、高度以区分) @charset "utf-8"; /*------------------------------------------------------------------------ # Copyright (C) JOOMLASK. All Rights Reserved. # @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:Tahoma, 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{ height:90px; background:yellow;} #jk_body .main{ height:800px; background:blue;} #jk_bottom .main{ height:170px; background:green;} 上述样式是给大框加进行了大体上的设定,并附加了颜色加以区分,在后面的控制中我们会把这些背景色全部去掉。 那么我们现在测试以上改的结果如下图 那么这样确实蛮难看的!我们现在就开始创建三个头部模块,一个LOGO,一个顶部广告,一个右上角的快捷信息。 进入后台->扩展->模块管理->创建一个定制HTML(mod_custom)模块,在编辑器中插入一张图片(LOGO),这个模块定名为LOGO,模块标题隐藏,模块位置选择jk_logo <div><a href="" target="_blank"><img src=" border="0" /></a></div> 然后我们再创建顶部广告(利用Joomla 1.5自带的广告管理),将我们设计好的广告图片上传至/images/banners/ad_top_1.jpg 进入后台->旗帜广告->分类管理->创建一个新的广告分类,定名为“JOOMLASK”,再回到旗帜广告->客户管理->创建一个新的客户,定名为“JOOMLASK” 回到旗帜广告->广告管理->创建一个新的广告,名称设置为“头部中间广告”,分类和客户设置为“JOOMLASK”,广告URL设定为,广告图片选择我们刚才上传的广告ad_top_1.jpg 广告创建结束后,模块中并未显示,所以我们再回到扩展->模块管理->创建一个旗帜广告模块 模块位置选择jk_adtop,保存创建的广告模块。 下面我们还要创建右上角的相关信息模块,这是一个定制HTML模块,模块管理->创建一个定制HTML模块,在编辑器中输入以下代码: <p><a href=" target="_blank"><span style="color: #ff0000;">新用户注册</span></a>| <a href=" target="_blank">会员登陆 </a>| <a href=" target="_blank">商务合作</a> | <strong><a id="translateLink" style="color: red; font-weight: bold;">正體中文</a></strong></p><p><a href=" target="_blank"><img src=" alt="button_temp_03" width="123" height="26" /></a>&amp;nbsp;&amp;nbsp;<a href=" target="_blank"><img src=" alt="button_temp_05" width="123" height="26" /></a></p> 创建定制HTML模块就不多说了,同第一步创建LOGO模块一样 那么这时候jk_header的这三个模块没有实质样式,再打开/templates/jk_joomlask/css/template.css修改代码为: @charset "utf-8"; /*------------------------------------------------------------------------ # Copyright (C) JOOMLASK. All Rights Reserved. # @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: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:252px; 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{ height:90px; background:yellow;} #jk_body .main{ height:300px; background:blue;} #jk_bottom .main{ height:170px; background:green;} 我们定义了头部的这些样式,自然也要在前端给它装上,更改头部代码如下 <?php defined( '_JEXEC' ) or die( 'Restricted access' );?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo $this->language; ?>" lang="<?php echo $this->language; ?>" > <head> <jdoc:include type="head" /> <link rel="stylesheet" href="<?php echo $this->baseurl ?>/templates/jk_joomlask/css/template.css" type="text/css" /> </head> <body> <div id="jk_wrapper"> <div id="jk_header"> <div class="main"> <div class="jk_logo"><jdoc:include type="modules
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 教育专区 > 小学其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服