Joomla模板解析

上一篇 / 下一篇  2007-04-01 16:35:59 / 个人分类:joomla

一、语义标记
$|;sBZr0先看一个Joomla模板的index.php的空白body(head部分从略),都包含了哪些信息可供我们分析:寻梦社区门户wT9h Ff o j
寻梦社区门户 js M7h3^p'p%N$IM5A
<body>寻梦社区门户{H%[Z*u
<!-- 1 --><?php echo $mosConfig_sitename;?>
'sI/D)v"NmD N$X0<!-- 2 --><?php mospathway()?>寻梦社区门户6D#N1Y(y#A)K
<!-- 3 --><?php mosLoadModules('top');?>寻梦社区门户jMlOV&hL-mI F
<!-- 4 --><?php mosLoadModules('left');?>
9qXu&C ]A0<!-- 5 --><?php mosMainBody();?>寻梦社区门户4R,I?0`J@ Au
<!-- 6 --><?php mosLoadModules('right');?>
cT\-vQ+F0<!-- 7 --><?php include_once( $mosConfig_absolute_path .'/includes/footer.php' );?>
zRx'~!iv8i0</body>
%fH$gN7i0</html>
逻辑顺序一目了然:
*O}/LszN6F0寻梦社区门户O;LXpXz3I#C
1. name of the site 网站名称
mdec/NAm6C0k02. the pathway 模块路径寻梦社区门户3YD{WN9\0P
3. top module 顶部模块寻梦社区门户(| |j6gzz`$v
4. left modules 左侧模块
fXZ1hq0P H05. main content 主要内容寻梦社区门户`PT-~q BI
6. right modules 右侧模块寻梦社区门户tQG!ry!V
7. the default footer module 默认的底部模块
m'u'm*cZ7P$s Py;t0寻梦社区门户 S4a;e TX2H Iw
这就是一个结构化的语义标记(semantic markup)的典型例子。它的目的十分单纯和明确:让任何人在浏览器端可以阅读网页的内容,让任何浏览器都没有障碍地展现网页的全部内容,让任何网页阅读装置如网络蜘蛛都可以准确地抓取网页信息。语义标记是奠定网站亲和度(accessibility)的基石。
:^$RhvL2n/C0寻梦社区门户Z T)m+l m;sGV
有了这样一个结构化的语义标记逻辑框架并不等于大功告成。Joomla!的模板世界丰富多彩,变幻诡谲。这些层出不穷的主题都不是由一个模子刻出来的。世界上也没有哪个设计师能把大千世界镶嵌进一个千篇一律的模板里。每诞生一个新主题,第一件要做的事情,就是跑到W3C的官方网站去验证网页代码(xml和css)的合法性。
'Z2P L7C1^l&?6U0
Febz @#kZ0二、CSS布局
J nK4RLa L0
5B K3\1s.f6|5M0我们打算用CSS来谋划一个三栏布局的Joomla模板,而且这个三栏布局是可变宽窄的(fluid)。页面的宽窄布局迄今有两种主要的模式,一种是固定宽窄(fixed),还有一种就是可变宽窄。这两种布局模式都是控制页面宽度的。
Hv3c@!B9k b6F0寻梦社区门户n"p`9l%YY-Q T!M
页面的宽窄一直是困扰设计师的问题。由于人们使用不同分辨率的浏览器,在设计页面时不得不考虑分辨率和人们的浏览习惯等因素。大约20%的冲浪者使用800X600分辨率,这个数字正在下降。76%的人使用1024X768分辨率,这是主流趋势(数据来源:www.upsdell.com)。采用可变宽窄的页面布局意味着你的网页既不会在1024分辨率下变得很窄,同时也可以在低分辨率的显示器上获得完美展现。
{}SO5T7G/TC0寻梦社区门户 w e9_| w*a$J
我们用float来给内容定位。下面是template_css.css文件的内容:寻梦社区门户H(]`Y iV%^
寻梦社区门户K8A-nFM
<?phpdefined('_VALID_MOS')ordie('Direct Access to this location is not allowed.');?><!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"lang="<?php echo _LANGUAGE; ?>"xml:
lang="<?php echo _LANGUAGE; ?>"<head>
<meta http-equiv="Content-Type"content="text/html; <?php echo _ISO; ?>"/><?phpif($my->id){initEditor();}?><?phpmosShowHead();?><scrīpt type="text/javascrīpt"></scrīpt><!--http://www.bluerobot.com/web/css/fouc.asp--><link href="templates/<?php echo $cur_template; ?>/css/template_css.css"rel="stylesheet"type="text/css"media="screen"/> 
<style type="text/css"> 
<!--#wrap {width:80%;}#header {}#sidebar {float:left;width:20%;}#content {float:left;width:60%;}#sidebar-2 {float:left;width:20%;}#footer {clear:both;} --></style> 
</head>  
<body>  
<div id="wrap">  
<div id="header"><?phpecho$mosConfig_sitename;?><?phpmospathway()?></div>  <div id="sidebar"><?phpmosLoadModules('left');?> 
</div>  
<div id="content"><?phpmosLoadModules('top');?><?phpmosMainBody();?></div>  
<div id="sidebar-2"><?phpmosLoadModules('right');?> 
</div>  
<div id="footer"><?phpinclude_once($mosConfig_absolute_path.'/includes/footer.php');?> 
</div>  
</div> 
<!--endof wrap-->  
</body> 
</html>

w6F5L|x^0Joomla模板默认的层叠样式表(Cascading Style Sheet,简称CSS)是template_css.css文件,它统领全局,是网页整体布局的灵魂。CSS将所有的元素视为一个盒子(box),由內容(content)、留白(padding)、外框(border)与边界(margin)所组成。在此例中,全部内容都被装填到一个叫“盒子”或“元素”的容器中。寻梦社区门户 H1_'\}5P!?l2I{

$]'O8A,~l\Y,ss0
寻梦社区门户:z nY\6|
Joomla中的CSS图示:
hT7pr*BX%T ~0
&m2AH&d^^ L\ _r0
  

v2Xw4x1C*s(s%kfh0
摘自:Adam Li的Blog;原文出处:http://my.opera.com/adamli/blog/show.dml/427441

TAG: joomla

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

日历

« 2008-11-22  
      1
2345678
9101112131415
16171819202122
23242526272829
30      

数据统计

  • 访问量: 3370
  • 日志数: 40
  • 图片数: 2
  • 建立时间: 2006-11-16
  • 更新时间: 2007-12-20

RSS订阅

Open Toolbar