Typecho实现相册.书单页面自定义
时间:2022-10-07
本文章向大家介绍Typecho实现相册.书单页面自定义,主要内容包括前言、新建分类、添加自定义字段、自定义首页文章列表样式、自定义文章内容样式、End、基本概念、基础应用、原理机制和需要注意的事项等,并结合实例形式分析了其使用技巧,希望通过本文能帮助到大家理解应用这部分内容。
前言
这两天终于把相册、书单页完善了一下,之前一直都是用独立页面来实现,这样就不便于管理内容,相册还好,书单的话,要想添加书本信息,只能进入服务器源码文件进行添加,这就造成了很大的不便,于是趁着有时间折腾,就完善了一下,完善之后,相册和书单分别为一个分类,相册下面的每一篇文章就是一个单独的相册,书单下面的每一篇文章就是一本书,还加了好句摘录(评论而已),首页输出的文章样式也不一样。 下面是实现过程:
新建分类
主题目录下新建相册、书单分类自定义文件 创建一个category文件夹,文件夹下分别创建:photos.php、books.php(文件名为分类的缩略名) 文件中分别写入判断代码:
<?php if ($this->is('category', 'photos')): ?>//photos.php
<?php if ($this->is('category', 'books')): ?>//books.php
判断代码下面就是输出分类下的每一篇文章,可自定义样式。
添加自定义字段
找到 functions.php 文件 输入后台添加文章时的自定义字段
function themeFields($layout) {
$article_type= new Typecho_Widget_Helper_Form_Element_Radio('article_type',array('0' => _t('文章'),'photos' => _t('相册'),'books' => _t('书单')),'0',_t('文章类型'),_t("选择文章类型首页输出"));
$layout->addItem($article_type);
$photos_name = new Typecho_Widget_Helper_Form_Element_Text('photos_name', NULL, NULL, _t('相册名称'), _t('输入相册的缩略名'));
$layout->addItem($photos_name);/** 自定义每一个相册的缩略名 */
$photos_excerpt = new Typecho_Widget_Helper_Form_Element_Text('photos_excerpt', NULL, NULL, _t('相册介绍'), _t('输入相册的介绍'));
$layout->addItem($photos_excerpt);/** 输出相册介绍 */
$books_author = new Typecho_Widget_Helper_Form_Element_Text('books_author', NULL, NULL, _t('书的作者'), _t('输入书的作者'));
$layout->addItem($books_author);/** 输出书的作者 */
$books_time = new Typecho_Widget_Helper_Form_Element_Text('books_time', NULL, NULL, _t('书的出版时间'), _t('输入书的出版时间'));
$layout->addItem($books_time);/** 输出书的出版时间 */
$books_excerpt = new Typecho_Widget_Helper_Form_Element_Text('books_excerpt', NULL, NULL, _t('书的介绍'), _t('输入书的介绍'));
$layout->addItem($books_excerpt);/** 输出书的介绍 */
$books_reading = new Typecho_Widget_Helper_Form_Element_Text('books_reading', NULL, NULL, _t('阅读进度'), _t('阅读进度'));
$layout->addItem($books_reading);/** 输出阅读进度 */
}
通过以上代码可整理出各个自定义字段为:
article_type//文章类型自定义
photos_name//文章缩略名自定义
books_time//书的出版时间
books_excerpt//书的介绍
books_reading//阅读进度
这些自定义字段将会在后台文章编辑页面展示:
在你所需要展示的地方调用即可展示,调用代码为:
<?php $this->fields->字段缩略名(); ?>
自定义首页文章列表样式
接下来就可以通过上面添加好的自定义字段进行自定义首页文章样式 找到index.php 通过以下代码判断而进行输出相应的样式:
<?php while($this->next()): ?>
<?php if($this->fields->article_type == "photos") { ?><!-- 相册样式 -->
这里写你自定义相册的样式
<?php } elseif ($this->fields->article_type == "books") { ?><!-- 书单样式 -->
这里写你自定义书单的样式
<?php } else {?><!-- 默认样式 -->
这里写你默认文章的样式
<?php }?>
<?php endwhile; ?>
自定义文章内容样式
最后就可以自定义文章内容样式了 找到post.php 通过以下代码判断而进行输出相应的样式:
<?php if($this->category == "photos"): ?> <!-- 相册样式 -->
这里写你自定义相册内容的样式
<?php elseif($this->category == "books"): ?><!-- 书单样式 -->
这里写你自定义书单内容的样式
<?php else: ?><!-- 默认样式 -->
这里写你默认文章内容的样式
<?php endif; ?>
End
折腾完毕~
- 程序员的进化
- 浅谈JavaScript的事件(事件委托)
- 浅谈JavaScript的Canvas(绘制图形)
- 浅谈JavaScript的事件(事件流)
- 浅谈JavaScript的函数表达式(递归)
- 浅谈JavaScript的事件(事件模拟)
- Spring中@Transactional事务回滚实例及源码
- 浅谈JavaScript的函数表达式(闭包)
- 浅谈JavaScript的事件(事件类型)
- 17年编程生涯的三大经验总结
- 浅谈JavaScript的面向对象程序设计(四)
- 浅谈JavaScript的事件(事件对象)
- 浅谈JavaScript的字符串的replace方法
- 西方红玫瑰和辣条先生黑产组织深度分析报告
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 一起刷 leetcode 之螺旋矩阵(头条和美团真题)
- 如何快速判断一个用户是否访问过我们的 APP?
- replication-manager之switchover剖析
- 组复制安装部署 | 全方位认识 MySQL 8.0 Group Replication
- 提升低端设备的 Web 性能
- TypeScript 4.0 RC发布,带来诸多更新
- istio mcp实现探究
- K8S 生态周报| Helm v2 进入维护期倒计时
- Halcon实例转OpenCV:计算回形针方向
- OpenCV检测轮廓极点(Python C++)
- 「Python 正则」使用专题总结
- 如何真正理解好一个「设计模式」?
- 10 行实现最短路算法
- 深度学习Pytorch检测实战 - Notes - 第6章 单阶经典检测器:YOLO
- 从图片裁剪来聊聊前端二进制