onecircle 圈子主题,基于typecho

名字就叫一个圈子。

version:3.03

平台:typecho

主题介绍

OneCircle (可能)是typecho 第一款多用户社交类圈子主题。界面简洁优美,功能实用方便。

特色

  • 支持多用户,前台发文[默认markdown],发视频,发链接
  • 支持用户个性化字段:性别、签名、标签、头像、背景等
  • 支持用户相互关注和关注不同的圈子,只会显示用户关注的圈子里的内容
  • 前台图片上传与 免费图床,
  • 解锁你的云空间支持用户定位 与 查看附近位置支持查看所有圈子,
  • 支持管理员方便的创建圈子支持无限滚动 和 分页导航两种导航方式
  • 支持转发评论博文支持前台博文显示评论支持博文置顶,
  • 支持友链添加博客独立页,来自joe ,感谢joe大神

注意事项

  1. 主题支持 mysql 与 sqlite 两种部署,但不支持安装在二级目录下。

比如主域名:xxx.com,可以,但xxx.com/tyecho/ 这样的访问方式是不支持的(至少目前不支持)

  1. 关于从其他主题切换过来,由于原来的文章自定义字段变化,会导致某些现实效果差异,因此只能手动设置每一篇文章的自定义字段

安装说明

下载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

7. 获取 jsampkey 失败。

去onecircle 插件后台设置对应选项。不需要定位的可以随便填个字符串。另外,定位失败是浏览器没有给权限。

8. 修改不等陆时,首页文章排序。(我默认不登录是随机显示,为了不同用户看到不同内容。但有人需要顺序显示,给出临时解决方案,开学了有空加个开关。。)

打开主题的 components/recommend/recommend-randompost.php 文件。将18行和27行的 ->order('RAND()')改为 -> order('table.contents.created',Typecho_Db::SORT_DESC)   这样就会按照时间排序了。

主页:

每位注册用户都能拥有这样的主页


用户页:

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


圈子页:

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

博客页:

博客页来自[joe](http://ae.js.cn/about.html)


图床管理:


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


个性设置:


插件设置:

常见问题:

1. 为什么 tyepcho 个人设置会显示之前的内容?

因为 typecho 的bug,导致每次在个人设置里都会显示之前的缓存内容,而不是用户最新填写的数据,给用户带来困扰 - -

所以解决办法有两种:

  1. 每次修改的时候都把所有字段修改了,因为只修改某一个,其他字段还是用的某次的缓存
  2. 修复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 就好了。

免费资源
© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发