Typecheo博客使用笔记
Typecho之框架结构与开发,Typecho创建自定义模板,分类模板,公共方法添加,Typecho判断当前页面,获取某单一分类下的文章,获取文章分类和标签,新增字段增加相应查询范围...
安装 定制开发typecho
admin/ 后台路径 css/ img/ js/ index.php 后台首页 ... install/ 安装数据库文件 usr/ 用户站点数据 plugins/ 插件引入目录 HelloWorld/ 插件:以Plugin.php文件被加载 themes/ default/ 主题:以index.php文件加载 自定义首页模板加载 当前主题下新建php文件,以下注释被后台识别 首页和独立页面的关键字分别为index & custom /** * 自定义模板说明 * @package index */ uploads/ 上传文件资源 格式2019/09/09/xx.jpg var/ 核心文件类库引入等 index.php 入口文件 install.php 安装初始化文件 config.inc.php 生成配置文件 引入支持文件并定义数据库
//*引入当前主题的主要头部,底部,侧边等模块写法,输出数据配置写法,分别引入类内方法 例/var/Widget/class.php */
$this->need('header.php');
$this->options->siteUrl();
$this->content();
$this->date('c');
_e('搜索');
$this->is('index');
$this->widget('Widget_Contents_Page_List')->to($pages);
while($pages->next()):
$pages->title();
endwhile;
$this->comments()->to($comments);
$comments->listComments();
$this->respondId();
//* 当前主题的function.php的方法调用写法是新建function引用对象参数,模板内直接调用 */
<?php echo funcFile_write($this); ?>
function funcFile_write($active){
echo $active->content;
}
Typecho创建自定义模板
- 当前主题目录下创建xxx.php文件作引用模板, php文件头部需注入被引用说明
/**
* 你的模板中文名称
* @package index
*/
- 关键字 index 代表 后台-阅读-首页模板
- 关键字 custom 代表 后台-自定义页面-独立页面模板
Typecho创建分类模板
方法一:
- 当前主题目录下 创建目录 category
- 创建 分类名称.php 模板文件即可,访问分类自动访问
方法二
- 模板文件里面代码判断 进行你的操作
<?php if ($this->is('category', 'default')): ?>
//默认分类模板
<?php endif; ?>
<?php if ($this->is('category', 'category2')): ?>
//分类2模板
<?php endif; ?>
Typecho创建分类模板
- 当前主题functions.php文件 添加一个函数(示例jobs 分类下的文章列表显示10条)
function themeInit($archive)
{
if ($archive->is('category', 'jobs'))
{
$archive->parameter->pageSize = 10; // 自定义条数
}
}
引用感谢http://www.bokebu.com/typechochuang-jian-zi-ding-yi-mo-ban.html
Typecho判断当前页面
if($this->is('post')){
//如果是文章页 doing...
}
if($this->is('page','about')){
//如果在某一页 doing...
//第一个参数 第二个参数
//index 判断当前页是否为主页
//archive 判断当前页是否为文章归档页,比主页,分类文章页,标签文章页,日期归档文章页
//category cate name 判断当前页是否为分类文章页 , 判断具体分类
//tag slug name 判断当前页是否为标签文章页 ,判断具体标签
//date year/month 判断当前页是否为标签文章页 ,判断是否为按年,按月还是按日归档
//single slug name 判断当前页是否为内容页 ,如文章页,独立页面,附件显示页
//post post id 判断当前页是否为内容页 ,判断具体是哪篇文章
//page page name 判断当前页是否为独立页面 ,判断具体独立页面
//attachment attach id 判断当前页是否为附件 ,附件id判断具体是哪个附件
}
获取某单一分类下的文章
$this->widget('Widget_Archive@index', 'pageSize=6&type=category', 'mid=3')->parse('<li><a href="{permalink}">{title}</a></li>');
获取文章分类和标签
//*参数:标签或分类互相的间隔符,超链接&纯文字形式,文章无标签的提示信息*/
$this->category(',', true, 'none');
$this->category();
$this->tags(',', true, 'none');
$this->tags();
//*给每个标签套上div或者span*/
$this->tags('</div><div>', true, 'none');
in_array('web', $this->tags)
新增功能字段,相应查询删除等操作范围修改,如文章表contents
write-post.php插入表单对应字段(可选)
WidgetContentsPostEdit 编辑添加 writePost()
WidgetAbstractContents 构建添加 insert() 编辑添加update() 查询添加select()
空空如也