Typecho模板的header页面片

Typecho模板中,一般都会有header.php页面片,用于将页面公共头部抽离出来,减少代码冗余。

![导航栏.png][1]

header页面片中,可以包含html的head标签和网站导航栏nav。




这是一段标题


### 网站标题
#### $this->options->title()
``标签中包含网站的标题,可以使用`$this->options->title()`直接输出。

<?php $this->options->title(); ?>
此api输出的内容对应后台配置:

![站点名称.png][2]

#### $this->archiveTitle()
此api可用于快速输出文章页的标题。一般用法为:

<?php $this->archiveTitle(array(<br /> ‘category’ => _t(‘分类 %s 下的文章’),<br /> ‘search’ => _t(‘包含关键字 %s 的文章’),<br /> ‘tag’ => _t(‘标签 %s 下的文章’),<br /> ‘author’ => _t(‘%s 发布的文章’)<br /> ), ”, ‘ – ‘); ?><br />
以上代码表示,如果当前页面是category,则输出“分类 %s 下的文章”,如果当前页面是search,那么输出“包含关键字 %s 的文章”,其他类推。

archiveTitle()函数的第二个参数是$before,第三个是$after,即分别会拼接在第一个参数的前面和后面。譬如在文章页“这是一篇测试文章”的文章下,

$this->archiveTitle(array(
‘post’ => _t(‘这是一篇名为 %s 的文章’),
),’前面的文字’,’后面的文字’);

会输出:

前面的文字这是一篇名为 这是一篇测试文章 的文章后面的文字

以上两种输出标题的方式,各位筒子根据自己的需要使用,或者配合**[is函数][3]**使用。

### 资源加载
加载html静态资源,主要是能够在模板中找到资源所在的位置。
#### $this->options->themeUrl()
`themeUrl()`用于加载当前模板下的资源文件。假如当前模板未usr hemesdemo,模板目录下存在资源文件cssstyle.css,那么

同理,通过这种方式可以定位js等其他有需要的资源文件。

### $this->options->adminUrl()
有时,你可能需要用到admin目录下的资源文件,譬如typecho后台的js/html5shiv.js就是一个很优秀的库。如果你的模板需要引用此文件,怎么加载呢?很简单,使用相类似的adminUrl()即可。

>如需要了解更多xxxUrl方式,请移步到[《Typecho中的Option》][4],这里将做详细介绍。
### 搜索引擎优化
header中的SEO,主要是优化title输出(见上文),另外还可以在head标签中增加description和keywords字段。
譬如:

#### 通过$this->header方式输出
Typecho自带的`$this->header()`函数,可以胜任绝大部分情况,同时,如无特殊需求,也建议使用这种方式输出,是因`$this->header()`函数考虑了很多情况,适合大部分的场景。
header()的定义可参考`varWidgetArchive.php`。

header()?>
一般会输出:




#### 自定义输出
当然,如果你的需求比较特殊,系统自带的header()函数无法满足你的需求,那么可以使用api自己拼接html代码。

**keywords**

举例:

is(‘index’)):?>

is(‘post’)):?>

上一篇 2015-01-31 上午6:37
下一篇 2015-01-31 上午6:47