OneCircle 主题说明
简介
OneCircle (可能)是typecho 第一款多用户社交类圈子主题。界面简洁优美,功能实用方便。
特色
- 支持多用户,前台发文[默认markdown],发视频,发链接
- 支持用户个性化字段:性别、签名、标签、头像、背景等
- 支持用户相互关注和关注不同的圈子,只会显示用户关注的圈子里的内容
- 前台图片上传与 免费图床, 解锁你的云空间
- 支持用户定位 与 查看附近位置
- 支持查看所有圈子,支持管理员方便的创建圈子
- 支持无限滚动 和 分页导航两种导航方式
- 支持转发评论博文
- 支持前台博文显示评论
- 支持博文置顶,支持友链添加
- 博客独立页,来自joe ,感谢joe大神
- ....
注意事项
- 主题支持 mysql 与 sqlite 两种部署,但不支持安装在二级目录下。
比如主域名:xxx.com,可以,但xxx.com/tyecho/ 这样的访问方式是不支持的(至少目前不支持)
- 关于从其他主题切换过来,由于原来的文章自定义字段变化,会导致某些现实效果差异,因此只能手动设置每一篇文章的自定义字段
安装
下载地址:github
下载release解压后会得到4个文件,包括一个主题 onecircleTheme,和其余另外三个插件,分别是OneCircle配套后台插件(必需)、改版的登录美化插件(非必需)、免费图床插件(必需)。
分别安装主题和插件启用即可。
功能说明
0. 关于圈友日记:
在首页发了带图的 post 之后会自动采集。
1. 如何添加圈子:
在typecho 后台添加分类,分类名称 就是圈子名称,父级分类不选择,分类描述格式如下:
<分类的封面图片地址>分类的文字描述
2. 如何为圈子分类:
在typecho 后台管理圈子分类 添加分类,比如:娱乐

然后管理员在前台,所有分类里设置

3. 如何添加友链接:
- 创建友情链接独立页,自定义模板选友情链接
- 格式如下,添加一个按回车换行:
!!!
[links]
友链名字+(图片)
[/links]
!!!
4. 如何自定义左边栏的图标:
去阿里巴巴矢量图标库 查找你最喜欢的图标,点击复制svg
在typecho 外观的主题设置-自定义导航小图标 里粘贴你的svg,换行,每行对应一个独立页
**
**
5. 如何设置文章置顶:
主题外观设置-文章置顶 填写文章cid 空格分隔
6.关注用户后有 0.3 的概率随机发送一条博文,如果想关可以改 extend.min.js 如下
Math.random()<=.3 # 概率调成 0
开发版功能说明:
1. 评论无限滚动(开发版):
首先启用无限滚动。
后台评论设置,开启分页,每页显示5个,建议设置为第一页开始显示
2. 禁止用户修改撰写设置
修改 typecho 源码目录下 /admin/profile.php,大约33行,“撰写设置” 上面有行
<?php if($user->pass('contributor', true)): ?>
就是说允许 contributor 修改撰写设置,那么我们可以提高权限。比如我设置为 editor ,就是允许editor 以上权限才能修改这个设置。
更多权限查看:typecho 权限
功能介绍(多图预警)
主页:
每位注册用户都能拥有这样的主页

用户页:
可以查看每个用户的个人主页情况,每位用户 可以自行在个人后台设置头像背景,情感等信息

圈子页:
每位用户可以关注自己喜欢的圈子

博客页:
博客页来自joe

图床管理:

查看所有圈子,管理员可前台编辑

个性设置:

插件设置:


常见问题:
1. 为什么 tyepcho 个人设置会显示之前的内容?
因为 typecho 的bug,导致每次在个人设置里都会显示之前的缓存内容,而不是用户最新填写的数据,给用户带来困扰 - -
所以解决办法有两种:
- 每次修改的时候都把所有字段修改了,因为只修改某一个,其他字段还是用的某次的缓存
- 修复bug:很简单,方法如下:
找到源码的 var/Widget/Users/Profile.php 中的personalForm 函数,把中间这个if判断,由原来的
if (!empty($options)) {
foreach ($options as $key => $val) {
$form->getInput($key)->value($val);
}
}
改成:
if (!empty($options)) {
foreach ($options as $key => $val) {
if (!$form->getInput($key)){
$form->getInput($key)->value($val);
}
}
}
2. typecho 发不了 emoji 表情
typecho 开启支持 emoji
3. typecho 上传不了文件
typecho 1.0 版本的时候在判断是虚拟机的时候禁止上传附件。 解决方案都一样:
http://www.phpnote.net/index.php/Home/Article/index/id/54
首先我是找到var/Typecho/Common.php这个文件并更改415行左右的一个关于你服务器的函数。
public static function isAppEngine()
{
return !empty($_SERVER['HTTP_APPNAME']) // SAE
|| !!getenv('HTTP_BAE_ENV_APPID') // BAE
|| !!getenv('SERVER_SOFTWARE') // BAE 3.0
|| (ini_get('acl.app_id') && class_exists('Alibaba')) // ACE
|| (isset($_SERVER['SERVER_SOFTWARE']) && strpos($_SERVER['SERVER_SOFTWARE'],'Google App Engine') !== false) // GAE
;
}
把这个函数直接改成:
public static function isAppEngine()
{
return false;
}
然后去 typecho 目录下的 usr 目录下创建uploads 文件夹,给权限 0777 就好了。