ThinkSAAS 的安装与使用基础教程

昨天花了一段时间写这篇文章,电脑上装了金山词霸,词霸装了一个 firefox 插件,不知道为什么,在写文章的时候,就自动插上一个隐藏的 div 标签,导致频出异常.写完的那篇文章,也丢失了不见了.现在禁用了这个插件,就好了.

本文所说的 ThinkSAAS 版本为 1.85,在其他版本中,可能会略有不同.

安装

ThinkSAAS 的安装,是比较简单和方便的,我们首先把下载包解压,把 www 文件里面的所有文件上传到服务器.

之后,访问我们的网站,填写上相应的配置信息即可,系统会自动进行安装

不到一分钟,系统就安装完成,这时候,你可以到前台看看或者到后台配置网站相关信息.

配置

ThinkSAAS 系统与大家常见 cms 系统不同,它的功能配置,并不像其他系统那样,一个功能组打开配置.

简单形象的说,ThinkSAAS 系统,只是一个空房子.我们编写开发 APP 组件,就相当于在这个空房子,砸出了一个厨房.但是仅仅有一个厨房还不行,我们做饭需要煤气灶和吸油烟机,所以我们开发出插件,来增强 APP 的功能和效果.这样,如果我想配置一下吸油烟机的功能,我需要走到厨房的吸油烟机那里,进行修改配置.

1,系统管理

在系统管理界面,可以配置我们网站的基础信息,以及缓存处理和数据库优化等.

2,APP 管理

在 APP 管理界面,是我们系统中已经内置的一些必须的 APP 组件

正如我前面说的那样,如果我想配置管理网站中发布的文章,那么我就需要点击文章 APP 后面的管理按钮进行配置. 取消导航的意思就是取消在首页显示的链接.

3,插件管理

插件是对 APP 组件的功能扩展,系统已经内置了部分插件,但是有部分非必须的插件没有启用.你可以根据你网站的需求,开启相应的插件.

启用插件之后,部分插件还需要你去配置一下才能使用,例如:QQ 登陆.

4,安全中心

安全中心里面,你可以设置屏蔽的敏感词或者是屏蔽的 IP 以防止攻击.同时还提供了一个创意性的功能,你可以提交你遇到的垃圾关键词,也可以下载云端的垃圾关键词,实现垃圾的共享屏蔽.

5,获取更多组件和插件

你会需要更多的组件和插件,来扩展你网站的功能,适应你的用户需求.你可以在官方网站搜索找到这些组件和插件,但是有些插件是需要你去购买.你也可以联系官方网站有开发经验的朋友,为你的网站定制插件.

解决iconv和mb_convert_encoding函数的汉字乱码问题

近期在做一个小应用,就是填上信息,然后输出wordpress模板标准的style.css文件,当然,这个文件包含了CSSreset 和本人常用的原子类,这样可以大大缩小制作的难度和时间。

于是就遇到了一个编码问题,因为wordpress的编码是UTF-8,所以我们模板的css文件编码最好也是UTF-8。因为在早期的浏览器中,如果编码和文档中声明的不同,会读取不出来。IE6就是这样,在其他浏览器中没有出现类似的情况,不过还是建议使用UTF-8编码,如果你的模板要面向全世界的用户,你必须用这个编码,因为国外的电脑上没有装GBK、GB2312这类中文编码,就会出现乱码,或者出现一些其他的意外情况。

那么,我使用php接受字符串,并且输出的时候,需要使用编码相关的函数。经过搜索,找到了标题上面的两款函数。iconv和mb_convert_encoding,这两个函数,可以把字符串进行编码,然后配合file_put_contents这个函数,可以输出你指定的编码。我这个工具的原理很简单,就是获取表单内容,读取已经保存的写好的文件,然后混合编码,输出。

$add_string = $add_string.$fpr; //$fpr变量是读取之前写好的UTF-8编码的style.css文件模板
$add_string = iconv(“utf-8”,”utf-8”,$add_string); //由于读取的style.css文件是utf-8编码,所以这里用了utf-8编码转换utf-8编码
file_put_contents($new_filename,$add_string);

但是问题就出现了,出现在中文上了。由于iconv是php默认安装的模块,所以先使用的iconv函数。编写完成之后,输入中文信息,输出中断,查看输出文件,在中文的地方,输出了一个DZ,之后就断掉了。经过搜索,说这是iconv的一个bug,遇到“-”这样的符号,就出问题,可以使用“GBK”编码或者是加上“//IGNORE”参数解决。实验了一下,还是没有效果,加上了//IGNORE参数,中文全被过滤,只输出英文。

疯狂的在网上查找相关资料,没有找到,我找了一段网上编写的,有这个函数的应用,把代码运行了一下,结果发现,还是没有。蛋碎,别人写的可以用的代码,在自己电脑上还是不能支持中文。我phpinfo了一下,这个模块正常啊,我还把代码上传到远程服务器上,执行还是不行。

没办法,我考虑使用同样的功能的mb_convert_encoding函数,来试一下。结果还是不行,仍然出现乱码。这个时候,我突然想,不要把utf-8转换成utf-8 了,把GBK转换成utf-8试试怎么样啊。试了一下,表单部分在utf-8文件中,显示正常,但是模板(style.css模板用的utf-8编码)中的中文,全都变乱码了。研究一晚上这个问题了,已经到了0点了,果断关机睡觉。

在床上,翻来覆去的思考这个问题。最后的这个尝试,给了我一个思路。然后我就想明白了,我们用浏览器输入内容,我们也没有规定编码是什么,那系统得到我们输入的内容,它的编码是什么呢?那就只有GB2312 了,因为我中文系统默认的编码就是这样。所以,我对字符串的处理,应该是由GBK、GB2312来转换成UTF-8编码才对。这就是为什么最后,表单内容正常,而源css模板不正常了。我用utf-8保存的css模板,却用GBK的方式去读,然后转换成utf-8编码,读出来的时候,已经是乱码了,再把乱码转换成utf-8,那不更乱了。

不仅感叹一句,有多少问题,是在床上解决的,别想歪了哦 ^-^

今天早上起来,立刻按照昨晚想的思路写了一下,果然可以成功输出汉字。最终代码:

    $add_string = iconv(“GBK”,”utf-8”,$add_string);//先把表单内容转成utf-8
$add_string = $add_string.$fpr; //再与utf-8编码的css模板文件结合
file_put_contents($new_filename,$add_string); //输出

就这样,变化一下顺序,这个问题就完美解决了。今天写这篇文章时,发现这是一个多么简单的逻辑问题,却研究尝试了一个晚上,自己也真够笨的。不过最终解决了就好。我们平时都看书,太重于理论,到实践的时候,却发现,出现好多书上没有的错误。但是有了这个经历,以后遇到编码问题,就再也不用怕了。

另附这两个函数的用法:

iconv(“UTF-8”,”GB2312//IGNORE”,$data); //意思是把$data字符串由utf-8编码转成gb2312编码,刚开始就被这个误导了

mb_convert_encoding($data, “UTF-8”, “GBK”); //这个意思是把$data字符串,由gbk转成utf-8编码,注意顺序与iconv相反

至于gbk和gb2312,都是中文编码,区别在于,你想多打字,就打gb232,想少打字就打gbk.

此外,上面这两个函数,需要配合file_put_contents这个函数输入才有效,这个函数的用法和其他输出函数都一样.不再赘述.

ThinkSAAS 数据库结构 -> 数据表结构

注:这段时间,要用来研究一套系统ThinkSAAS,一个目前还不是很成熟的轻量化论坛系统.

看到很多app都需要数据库的操作,再看了一下,好像没有关于数据库结构的文章,然后我就整理了一下.

这是第一篇文章,关于数据表的结构,之后会陆续把一些app开发常用的数据表的结构整理出来.

完全是音译,有部分还是不理解功能是什么,还望邱君和高手把这部分用处说一下,不确定的后面有”???”

+——————————————————————-+

| ts_anti_email => 阻止邮件名单

| ts_anti_ip => 禁止IP

| ts_anti_word =>禁止关键词

| ts_area =>用户区域

| ts_area_city =>用户居住城市

| ts_area_province =>用户居住省

| ts_article =>文章列表

| ts_article_cate =>文章目录

| ts_article_comment =>文章评论

| ts_attach =>附件列表

| ts_feed =>订阅列表

| ts_group =>小组列表

| ts_group_cates =>小组分类

| ts_group_options =>小组配置

| ts_group_topics =>小组帖子

| ts_group_topics_add =>添加小组主题???

| ts_group_topics_collects =>收藏主题?

| ts_group_topics_comments =>小组主题评论

| ts_group_topics_type =>小组主题类别

| ts_group_users =>小组成员

| ts_home_info =>首页信息

| ts_mail_options =>邮件配置就是系统发邮件的配置

| ts_message =>消息

| ts_photo =>照片列表

| ts_photo_album =>相册列表

| ts_photo_comment =>照片评论

| ts_photo_options =>照片选项

| ts_session =>session 你懂得

| ts_system_options =>系统配置

| ts_tag =>标签列表

| ts_tag_article_index =>文章标签指数???

| ts_tag_group_index =>小组标签指数???

| ts_tag_photo_index =>图片标签指数???

| ts_tag_topic_index =>主题标签指数???

| ts_tag_user_index =>用户标签指数???

| ts_user =>用户列表

| ts_user_follow =>用户关注跟随

| ts_user_gb =>用户留言

| ts_user_info =>用户信息

| ts_user_invites =>邀请用户

| ts_user_open =>第三方登录

| ts_user_options =>用户选项

| ts_user_role =>用户参与任务

| ts_user_scores =>用户积分

+———————————————————————-+

电商大战正在进行时

近日,由于京东SEO的一番豪言,终于引发了中国电商大战。

最突出当属京东VS苏宁。当然和苏宁相似的国美也打进来,之后当当看不下去了,随后其他的比较小的电商网站也打进来。

截止到目前,已经有如下的网站正在开打:

怎么打?

  1. 首先是口水战,各方SEO都发表微博等消息,声称自己的价格策略,怎么对抗对方。
  2. 其次是价格战,都有一定降价或者是促销方式。当然,价格战打得不如口水战。
    令人遗憾的是,亚马逊、X猫却十分淡定,没有什么行动。特别是X猫的老大马云,还指挥旗下产品一淘,趁机揭短,推广人们使用它去搜索商品。(请看=>http://www.etao.com/pk/report.html)

现在打得真是好热闹。各位网友,如果有家电大件想要入手,现在抓紧行动吧,因为这场大战过去之后,就没有这么好的机会了。

为什么?

在这场电商大战之中,各个电商都在拼。京东SEO已经召开过股东会,股东们都放出了豪言:我们除了钱什么都没有,你尽管去打吧。

所以,这场战争之后,肯定会消亡一批电商。那么剩下的电商,就处在了垄断地位。这打得过程中,他们损失的钱,会在垄断时期,迅速的收回。这或许就是京东的目的。

这个事件会载入中国互联网史册的,故赶紧在这里发表一篇博文记录一下。

在搬家的时候随时注意好你的robots

首先先来说一下robots这个文件.

简单的说,这个文件是控制搜索引擎收录网站的.搜索引擎会派出蜘蛛在网络中爬行,但是有的时候,我们的网站或者网站的某个目录并不想被搜索引擎爬行到并且收录。例如一些后台文件,配置文件等等。搜索引擎也思考到了这一点,就弄出了一条规则,爬行一个网站的时候,先读取网站的robots文件,查看哪些被允许爬行,哪些不允许。之后再进行爬行收录。

在seo中,这是一个很重要的东西,它告诉搜索引擎哪些可以收录等,同时弄的不好,也会对网站收录造成致命伤害。这次就是一次血的教训。

在上次网站搬家之后,新主机还没有开启rewrite模块,所以博客链接无法伪静态写成以前的样子。之后又发生了一些事情,没有上网管理网站。以前的朋友都知道,我有三个月没有更新博客,也当然没有管理,就把这个事情忘了。

后来,听了很多站长朋友,在骂百度更新算法,把他的网站K掉了。我也没在意,检测一下我网站的收录,突然发现,以前很多的收录,现在只剩一个6月份的首页快照。坏了,我被百度K了。然后就在百度那里进行投诉。因为潜行者m的博客,文章都是精心构思原创手写的,SEO等方面也稍微做了一些,怎么会直接全K呢?查看了一下网站权重,跟以前没变,怎么收录没了?

前天,在后台清理的时候,发现服务器的rewrite开启了,然后就填上了以前的伪静态规则。这时,我猛的想起来了一件事,我曾经写的robots规则。

打开robots文件一看,果然,里面有条规则,把wordpress默认的链接形式屏蔽。此举是为了修改了伪静态规则之后,防止被检测成重复内容。结果那段时间,网站的链接全部都是wordpress的默认链接。我查询了一下谷歌的收录,结果也为0。原来,我的网站并不是被K了,而是被自己编写的robots规则,清掉了搜索引擎的索引。

修改了之后,搜索引擎又开始重新收录了,可以之前一年的积累,全化为了乌有。以后真的多注意一下。

 

前端设计究竟要不要放弃 IE6?

对于前端的工作者来说,IE6 就是一场噩梦。它拥有一定的用户量,同时它是过去很多年的产品,它无法适应现在的新技术。所以如果网站要面向全部用户,则需要去针对 IE6 进行单独的 CSS hack 处理。这平白无故的就增加了成本和时间。有过经验的人都知道,为了迎合 IE6 的口味,往往还需要付出巨大的努力,一点一点的寻找 hack 的方法。

正是因为这样,业界频发 Kill IE6 的呼唤。

但实际情况不容乐观,关于 IE6 为什么不消失,潜行者 m 之前写过一篇文章《IE6 在中国消失还需要一段时间》。这样,我们面对一个问题:前端设计要不要放弃 IE6?本文将结合客观的数据,对放弃与不放弃进行一个对比,以供大家的参考。

客观准确的数据很重要。只是说用户很多很少,根本没有权威性和参考性。本文引用的数据是 CNZZ 数据中心的统计数据,CNZZ 是提供网站统计代码服务的网站,他们会统计用户访问网站时使用的浏览器。所以这个数据是非常准确的。

放弃论:

1,针对 IE6 的兼容,需要做大量的 css hack,写这些代码,需要时间和精力,要付出成本。你不仅要学习各种 hack 方法,还要掌握各种新技术的代替方法,以求 IE6 中,能和其他浏览器显示相似效果。

2,IE6 严重制约了国内技术的进步。很多网站追求兼容 IE6,而不敢使用各种新型技术,仍然使用老旧技术,导致技术落后。因此,有言论称,如果新浪等大型网站,拒绝对 IE6 的支持和兼容,逼迫用户去升级用户的浏览器,很快这种现状就会解决。这种方法,有一定的道理,但那些大型网站,往往不愿意得罪用户,而继续保持兼容的做法。

总结:放弃 IE6,我们就可以节约一些成本,同时可以使用最新的技术,打造更好的用户体验,进行创作。但是这样,我们就丢掉了一部分用户。

这部分用户究竟有多少呢?我们来看一下具体的最新数据(http://brow.data.cnzz.com)

浏览器份额数据

IE6 仍然有竟然的 20%的占有率,同时需要注意,360 浏览器等使用的是其他浏览器的内核,如果是 XP 系统默认 IE6 浏览器,那么 360 浏览器等他们使用的 IE 内核为 IE6,仍然相当于使用 IE6,所以这个数据应该还要高一些。简而言之,综合性的网站,五个浏览者,一个就用 IE6。

不弃论:

1,我的网站有大量的 IE6 用户,我如果不兼容,我将损失这部分用户。像新浪等大型门户网站,他们为了照顾这五分之一的用户,不得不去做兼容。毕竟用户就是钱。

总结:兼容 IE6 的最主要原因,还是在于照顾 IE6 的用户。

最终方案:

这里本人思考了一下我的应对方案,以供大家参考。

1,分析网站的用户,针对用户份额确定是否兼容 IE6。如果是一个有关前端技术的网站,那么完全可以使用最新技术,因为浏览者大都是有经验的,一般不会使用 IE6。但是想淘宝、新浪等综合性网站,用户浏览器比较杂乱,则需要考虑兼容。

2,对于小的、实验性的、个人的项目,则完全没有必要拿出精力去做兼容,毕竟访问的人不多,只需要给出个提示即可。但是对于正规的项目,则要考虑一下 IE6 的兼容。