• 静水流深BLOG

  • 淡泊以明志,宁静以致远
  • 首页
  • 碎语
  • 关于博主
  • 登录
  • EMLOG风格制作教程(结构分析之header篇)【三】【转】

    [IT技术]
    post by 静水流深 / 2010-3-26 23:32 Friday

           上一讲讲了EMLOG默认模板的主体结构,从这一讲开始我将给大家讲解EMLOG默认模板的各个文件的具体结构,好让大家最细致地了解EMLOG模板的脉络。而适逢本教程进行的时候EMLOG发布了3.4的新版本,本教程跟随官方进度,将以3.4的默认模板为例,3.4以下模板不适用。本讲将和大家一起分析EMLOG默认模板的header.php。

           前面说了,header.php一般是生成博客界面的上半部分,一般来说包括了博客名字,博客介绍,博客的各个菜单。有时候会包含一个搜索栏。其实大多网站在结构上都包括这这几个部分:header、content、footer。还有很多会包含sider。我们现在就来分析默认模板的header。

           现在用网页编辑软件打开默认模板的header.php,不要用记事本,用DW或者Notepad++以及其他网页编辑软件都可以,建议使用Notepad++。

           打开header之后,你会发现header事实上可以分为2个部分:模板信息和主题体HTML标记。这两部分以<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">为划分,上面部分为模板信息,<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">及其下半部分为主体HTML标记。

           模板信息

           模板信息写在第一个PHP标签里面,即是第1到11行。模板信息主要是给后台的模板预览时读取模板信息使用的。下面来分析模板信息的各个项,括号内红色字体是我的注释:

    •Template Name:默认模板(这里是模板的名字,例如此时你在后台看到的模板名字就是“默认模板”)
    •Description:这是emlog的默认模板,简洁明快 ……(这是模板的简介)
    •Author:emlog开发小组(这是作者名字)
    •Author Url:[url=http://www.emlog.net]http://www.emlog.net[/url](这是作者的主页)
    •Sidebar Amount:1(这是边栏个数,如果你的模板有2个边栏,即是3栏式的话,这里就填2,默认模板是1个边栏,所以为1)

           主体HTML标记

           主体HTML标记又可以分为2个部分,及包含在<head></head>标签内的为一个部分,包含在标签<body>后的为一个部分。下面分析两个部分的每一行,括号内的是我的分析注释。HTML标签我将不会讲解,看下面的部分请自学HTML标记。PHP代码已被我用蓝色标记。


    •head部分
    1.<head>
    2.<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    3.<meta name="keywords" content="<?php echo $site_key; ?>" />(博客的关键字,这里的PHP代码提取的是你在后台博客设置里面“博客关键字”里面填写的信息。)
    4.<meta name="description" content="<?php echo $bloginfo; ?>" />(博客的描述,这里的PHP调用的是后台“博客描述”里面的信息)
    5.<meta name="generator" content="emlog" />(generator公共头像服务预留位置)
    6.<title><?php echo $blogtitle; ?></title>(博客名字)
    7.<link rel="EditURI" type="application/rsd+xml" title="RSD" href="<?php echo BLOG_URL; ?>xmlrpc.php?rsd" />(远程过程调用开放接口,用于支持离线写作)
    8.<link rel="wlwmanifest" type="application/wlwmanifest+xml" href="<?php echo BLOG_URL; ?>wlwmanifest.xml" />(专门为Live Writer开放的离线写作接口)
    9.<link rel="alternate" type="application/rss+xml" title="RSS"  href="<?php echo BLOG_URL; ?>rss.php">(RSS输出接口)
    10.<link href="<?php echo TEMPLATE_URL; ?>main.css" rel="stylesheet" type="text/css" />(主体CSS样式加载,PHP代码为模板的网络绝对路径)
    11.<script src="<?php echo BLOG_URL; ?>lib/js/common_tpl.js" type="text/javascript"></script>(前台公用JS文件加载,PHP代码为博客的网络绝对路径)
    12.<?php doAction('index_head'); ?> (header挂载点)
    13.</head>
    •body部分
    1.<body>
    2.<div class="main">
    3.<div class="header">
    4.  <ul>
    5.   <li id="title"><h1><a href="<?php echo BLOG_URL; ?>"><?php echo $blogname; ?></a></h1></li>(博客名字)
    6.   <li id="tagline"><?php echo $bloginfo; ?></li>(博客描述)
    7.  </ul>
    8.  <ul id="menus">(菜单开始标记)
    9.   <li class="menus1"><a href="<?php echo BLOG_URL; ?>">首页</a></li>(首页)
    10.   <?php (从这里开始将循环读取你的所有自定义页面的标题,并加入菜单中,例如你自定义了一个“留言”页面,那么这里将读取这个页面的标题“留言”将其加入到菜单里面)
    11.   foreach ($navibar as $key => $val):
    12.   if ($val['hide'] == 'y'){continue;}
    13.   if (empty($val['url'])){$val['url'] = BLOG_URL.'?post='.$key;}
    14.   ?>
    15.   <li class="menus2"><a href="<?php echo $val['url']; ?>" target="<?php echo $val['is_blank']; ?>"><?php echo $val['title']; ?></a></li>
    16.   <?php endforeach;?>(循环读取自定义页面标题结束)
    17.   <?php doAction('navbar', '<li class="menus2">', '</li>'); ?>(这里是将读取你所有插件生成的菜单,例如你安装了相册插件,并设置使之在菜单里出现“相册”,那么这里将读取“相册”到菜单里)
    18.   <?php if(ROLE == 'admin' || ROLE == 'writer'): ?>(这里开始将后台登陆链接加入到菜单中,删掉本部分代码菜单中将不会显示“登陆”链接)
    19.   <li class="menus2"><a href="<?php echo BLOG_URL; ?>admin/write_log.php">写日志</a></li>
    20.   <li class="menus2"><a href="<?php echo BLOG_URL; ?>admin/">管理中心</a></li>
    21.   <li class="menus2"><a href="<?php echo BLOG_URL; ?>admin/?action=logout">退出</a></li>
    22.   <?php else: ?>
    23.   <li class="menus2"><a href="<?php echo BLOG_URL; ?>admin/">登录</a></li>
    24.   <?php endif; ?>(后台登陆链接结束)
    25.  </ul>(菜单结束标记)
    26.  <div class="clear"></div>
    27.</div>

           好了,header.php分析结束,重要的东西我都标注完了。这里没有讲HTML和DIV+CSS知识,不会的朋友可以自己看看相关书籍。在header.php里面我们需要特别注意这两个参数:<?php echo BLOG_URL; ?>和<?php echo TEMPLATE_URL; ?>。前者是博客的网络绝对路径,如我的博客绝对路径即是“http://mouselife.cn/”。需要说明的是这里面已经包含了域名后面的那个斜杠,所以在使用的时候不要再多加一个斜杠了。后者是模板的网络绝对路径,也包含了“/”,使用的时候不要再加上“/”了,例如上面加载CSS的时候路径写的是“<?php echo TEMPLATE_URL; ?>main.css”而不是“<?php echo TEMPLATE_URL; ?>/main.css”。

           header.php相对于3.3的主要变化即是上面这两个参数,3.3使用的博客路径是相对路径,3.4变为了绝对路径。而模板路径的参数名字改变了,由<?php echo TPL_PATH; ?>变为<?php echo TEMPLATE_URL; ?>。另外新增了两个离线写作接口。

           《 EMLOG风格制作教程(结构分析之header篇)》就到这里结束了,有不懂的请在这篇博文下面留言,我会尽力一一回答。敬请期待《 EMLOG风格制作教程(结构分析之log_list篇)》。

           文章来源:http://bbs.emlog.net/thread-2212-1-1.html

    相关日志:

    EMLOG风格制作系列教程(理论篇)【一】【转】

    Emlog将Tag加入keywords的手工解决方法【转】

    EMLOG风格制作系列教程(主体结构分析篇)【二】【转】

    « 几个经济名词的解释 | 网络依赖»

    引用地址:

    评论:

    Fred
    2011-07-10 15:08
    感觉emlog有自己的思想!
    回复
    Nike Air Jordan
    2011-01-20 14:14
    谢谢您的分享,很值得学习 努力工作,用心生活。新年快乐,
    回复
    Air Jordans
    2010-12-27 14:37
    永远坚信自信是迈向成功的第一步!
    回复
    取消回复

    发表评论:

  • 搜索

  • 日历

  • 最新碎语

    • 真没有想到很久没有维护自己独立博客的后果就是……被人恶意攻击挂马,然后用了一天的时间跟服务器供应商商讨解决方法。不过我还是要说对于这件事与SugarHosts沟通还是挺好的!

      2011-11-14 23:24

    • 小区的桂花开了,小区里有淡淡的桂花香。就想当年初秋在校园的感觉,这感觉很舒服。

      2011-09-16 22:59

    • 多一点爱,少一点恨;多一点微笑,少一点忧愁;多一点阅读,少一点嘀咕;多一点运动,少一点美容。生活本来平淡如水,放一点盐它就是咸的,放一点糖它就是甜的,放一点咖啡它就是苦的,放一点茶它就是香的,想调成什么味道,全凭你自己。安静一点,淡然一点,沉稳一点,随意一点。

      2011-08-22 09:52

    • 好几年都没有下水了,今天终于是在水里泡了下了!

      2011-08-19 22:47

    • 最近的反应是越来越迟钝了!

      2011-08-16 12:51

    • 更多»

  • 分类

    • 投资理财(73) 订阅该分类
    • 逛网看世界(53) 订阅该分类
    • IT技术(4) 订阅该分类
    • 生活随感(160) 订阅该分类
    • BLOG日志(18) 订阅该分类
  • 随机日志

    • 今天端午
    • 2010年12月08日投资日志
    • 日剧Change中朝仓啟太结尾的演讲全文(转)
    • 看市20091203
    • 闷
  • 最新评论

    • Fred
      感觉emlog有自己...
    • 群言
      看了还不错,现...
    • 群言
      文章写的很真切...
    • 静水流深
      @外贸人才网:要...
    • 外贸人才网
      地震好多,2012真...
    • curtain fabric
      交换链接! QQ: ...
    • Nike Air Jordan
      谢谢您的分享,...
    • New Jordans
      第一次来! 写的...
    • 静水流深
      @New Jordans:新年...
    • True Religion
      坚持、耐心、自...
  • 链接

    • Emlog
    • 快啦网址
    • 群言
  • 广告赞助

订阅Rss
Copyright © 2009-2011 静水流深BLOG all Rights Reserved.    程序提供  Emlog    主机提供商:SugarHosts.com