聊天室的实现原理与建造

前言:这篇文章写烂了!(

大家好!

偶是萌新低级交易者virusJoe does not match any existing user name

由于一些众所周知的原因,聊天室不可避免的被炸了(
那么今天,我们就来学习如何自搭一个聊天室
awa/二二二/


实现原理

非常简单,原理见这儿(野蛮贴网)
http://chat-template.wikidot.com/
内部原理:

  1. 发布消息
  2. 获取你的消息
  3. 显示你的消息

我们一步步来看:

发布消息

这一步非常简单,我们用平常到不能再平常的创建新页就可以了
不过为了避免与其它正常文章冲突,我们可以使用category功能

获取并显示你的消息

这一步我们可以一步到位,使用ListPages功能,这个和沙盒功能很像
( 等等,我好像沙盒没讲过,+5再去更(; )

建造方法

_template

_template会作为模版在整个分类里生效
就像写封信你必须要写你名字,地址等等
我们可以这样设置:
1 分类设置
这里我们就选择chatroom分类好了
2 显示正文
正文:%%content%%,把它丢进去即可
3 标识作者与时间
作者:%%created_by_linked%%
时间:%%created_at|%Y-%m-%d %R|agohover%%
把这两个也丢进去
4 评分与评论
两个module:

[[module Rate]](评分用)
[[module comments]](评论用)

把它也丢进去

以上几个东西豁楞豁楞,再做一下美化,效果如下:
(这么不负责任的人还有必要继续吗)

++++++ %%title%%
**%%created_by_linked%%**(作者)
[[size 80%]]%%created_at|%Y-%m-%d %R|agohover%%[[/size]](时间)
------
[[size 90%]]%%content%%[[/size]](正文)
------

[[module Rate]](评分)
[[module comments]](评论)

聊天室本体

聊天室不能与_template的分类相同。如:如果分类为chatroom,那聊天室本体就会用评分评论(ubmh版套娃)
1 获取消息
很简单,复制上面那段代码就好了
为什么?
你可以把它理解成一个语法(不过评分评论不能复制,因为这些评分评论统一指向了聊天室本体)
因为为接下来一步做准备
2 ListPages
以防万一,ListPages的功能是列出所有帖子
我们只需要使用ListPages列出所有分类为chatroom的帖子
以上两步代码如下:

[[module ListPages category="chatroom" tags="-官方 -隐藏" separate="false" perPage="25" order="created_at desc" limit="100"]]

++++++ %%title%%
**%%created_by_linked%%**
[[size 80%]]%%created_at|%Y-%m-%d %R|agohover%%[[/size]]
[[size 80%]]评分:%%rating%% 评论数:%%comments%%[[/size]]
------
[[size 90%]]%%content%%[[/size]]
------
[[[%%fullname%%|原链接]]](为这一步特别说明,这里是原链接的url)

[[/module]]

2 创建聊天
前面我们也提到,就是创建新页,代码如下:

要使用聊天室,请使用以下方法:

[[module NewPage size="30" button="创建信息" category="chatroom"]]
注:仅允许英文或数字,中文不会显示

3 美化
加一个css吧:

[[module css]]
.chatbox{
  padding:15px;
  margin:20px 0 0 0;
  background-color:grey;
  border:2.5px black;
  border-radius:5px;
  color:white;
}

.chatroom a{
color:lime
}
[[/module]]

再用div括住即可

懒人代码

当然,为了一些急(bai)需(lan)的人,我们的virusJoe does not match any existing user name也准备了代码:

页面:chatroom

[[module css]]
.chatbox{
  padding:15px;
  margin:20px 0 0 0;
  background-color:grey;
  border:2.5px black;
  border-radius:5px;
  color:white;
}

.chatroom a{
color:lime
}
[[/module]]

[[module ListPages category="chatroom" tags="-官方 -隐藏" separate="false" perPage="25" order="created_at desc" limit="100"]]

[[div class="chatbox"]]

++++++ %%title%%
**%%created_by_linked%%**
[[size 80%]]%%created_at|%Y-%m-%d %R|agohover%%[[/size]]
[[size 80%]]评分:%%rating%% 评论数:%%comments%%[[/size]]
------
[[size 90%]]%%content%%[[/size]]
------
[[[%%fullname%%|原链接]]]

[[/div]]

[[/module]]

------

[[div class="chatbox"]]

要使用聊天室,请使用以下方法:

[[module NewPage size="30" button="创建信息" category="chatroom"]]
注:仅允许英文或数字,中文不会显示

[[/div]]

页面:chatroom:_template

++++++ %%title%%
**%%created_by_linked%%**
[[size 80%]]%%created_at|%Y-%m-%d %R|agohover%%[[/size]]
------
[[size 90%]]%%content%%[[/size]]
------

[[module Rate]]
[[module comments]]

一个例子

最后是一个例子,是装在我网站里的
一个例子
唉等等,这难道不就是…
netboard的blog系统吗???(

© 地下黑市
2020~2026
属于闲人的社区
萌ICP备20240682号