插件[友情链接]开发教程(一):需求整理

前言

很早就想写cmswing的二次开发教程,一致苦于没有时间,cmswing也到了最后的开发阶段,文档和教程也到了不能不写的地步了,所以决定先从比较简单的插件二次开发入手,这样初学者也能比较容易理解,想来想去,就拿友情链接链接作为插件开发的案例吧,友情链接是网站中不可缺少的功能,虽然简单但是应用的技术比较全面,涵盖了增删改查业务,包括前台申请,后台管理审核。


需求分析

再简单的功能,也有需求分析,有了合理,详细的需求分析,后面的开发才能少走弯路,当然随着开发经验的积累,需求分析可能会越来越多简单。这就看个人的能力了。


功能描述

在首页需要展示友情链接,并且能后台能够控制排序。在前台有申请友情链接的入口,后台友情链接包括对友情链接的添加,编辑,删除,对前台申请的审核。友情链接多的时候可能需要分类。后台能对有链接功能进行配置,比如是否开启前台申请等功能。

大体描述出来了,我们可以根据描述大概提炼一下功能点。


前台

展示,申请入口


后台

管理:审核,删除,编辑

配置:是否允许申请,是否开启验证码

分类:添加,修改,删除


数据库设计

友情链接,数据库结构比较简单,无非就是,网站名称,网站地址,网站logo,网站介绍,排序,推荐,审核,添加时间,分类ID。

因为比较简单就比一一分析了,最终数据库结构如下。


4E1D23A0-3441-478B-A9ED-353FAFA604DD.png


sql

/*
 Navicat Premium Data Transfer

 Source Server         : 本地
 Source Server Type    : MySQL
 Source Server Version : 50715
 Source Host           : localhost
 Source Database       : cmswing

 Target Server Type    : MySQL
 Target Server Version : 50715
 File Encoding         : utf-8

 Date: 01/13/2017 12:28:08 PM
*/

SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;

-- ----------------------------
--  Table structure for `cmswing_ext_link`
-- ----------------------------
DROP TABLE IF EXISTS `cmswing_ext_link`;
CREATE TABLE `cmswing_ext_link` (
  `id` smallint(5) NOT NULL AUTO_INCREMENT COMMENT 'id',
  `typeid` smallint(5) NOT NULL DEFAULT '0' COMMENT '类别id',
  `linktype` tinyint(1) NOT NULL DEFAULT '0' COMMENT '链接类型 1 logo,0文字',
  `name` varchar(50) NOT NULL DEFAULT '' COMMENT '网站名称',
  `url` varchar(255) NOT NULL DEFAULT '' COMMENT '网站地址',
  `logo` varchar(255) NOT NULL DEFAULT '' COMMENT '网站logo',
  `introduce` text COMMENT '网站介绍',
  `username` varchar(255) NOT NULL DEFAULT '' COMMENT '申请者',
  `sort` smallint(5) NOT NULL DEFAULT '0' COMMENT '排序',
  `elite` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否推荐 0 不推荐,1推荐',
  `passed` tinyint(1) NOT NULL DEFAULT '0' COMMENT '0没有审核,1通过审核',
  `addtime` bigint(13) NOT NULL DEFAULT '0' COMMENT '添加时间',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4;

SET FOREIGN_KEY_CHECKS = 1;

在创建数据库之前,必须先要链接创建规则,所有的插件的表明都是以cmswing_ext_为前缀的,我们这里友情链接是link,那么数据库表名就是cmswing_ext_link,如有多个表那就是cmswing_ext_link_t1,cmswing_ext_t2....

创建完数据库表后第一步算是完成了,下一节我们来讲,cmswing插件的后台添加,和目录的创建。

网站导航