Typecho 那些事兒(上)

Typecho是一個簡單,輕巧的博客程序。基於PHP,使用多種數據庫(Mysql,PostgreSQL,SQLite)儲存數據。在GPL Version 2許可證下發行,是一個開源的程序,目前使用SVN來做版本管理。Typecho的前身是Magike,一個開源博客程序,由Typecho項目的發起人70開發的。該團隊的最初形成,是在wordcamp china的活動上,後來有更多成員加入了這個項目,之後改名為Typecho。

typecho官方讀法

typeecho這兩個單詞合起來的讀法,讀音:太拍~扣

Typecho 那些事兒(上)

圖片來自明月登樓博客【imydl.com】

 常量

用於改變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 那些事(上)》觀後感】


分享到:


相關文章: