Typecho是一个简单,轻巧的博客程序。基于PHP,使用多种数据库(Mysql,PostgreSQL,SQLite)储存数据。在GPL Version 2许可证下发行,是一个开源的程序,目前使用SVN来做版本管理。Typecho的前身是Magike,一个开源博客程序,由Typecho项目的发起人70开发的。该团队的最初形成,是在wordcamp china的活动上,后来有更多成员加入了这个项目,之后改名为Typecho。

typecho官方读法

typeecho这两个单词合起来的读法,读音:太拍~扣

10000040.jpg

 常量

用于改变typecho的功能或者自定义一些功能

1、TYPECHO_DEBUG

做第三方开发必须打开的,报错信息会更加详细,方便找到开发错误点。

用法

config.inc.php最后面插入define('__TYPECHO_DEBUG__', true);

2、TYPECHO_ADMIN_DIR

后台路径定义,用于修改程序后台地址,提高安全性。

用法

typecho默认后台地址是admin,如果我们想改成typecho-admin,那么首先登陆服务器把admin文件夹名字改成typecho-admin。然后在config.inc.php找到define('__TYPECHO_ADMIN_DIR__', '/admin/');将其中的admin改成typecho-admin即可。

3、TYPECHO_UPLOAD_DIR

TYPECHO_UPLOAD_URL可以单独定义一个不在typecho下的附件上传地址

存储到这里有什么用呢?

config.inc.php最后面插入

define('__TYPECHO_UPLOAD_DIR__', '/www/static');
define('__TYPECHO_UPLOAD_URL__', 'https://xxxxx.upyun.com');

你可以给他单独一个反向代理,就是cdn,七牛,又拍云等cdn可以访问到的地址,然后通过反向代理把你这个路径抓取的,抓取过去后,你那前面的展示地址就可以换成你的cdn地址了,比如上述代码中https://xxxxx.upyun.com

4、TYPECHO_SECUER

当你用https的时候typecho会自动识别的,但是因为大家的环境千差万别,会有识别错误的情况,比如你https都布置好了,但是程序依旧只会加载http的,所以该常量的作用就是强制程序使用https,解决识别错误的情况。

用法

config.inc.php最后面插入define('__TYPECHO_SECUER__', true);

5、TYPECHO_GRAVATR_PREFIX

Typecho 用的GRAVATR的公共头像地址,GRAVATR的服务器在美国,虽然它在全世界做镜像,但是在国内依旧很慢。然后发现有国内有很多人为其做反向代理,把头像缓存到本地,来提高速度,以前大家可能会使用插件来替换 Typecho 的GRAVATR的默认地址,实际上不需要,我们用这个常量就可以了,比如我们替换成https://gravatar.cat.net/avatar/

用法

config.inc.php最后面插入define('__TYPECHO_GRAVATR_PREFIX__', 'https://gravatar.cat.net/avatar');
这样一来typecho就会替换成https://gravatar.cat.net/avatar/渠道的头像地址。【有些模板可能不支持】

皮肤

1、引用皮肤其他部分比如headerfooter时用$this->need('xxx'),而不是用php的require,includ,因为this need时typecho本身的方法,他会去做一些判断,文件,路径,是否存在等等。

2、head末尾别忘加$this->header(),body末尾别忘加$this->footer(),主要用于插件引用前端资源,比如js。

3、单独自定义皮肤

  • 给某个分类自定义皮肤

在模板文件夹下,建立文件夹category,然后在里面放置一个php文件,名字为分类缩略名.php,然后里面的内容就是你想要自定义的皮肤。

  • 给某个独立页面自定义皮肤

在模板文件夹下,建立文件夹page,然后在里面放置一个php文件,名字为缩略名.php,然后里面的内容就是你想要自定义的皮肤。

  • 给某篇文章自定义皮肤

在模板文件夹下,建立文件夹post,然后在里面放置一个php文件,名字为文章id.php,然后里面的内容就是你想要自定义的皮肤。

4、为皮肤定制自定义变量

Typecho 内置的东西,可以在制作模板的时候为每个文章定义好一个自定义字段,方便模板去调用。

用法

functions.php中加入下面代码

function themeFields($layout) {
    $thumb = new Typecho_Widget_Helper_Form_Element_Text('thumb', NULL, NULL, _t('自定义缩略图'), _t('输入缩略图地址(仅文章有效)'));
    $layout->addItem($thumb);
}
原文链接:【《Typecho 那些事(上)》观后感
最后修改:2018 年 03 月 23 日
如果觉得我的文章对你有用,请随意赞赏