目录
typecho模板制作代码收集
本文长期收集整理TYPECHO主题制作代码。我为人人,人人为我。
typecho简介
Typecho 是一款博客程序,它在 GPL version 2 许可证下发行,基于 PHP (需要 PHP5 以上版本)构建,可以运行在各种平台上,支持多种数据库(Mysql, PostgreSQL, SQLite)。
网站链接http://typecho.org/
主题结构
header.php
1.编码
打开这个文件,见到如下代码:
调用默认的编码,现在最经常用的大都是utf-8吧。所以我通常是直接写成utf-8,省去php处理时间。
2.页面标题
<?php $this->options->title(); ?><?php $this->archiveTitle(); ?>
通常情况下直接复制使用,如果你没有时间的话。
3.导入样式
4.其它HTML头部信息
header(); ?>
别忘了这句,它关系到RSS信息、客户端程序以及插件的正常使用。
页面导航
本处使用了无序列的页面列表,其中{permalink}是页面的地址,{title}是页面的标题
5.网站名称
options->title() ?>
options->description() ?>
<?php $this->options->siteUrl(); ?> 网站的首页地址
<?php $this->options->title() ?> 网站名称 <?php $this->options->description() ?> 网站的一些简短描述、介绍 6.站内搜索当你的文章很多很多,这个搜索就必不可少。
sidebar.php
最新文章列表
- <?php $this->widget('Widget_Contents_Post_Recent') ->parse('
- '); ?>
获取最新的10篇文章标题,得到的html是
最新回复列表
- <?php $this->widget('Widget_Comments_Recent')->to($comments); ?> <?php while($comments->next()): ?>
- <?php $comments->author(false); ?>: <?php endwhile; ?>
获取最新的10个回复,得到的html是
- 回复人名字:
- 回复人名字:
其中<?php $comments->excerpt(10, '[...]'); ?>,“10”代表要回复内容截取的字的个数,“[…]”代表省略的意思,你可以自行修改。
文章分类列表
- <?php $this->widget('Widget_Metas_Category_List') ->parse('
- ({count})'); ?>
输出:
- (10)
- (2)
其中{count}是获取该分类下的文章数目。
按月归档
- <?php $this->widget('Widget_Contents_Post_Date', 'type=month&format=F Y') ->parse('
- '); ?>
输出:
其它连接
- <?php if($this->user->hasLogin()): ?>
- <?php else: ?>
- <?php endif; ?>
这些是可有可无的,只是为了方便登录登出。
footer.php
RSS地址
页脚文件,推荐大家把一些较大的js放在这个文件中最后载入,不会影响阅读。看看我们的footer要讲解些什么?
. 另外别忘了添加 以示对Typecho的支持,简单吧。
现在,你已完成了75%的嵌套,休息一下,后面的会轻松许多 :-D
post.php
post页和index是差不多的,但是我们还是要说一下不同之处。
获取Tag 标签
Tags: <?php $this->tags(',', true, 'none'); ?>
这是获取当前单篇文章的标签,用“,”符号隔开。调用评论页
<?php include('comments.php'); ?>
comments.php评论列表
<?php $this->commentsNum('No Response', 'One Response to"' . $this->title . '"', '%d Responses to "' . $this->title . '"'); ?>
- <?php $this->comments()->to($comments); ?> <?php while($comments->next()): ?>
- <?php echo $comments->sequence(); ?>. <?php $comments->author(); ?> on <?php $comments->date('F jS, Y'); ?> at <?php $comments->date('h:i a'); ?><?php $comments->content(); ?><?php endwhile; ?>
还是循环输出评论:
<?php $comments->theId(); ?> 每个评论的唯一ID
<?php $comments->sequence(); ?> 评论所在楼层 <?php $comments->responseUrl(); ?> 回复地址 <?php $comments->responseId(); ?> 回复框ID <?php $comments->trackbackUrl(); ?> trackback地址 <?php $comments->author(); ?> 评论者的名字 <?php $comments->date('F jS, Y'); ?> 评论日期 <?php $comments->date('h:i a'); ?> 评论时间 <?php $comments->content(); ?> 评论内容 结束循环。我们用有序列表,因为评论的发表是有先后顺序的。
评论输入表单<?php if($this->allow('comment')): ?>
Leave a Reply
<?php endif; ?>
很多情况下并不对评论文件进行修改,可以直接拿来使用写入相应的css。其它文件
page.php 页面的显示方式,通常情况下和 single.php 无差别
archive.php 显示某分类下的文章列表、搜索结果列表显示时调用的文件 结语这篇简短的入门讲解结束了,希望你看着不累,同时能对Typecho的模板系统了解一二,这样文章的目的也就达到了,针对当前文章的不明白的地方,欢迎到互动社区提出问题。
主题所需文件一览表
文件名 作用 必须
style.css 主题样式文件 否 screenshot.png 主题缩略图 否 index.php 首页以及说明文件 是 404.php 404页面文件 否 archive.php 通用(分类、搜索、标签、作者)页面文件 否 category.php 分类页面文件 否 search.php 搜索页面文件 否 tag.php 标签页面文件 否 author.php 作者页面文件 否 comments.php 评论页面文件 否 footer.php 底部页面文件 否 functions.php 主题函数文件 否 header.php 头部页面文件 否 page.php 独立页面文件 否 post.php 日志页面文件 否 sidebar.php 侧边栏页面文件 否 注意:如果archive.php不存在,index.php也会作为通用页面,实现archive.php的工作。使用is语法判断模板
$this->is('index');
$this->is('archive'); $this->is('single'); $this->is('page'); $this->is('post'); $this->is('category'); $this->is('tag'); 甚至是$this->is('category', 'default');
$this->is('page', 'start'); $this->is('post', 1); 需要注意的是,后面的参数是分类、页面的缩略名 写法<?php if ($this->is('post')) : ?>
这里就是内容了 <?php endif; ?> 自定义页面title显示方式官方默认模板的title(html中的