《Typecho 那些事(上)》观后感

joyqi之前做了个直播《Typecho 那些事(上)》,此篇文章就是记录下直播内容,为啥写成观后感呢,因为感觉这样写好像更小学生一点,记得小学时看个电影都会被要求写观后感,被强制看本书都要写读后感,然后假装看了书假装有感而发。

typecho官方读法
type echo这两个单词合起来的读法,读音:太拍~扣
常量
用于改变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的服务器在美国,虽然它在全世界做镜像,但是在国内依旧很慢。然后发现有国内有很多人为其做反向代理,把头像缓存到本地,来提高速度,以前大家可能会使用插件来替换typechoGRAVATR的默认地址,实际上不需要,我们用这个常量就可以了,比如我们替换成https://gravatar.cat.net/avatar/,用法如下
用法
config.inc.php最后面插入define('__TYPECHO_GRAVATR_PREFIX__', 'https://gravatar.cat.net/avatar');
这样一来typecho就会替换成https://gravatar.cat.net/avatar/渠道的头像地址。【有些模板可能不支持】

皮肤
1,
引用皮肤其他部分比如header,footer时用$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);
}

插件

Widget全局钩子
看原作者文章介绍吧https://joyqi.com/typecho/iplocation-plugin.html
DB什么的缓存巴拉巴拉~听不懂啦

备份功能
typecho已经有自带的备份功能了,这个功能时基于2进制,有跨平台性,也就是说,即使你服务器搬家数据库环境不一致,用这个备份导入也ok。

未来计划
1.1版本的发布(已完成)
1.1之后的下一版会加入一个更大的功能___市场,工作量比较大,之后大家可以在市场里发布自己的插件,皮肤等。也可能做收费的渠道,能够给第三方开发者赚点外快。
市场上线时间?没有准确时间,1.1版本发布会就会投入开发

感想
直播感觉准备不足哈,因为我是看的录播,开1.5倍播放速度才好些,不过也十分感谢作者大大啦,期待下期。

已有 24 条评论
  1. ShoSe

    我傻傻的进代码找设置项,然后搞好了,才发现这里面有,坑爹了,又水了一篇短文, 罒ω罒

  2. Sakura

    市场要是集成进typecho就麻烦了。。

    1. Jrotty

      Sakura 作者说做成一个便携小巧,不会是特别大的

  3. 后宫学长

    太用心了。

    1. Jrotty

      后宫学长 用心水文,刷存在感

      1. 后宫学长

        Jrotty 那我简直是懒癌晚期。

  4. LIngC

    帮助到我了,非常感谢

    1. Jrotty

      LIngC 别发那些没用的表情,不如扫二维码来的实在

      1. 后宫学长

        Jrotty 真·性情。

  5. 学习笔记Blog

    好文章,真心赞一个!转载收藏了先!

    1. Jrotty

      学习笔记Blog 转载请保留文章内容出处,谢谢合作

      1. 学习笔记Blog

        Jrotty 好的!竟然一不小心把“原文出处”给忘了,已经添加上了!