学习typecho主题开发笔记01,typecho主题笔记01
博客被加速乐坑掉,于是有了学习typecho主题开发的想法,感谢这个机会!
![](http://www.bkjia.com/uploads/allimg/151124/1F0403048-0.png)
首先是去看主题文件夹下面的'index.php',一个博客的文章页面一般包括下面几个基本元素
- 作者
- 发表时间
- 文章分类
1 php
2 /**
3 * 这是 Typecho 0.9 系统的一套默认皮肤
4 *
5 * @package Typecho Replica Theme
6 * @author Typecho Team
7 * @version 1.2
8 * @link http://typecho.org
9 */
10
11 if (!defined('__TYPECHO_ROOT_DIR__')) exit;
12 $this->need('header.php');
13 ?>
14
15 class="col-mb-12 col-8" id="main" role="main">
16 while(
$this->
next()): ?>
17 class="post" itemscope itemtype="http://schema.org/BlogPosting">
18 class="post-title" itemprop="name headline">$this->title() ?>
19 25 class="post-content" itemprop="articleBody">
26 $this->content('- 阅读剩余部分 -'); ?>
27
28 29 endwhile; ?>
30
31 $this->pageNav('« 前一页', '后一页 »'); ?>
32
33
34 $this->need('sidebar.php'); ?>
35 $this->need('footer.php'); ?
下面是这是index.php的源代码:
1 php
2 /**
3 * 这是 Typecho 0.9 系统的一套默认皮肤
4 *
5 * @package Typecho Replica Theme
6 * @author Typecho Team
7 * @version 1.2
8 * @link http://typecho.org
9 */
10
11 if (!defined('__TYPECHO_ROOT_DIR__')) exit;
12 $this->need('header.php');
13 ?>
14
15 class="col-mb-12 col-8" id="main" role="main">
16 while(
$this->
next()): ?>
17 class="post" itemscope itemtype="http://schema.org/BlogPosting">
18 class="post-title" itemprop="name headline">$this->title() ?>
19 25 class="post-content" itemprop="articleBody">
26 $this->content('- 阅读剩余部分 -'); ?>
27
28 29 endwhile; ?>
30
31 $this->pageNav('« 前一页', '后一页 »'); ?>
32
33
34 $this->need('sidebar.php'); ?>
35 $this->need('footer.php'); ?>
2-9行是注释,里面包含了主题的各种信息,每行以*开头。
@package 表示主题的名称
@author 表示作者信息
@version 表示主题当前的版本
@link 表示作者的网站链接
include()方法用来包含要用到的php文件,具体用法查阅PHP官方手册include()方法
在12,34,35行都能看到$this->need(),它在typecho里面就和include()的作用是一样的
$this->need('header.php');
$this->need('sidebar.php'); ?>
$this->need('footer.php'); ?>
所以上面的代码就是调用header.php,sidebar.php,footer.php。具体这三个php文件是什么作用的,很简单,顾名思义哦!
然后就是文章页面的主体了
class="col-mb-12 col-8" id="main" role="main">
while(
$this->
next()): ?>
class="post" itemscope itemtype="http://schema.org/BlogPosting">
class="post-title" itemprop="name headline">$this->title() ?>
class="post-content" itemprop="articleBody">
$this->content('- 阅读剩余部分 -'); ?>
endwhile; ?>
$this->pageNav('« 前一页', '后一页 »'); ?>
endwhile是什么鬼????为什么我重来没用过....查阅了下资料,原来是一种语法糖:)
文章主体就是从这里开始到结束的
while($this->next()): ?>
endwhile; ?>
:替代了{
;替代了}
详细见文章:PHP中流程控制的替代语法
接着就是一些方法了
$this->permalink() ?> 文章所在的连接
$this->title() ?> 文章标题
$this->author(); ?> 文章作者
$this->author->permalink(); ?> 文章作者地址
$this->date('F j, Y'); ?> 文章的发布日期,格式可参考PHP日期格式
$this->category(','); ?> 文章所在分类
$this->commentsNum('%d Comments'); ?> 文章评论数及连接
$this->content('Continue Reading...'); ?> 文章内容,其中的“Continue Reading…” 是显示摘要时隐藏部分的文字
_e()这是什么方法,专一而精十
看了下wordpress里面的_e()方法,居然是用作翻译的。。。难道typecho还有歪果仁使用(逃
直接打印输出到 html 中的字符串,就用 _e() 。具体看这里
在代码里面还能看见itemprop属性,这是html5新加的,暂时不用管他Q.Q
最后是一个分页的方法
$this->pageNav(); ?>
至此,index.php文件已经被分析一遍了,虽然我没有php基础,但是学习了之后发现不难,嘿嘿!继续努力!
http://www.bkjia.com/PHPjc/1074252.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/1074252.htmlTechArticle学习typecho主题开发笔记01,typecho主题笔记01 博客被加速乐坑掉,于是有了学习typecho主题开发的想法,感谢这个机会! 首先是去看主题文件夹下...