EMLOG学院

EMLOG5.12默认模板header.php解析

摘要: 很多朋友安装emlog之后都会选择...

很多朋友安装emlog之后都会选择一款自己喜欢的模板,而随着模板库眼花缭乱的模板越来越对便想自己开始折腾模板。

而苦于不懂php或者html望而却步,看着模板中的代码更是晕头转向,其实emlog的模板结构还是相对比较简单的。

这里小编就拿emlog5.12的默认模板default给大家做一个代码全面解析,帮助大家快速上手emlog模板结构。

emlog的模板存放在“content\templates”下面,拿到模板后会发现默认模板有11个文件和一个文件夹,看到这里大家先不要产生恐惧感,其实分析下来是很简单的,因为很多东西一般情况下我们是不需要去改的。下面我们对模板下的文件给个大概的说明。

首先是images文件夹。

这个文件夹存放的是模板所需要的图片文件,包括logo还有一些小图标,图片,均在这个文件夹下面。

然后是main.css文件。

css文件相信稍有基础的同学都会知道是什么,css的中文全称是层叠样式表,在div+css里面主要告诉div如何显示,显示在哪里,通俗的理解就是样式表。

preview.jpg。

这个文件比较简单了,模板的演示缩略图,就是后台选择模板时看到的模板演示。

接下来就对模板的php文件作介绍:

1.header.php

这个文件作为模板的头部文件,说通俗一点,一个完整emlog模板首页由html输出表面分为三部分,第一部分,头部,一般到导航栏位置(包括导航栏)也就是我们header.php;第二部分,列表页,也就是中间那一块块;第三部分,底部页面,也就是友情链接,版权,备案那一块。另外两个我们放到后面逐一说明。

PS:说明一下首页输出的时候有两个页面是必须存在的,头部和底部,因为不管你点到哪个页面,变化的一般都是中间的主题部分,而头部和底部是没变的。

接下来重点说明header.php中的内容。


/*
Template Name:默认模板
Description:默认模板,简洁优雅 ……
Version:1.2
Author:emlog
Author Url:http://www.emlog.net
Sidebar Amount:1
ForEmlog:5.1.2
*/
打开header.php后首先看到的是这一块绿色的耀眼的代码。这一块是模板的注释内容,包括模板作者,版权,版本申明。


从Template Name开始分别是:

模板名称。

模板简介。

模板版本。

模板作者。

模板作者的网站。

模板的侧边栏,一般是1,如果是单页面那就是0了。因为默认模板是一条侧边栏。

模板适应在emlog的哪个版本下使用

接下来就是具体代码了。我们先来看整个图片

2.png


if(!defined('EMLOG_ROOT')) {exit('error!');}
先看这一条,这一段代码是为了防止文件被直接执行而设定的,如果访客直接访问域名/模板/header.php就会提示error,说明一下这句话其实就是个简单的判断语句,当然,不会的同学只要知道他的作用就行了。



require_once View::getView('module');?>  

接下来是它,这句话是加载模板中module.php函数文件,因为模板大部分变量都是在这个文件里面的,没有它模板无法运行。



<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
在来看这段代码,这段代码也是申明,声明了文档的根元素是 html,它在公共标识符被定义为 "-//W3C//DTD XHTML 1.0 Transitional//EN" 的 DTD 中进行了定义。浏览器将明白如何寻找匹配此公共标识符的 DTD。如果找不到,浏览器将使用公共标识符后面的 URL 作为寻找 DTD 的位置。这句话大家无视。


<html xmlns="http://www.w3.org/1999/xhtml">这句话也不解释了,html的内容,不懂可以百度,直接无视。

<head> 这是html中的head元素,头部元素,包括网站的标题,CSS,JS一般在<head></head>中间。html知识

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />这行内容申明网页的编码属于UTF-8

<title><?php echo $site_title; ?></title> 这里,主要内容之一,先说明一下“<title></title>”标签,也是html内容,网页的标题。其中变量<?php echo $site_title; ?>用于输出网站的标题,也就是后台设置的网站名称。大家会在后面看到很多由“<?php echo”和“?>”包着的东西,其实这些就是所谓的php函数其中echo表示输出的意思,整句php意思就是输出网站的$site_title;也就是标题。不知道的也没关系,知道这是标题输出即可。

<meta name="keywords" content="<?php echo $site_key; ?>" />这句话是说明网站的关键词,几乎在所有的网站中存在,其中主要认识<?php echo $site_key; ?>即可,跟上面的title一样即输出网站的关键词,SEO方面的知识,不懂百度。

<meta name="description" content="<?php echo $site_description; ?>" />网站描述,简介认识<?php echo $site_description; ?>即可,SEO方面知识

<meta name="generator" content="emlog" />作者的意思,说明网站系统作者是emlog,这句话没有变量函数,无需了解。大家遇到由“<?php echo”和“?>”包着的东西就需要了解一下即可

<link rel="EditURI" type="application/rsd+xml" title="RSD" href="<?php echo BLOG_URL; ?>xmlrpc.php?rsd" />

<link rel="EditURI" type="application/rsd+xml" title="RSD" href="<?php echo BLOG_URL; ?>xmlrpc.php?rsd" /> <link rel="wlwmanifest" type="application/wlwmanifest+xml" href="<?php echo BLOG_URL; ?>wlwmanifest.xml" />

<link rel="alternate" type="application/rss+xml" title="RSS"  href="<?php echo BLOG_URL; ?>rss.php" />

这三句话直接无视,提前说明一下其中的<?php echo BLOG_URL; ?>表示输出网站的完整url,如果网站域名是baidu.com,则输出http://baidu.com/

<link href="<?php echo TEMPLATE_URL; ?>main.css" rel="stylesheet" type="text/css" /> <link href="<?php echo BLOG_URL; ?>admin/editor/plugins/code/prettify.css" rel="stylesheet" type="text/css" /> <script src="<?php echo BLOG_URL; ?>admin/editor/plugins/code/prettify.js" type="text/javascript"></script> <script src="<?php echo BLOG_URL; ?>include/lib/js/common_tpl.js" type="text/javascript"></script> 上面三句话分别是加载模板的CSS与内核的JS文件,其中我们模板中的main.css就是由第一句话加载,所需要了解的是<?php echo BLOG_URL; ?>和<?php echo TEMPLATE_URL; ?>,其中<?php echo BLOG_URL; ?>上面已经说过是网站的url输出。<?php echo TEMPLATE_URL; ?>则是模板的网站url输出,如果域名是baidu.com,那么输出的url则是http://baidu.com/content/templates/default,这里打一个小例子,如果我需要调用一张模板根目录下的图片1.jpg,那么它的输出格式应该是img src=“模板输出url+文件名”即:<?php echo TEMPLATE_URL; ?>1.jpg

<?php doAction('index_head'); ?>首页头部挂载点,这东西用处大家可以看得到,经常用于插件,如果说要在头部添加一张广告图片那么这句话就是预留出来给你挂载的。打个简单的例子,emlog的广告插件如果添加一个头部广告,那么模板有这句话和没这句话的区别就是一个显示图片,一个不显示图片

</head>这个上面说过了<head></head>一般成对出现,这里表示<head>标签已经结束了。大家可以看到整个<head></head>用到的哪些东西,分别是调用标题,CSS,JS以及一些声明。<head>里面的内容在浏览器输出html页面后是看不到的,也就是说这个标签里面的东西浏览器是不予显示出来的,除了标题之外。

<body>接下来是<body></body>标签,也是成对出现,这里面的东西则是被浏览器所输出的正文部分,也就是所见的部分,头部,中间,结尾。<body> 元素包含文档的所有内容(比如文本、超链接、图像、表格和列表等等。)


<div id="wrap">
  <div id="header">
    <h1><a href="<?php echo BLOG_URL; ?>"><?php echo $blogname; ?></a></h1>
    <h3><?php echo $bloginfo; ?></h3>
  </div>
  <div id="banner"><a href="<?php echo BLOG_URL; ?>"><img src="<?php echo BLOG_URL.Option::get('topimg'); ?>" height="134" width="960" /></a></div>
  <div id="nav"><?php blog_navi();?></div>
这里就已经是header.php结束了。


其中涉及到div+css已经html的基本知识,如超链接等....这里作为emlog模板结构介绍需要知道的东西分别是


<h1><a href="<?php echo BLOG_URL; ?>"><?php echo $blogname; ?></a></h1>
这是一段超链接,连接目标是
<?php echo BLOG_URL; ?>
前面已经说过了输出网站完整url,文本是
<?php echo $blogname; ?>
这段php输出网站的名字,也就是这个部分如下图: 3.png 当点击一下网站名字的时候会连接到网站首页。
<h3><?php echo $bloginfo; ?></h3>这里的<?php echo $bloginfo; ?>
输出站点副标题,也就是上图中的EMLOG官方博客。
<div id="banner"><a href="<?php echo BLOG_URL; ?>"><img src="<?php echo BLOG_URL.Option::get('topimg'); ?>" height="134" width="960" /></a></div>

上面这句话输出网站的头部banner也就是那张图片,这个用的很少,不用管。


<div id="nav"><?php blog_navi();?></div>这里的<?php blog_navi();?>



指的是输出网站导航部分。这个应该能够理解,不做解释。

OK,那么整个header.php文件已经分析完了。所知道的php并不是很多,主要是涉及到了一些其他知识,比如html,CSS,DIV等等,大家没事可以上百度了解一下,其中
HTML大家可以上http://www.w3school.com.cn/看看教程。

发表评论:

评论(2)

同楼上。。。。。。
受教了,现在的学习目标就是学习制作博客模版。。。。用着别人的模版始终是个痛。。