博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
typecho模板制作代码收集
阅读量:4615 次
发布时间:2019-06-09

本文共 4090 字,大约阅读时间需要 13 分钟。

目录

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 . '"'); ?>

  1. <?php $this->comments()->to($comments); ?> <?php while($comments->next()): ?>
  2. <?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

user->hasLogin()): ?>

Logged in as

user->screenName(); ?>. Logout »

<?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中的

转载于:https://www.cnblogs.com/lvge/articles/7230429.html

你可能感兴趣的文章
ASP.NET + VB.NET + SQL小网站程序
查看>>
Windows Media Player 键盘快捷键
查看>>
C++代码统计工具
查看>>
需求分析报告
查看>>
第四次作业
查看>>
多线程2:java.util.concurrent.atomic.*
查看>>
Linux下使用pv监控进度
查看>>
MySQL(MariaDB)默认密码和修改方法
查看>>
用jQuery File Upload实现简单的文件上传
查看>>
Luogu P4901 排队 fib数列+树状数组+倍增
查看>>
PHP 锁机制
查看>>
每天CookBook之Python-036
查看>>
Django 之 cookie & session
查看>>
反转字符串
查看>>
CRM客户关系管理系统(十二)
查看>>
洛谷P2776 [SDOI2007]小组队列 链表 + 模拟
查看>>
ORA-39006错误原因及解决办法
查看>>
linux常用目录与作用
查看>>
PHP 后台定时循环刷新某个页面 屏蔽apache意外停止
查看>>
codeforces 622B B. The Time
查看>>