分析dede--编辑文章

一.编辑文章
1.自定义属性,多选。
A.可以存储在一个字段中,用逗号分割。前端调用之时,SQL语句用LIKE模糊查询。
2.TAG标签
A.有哪些作用?站内搜索时可以用到。SEO可以用。
B.站内搜索。关键词,可以匹配TAG标签,也可以查询标题。关键词有时是一个比较长的短语,而TAG标签是由逗号分割的字符串,LIKE查询结果的匹配性不大。
能否如此处理:搜索结果是TAG标签查询和标题查询的组合。
全文搜索,我没有试过。
3.缩略图,裁剪
A.无难度,可以用普通的<input type="file" />上传,可以使用uploadify插件,但是,裁剪功能,不容易实现。也可以尝试用kindeditor实现。
4.文章来源,作者
A.默认值,可以在数据库设置,也可以插入时设置默认值。
B.二者的值管理,可以存在数据库,也可以保存在TXT里。难点是这种效果,要用JS去实现。
4.下载远程图片和资源 提取第一个图片为缩略图
A.下载远程图片和资源,这里的“资源”是什么?实现此功能,需要查找出HTML中的所有图片地址,并且将这些图片采集到自己的服务器,最后,将这些图片在自己服务器的
地址替换远程地址。简单来说,流程是,匹配图片地址,采集图片并保存,用图片的新地址来替换旧地址。过程稍显繁琐,实现起来有些麻烦,难点在于,图片地址替换。这是我的思路,不知道
dede是怎么做的。
B.提取第一个图片为缩略图。分两种情况:一,勾选了“下载远程图片和资源”,在上步操作的结果中选取第一张图片;二,没有勾选“下载远程图片和资源”,直接查找第一张图片并保存。
不管是哪种情况,都要保存作为缩略图的图片,同时设置该文章的缩略图字段值。
5.文章内容的分页。两种分页方式,我都觉得很困难。
A.我的思路是,不管哪种分页方式,都是把文章内容存储到数组里,根据数组元素的个数来决定页数,页码比数组的键值大1。在这里,页码的URL要给一个参数,传递页码值。
难点在,如何分割文章内容。我曾经写过多次,耗时很多,勉强实现了,但现在仍然不能轻松地写出来。
B.手动插入分页符。思路是,用分页符来分割文章内容,用函数explode,但是在这里好像不是这么简单,因为分页符是这种形式“#p#副标题#e#”,副标题可能是其他的字符串,不是固定的,能作为
explode的参数吗?
C.自动分页,即根据文章字数来分割。难。要设置每页的最大字数,每页的结束符。思路,先用substr截取某个字数的字符串,再检查这个字符串的结束位置是不是设置的页结束符;若是,这个字符串作为一页的内容;若不是,
查找到最后一个页结束符。然后,计算出该页结束符在文章字符串中的位置。从此位置开始,继续获取下页的内容。
6.是否允许评论
A.dede的处理方法是,我猜测是,在保存评论的时候,读取该文章的是否允许评论值,若为否,不执行插入评论的操作,而是提醒无法评论。这种处理方法不好,我会这样做:根据文章的是否允许评论的值来决定是否显示评论输入框。
B.dede的文章评论,数据库table设计,有一个passage_id字段,有一个parent_id字段,这样才能实现对评论的引用(其实就是对评论的评论)。
C.我不清楚的是,对于一条评论,我只能支持一次或只能反对一次,这是如何实现的?根据cookie吗?根据IP吗?记录了支持或反对操作吗?对踩一下\顶一下,也有同样的疑问。
7.高级参数--阅读权限--消费金币
A.不难。有点复杂。在输出文章详情之前,进行判断。把这个判断的代码封装到单独的类中。消费金币判断流程是阅读权限流程的一个
子流程。
7.高级参数--文章排序
A.置顶一周如何实现?
文章table设计
article(addtime,zhiding_id)
查询置顶数据的SQL是
SELECT * FROM article WHERE zhiding_id = 1(假设置顶一周的id是1) AND (now-addtime)<=一周。
每次都要查询一次数据库,似乎有优化的必要。
7.高级参数-- 标题颜色
难点是,颜色选取器,应该是用JS实现的。要能够实现。
article(title_color)
title_color值若为空,前端输出时,对标题不加颜色,若是有颜色,把颜色加入。easy,繁琐而已。
8.高级参数-- 自定义文件名
我的思路,存储文章的url,输出时用此生成的url。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值