开发流程

1.需求分析

  • 用户登录
  • 内容管理
  • 分类管理
  • 评论管理
  • 用户管理
  • 网站设置

2.原型设计 axure
3.UI设计
4.技术选型
5.数据库设计
6.项目架构设计
7.业务迭代开发
8.集中测试
9.部署上线

数据库结构介绍

  1. 数据库设计
    根据业务需求设计数据库的结构,这个过程是每个项目开始时必须的,一般由专门的DBA角色完成。(表格设计)

    选项表(options) 用于记录网站一些配置属性信息,如网站标题,站点描述。
  2. 搭建项目架构
    打开navicat,新建数据库baixiu-dev

    新建查询,复制粘贴 初始化数据库
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";SET AUTOCOMMIT = 0;
START TRANSACTION;SET time_zone = "+00:00";-- Database: `baixiu`
--
-- --------------------------------------------------------
--
-- 表的结构 `categories`
--
CREATE TABLE `categories` (`id` INT ( 11 ) NOT NULL COMMENT '主键',`slug` VARCHAR ( 200 ) NOT NULL COMMENT '别名',`name` VARCHAR ( 200 ) NOT NULL COMMENT '分类名称'
) ENGINE = INNODB DEFAULT CHARSET = utf8;--
-- 转存表中的数据 `categories`
--
INSERT INTO `categories` ( `id`, `slug`, `name` )
VALUES( 1, 'uncategorized', '未分类' ),( 2, 'funny', '奇趣事' ),( 3, 'living', '会生活' ),( 4, 'travel', '爱旅行' );-- --------------------------------------------------------
--
-- 表的结构 `comments`
--
CREATE TABLE `comments` (`id` INT ( 11 ) NOT NULL COMMENT '主键',`author` VARCHAR ( 100 ) NOT NULL COMMENT '作者',`email` VARCHAR ( 200 ) NOT NULL COMMENT '邮箱',`created` datetime NOT NULL COMMENT '创建时间',`content` VARCHAR ( 1000 ) NOT NULL COMMENT '内容',`status` VARCHAR ( 20 ) NOT NULL COMMENT '状态(held/approved/rejected/trashed)',`post_id` INT ( 11 ) NOT NULL COMMENT '文章 ID',`parent_id` INT ( 11 ) DEFAULT NULL COMMENT '父级 ID'
) ENGINE = INNODB DEFAULT CHARSET = utf8;--
-- 转存表中的数据 `comments`
--
INSERT INTO `comments` ( `id`, `author`, `email`, `created`, `content`, `status`, `post_id`, `parent_id` )
VALUES( 1, '汪磊', 'w@zce.me', '2017-07-04 12:00:00', '这是一条测试评论,欢迎光临', 'approved', 1, NULL ),( 2, '嘿嘿', 'ee@gmail.com', '2017-07-05 09:10:00', '想知道香港回归的惊人内幕吗?快快与我取得联系', 'rejected', 1, NULL ),( 3, '小右', 'www@gmail.com', '2017-07-06 14:10:00', '你好啊,交个朋友好吗?', 'held', 1, NULL ),( 4, '汪磊', 'www@gmail.com', '2017-07-09 22:22:00', '不好', 'held', 1, 3 ),( 5, '汪磊', 'w@zce.me', '2017-07-09 18:22:00', 'How are you?', 'held', 1, 3 ),( 6, '小右', 'www@gmail.com', '2017-07-11 22:22:00', 'I am fine thank you and you?', 'held', 1, 5 ),( 7, '哈哈', 'hh@gmail.com', '2017-07-22 09:10:00', '一针见血', 'approved', 1, NULL );-- --------------------------------------------------------
--
-- 表的结构 `options`
--
CREATE TABLE `options` ( `id` INT ( 11 ) NOT NULL COMMENT '主键', `key` VARCHAR ( 200 ) NOT NULL COMMENT '属性键', `value` text NOT NULL COMMENT '属性值' ) ENGINE = INNODB DEFAULT CHARSET = utf8;--
-- 转存表中的数据 `options`
--
INSERT INTO `options` ( `id`, `key`, `value` )
VALUES( 1, 'site_url', 'http://localhost' ),( 2, 'site_logo', '/static/assets/img/logo.png' ),( 3, 'site_name', '阿里百秀 - 发现生活,发现美!' ),( 4, 'site_description', '阿里百秀同阿里巴巴有咩关系,答案当然系一啲都冇' ),( 5, 'site_keywords', '生活, 旅行, 自由, 诗歌, 科技' ),( 6, 'site_footer', '<p>© 2016 XIU主题演示 本站主题由 themebetter 提供</p>' ),( 7, 'comment_status', '1' ),( 8, 'comment_reviewed', '1' ),( 9, 'nav_menus', '[{\"icon\":\"fa fa-glass\",\"text\":\"奇趣事\",\"title\":\"奇趣事\",\"link\":\"/category/funny\"},{\"icon\":\"fa fa-phone\",\"text\":\"潮科技\",\"title\":\"潮科技\",\"link\":\"/category/tech\"},{\"icon\":\"fa fa-fire\",\"text\":\"会生活\",\"title\":\"会生活\",\"link\":\"/category/living\"},{\"icon\":\"fa fa-gift\",\"text\":\"美奇迹\",\"title\":\"美奇迹\",\"link\":\"/category/travel\"}]' ),( 10, 'home_slides', '[{\"image\":\"/static/uploads/slide_1.jpg\",\"text\":\"轮播项一\",\"link\":\"https://zce.me\"},{\"image\":\"/static/uploads/slide_2.jpg\",\"text\":\"轮播项二\",\"link\":\"https://zce.me\"}]' );-- --------------------------------------------------------
--
-- 表的结构 `posts`
--
CREATE TABLE `posts` (`id` INT ( 11 ) NOT NULL COMMENT '主键',`slug` VARCHAR ( 200 ) NOT NULL COMMENT '别名',`title` VARCHAR ( 200 ) NOT NULL COMMENT '标题',`feature` VARCHAR ( 200 ) DEFAULT NULL COMMENT '特色图像',`created` datetime NOT NULL COMMENT '创建时间',`content` text COMMENT '内容',`views` INT ( 11 ) NOT NULL DEFAULT '0' COMMENT '浏览数',`likes` INT ( 11 ) NOT NULL DEFAULT '0' COMMENT '点赞数',`status` VARCHAR ( 20 ) NOT NULL COMMENT '状态(drafted/published/trashed)',`user_id` INT ( 11 ) NOT NULL COMMENT '用户 ID',`category_id` INT ( 11 ) NOT NULL COMMENT '分类 ID'
) ENGINE = INNODB DEFAULT CHARSET = utf8;--
-- 转存表中的数据 `posts`
--
INSERT INTO `posts` ( `id`, `slug`, `title`, `feature`, `created`, `content`, `views`, `likes`, `status`, `user_id`, `category_id` )
VALUES( 1, 'hello-world', '世界,你好', '/uploads/2017/hello-world.jpg', '2017-07-01 08:08:00', '欢迎使用阿里百秀。这是您的第一篇文章。编辑或删除它,然后开始写作吧!', 222, 111, 'published', 1, 1 ),( 2, 'simple-post-2', '第一篇示例文章', NULL, '2017-07-01 09:00:00', '欢迎使用阿里百秀。这是一篇示例文章', 123, 10, 'drafted', 1, 1 ),( 3, 'simple-post-3', '第二篇示例文章', NULL, '2017-07-01 12:00:00', '欢迎使用阿里百秀。这是一篇示例文章', 20, 120, 'drafted', 1, 2 ),( 4, 'simple-post-4', '第三篇示例文章', NULL, '2017-07-01 14:00:00', '欢迎使用阿里百秀。这是一篇示例文章', 40, 100, 'drafted', 1, 3 );-- --------------------------------------------------------
--
-- 表的结构 `users`
--
CREATE TABLE `users` (`id` INT ( 11 ) NOT NULL COMMENT '主键',`slug` VARCHAR ( 200 ) NOT NULL COMMENT '别名',`email` VARCHAR ( 200 ) NOT NULL COMMENT '邮箱',`password` VARCHAR ( 200 ) NOT NULL COMMENT '密码',`nickname` VARCHAR ( 100 ) DEFAULT NULL COMMENT '昵称',`avatar` VARCHAR ( 200 ) DEFAULT NULL COMMENT '头像',`bio` VARCHAR ( 500 ) DEFAULT NULL COMMENT '简介',`status` VARCHAR ( 20 ) NOT NULL COMMENT '状态(unactivated/activated/forbidden/trashed)'
) ENGINE = INNODB DEFAULT CHARSET = utf8;--
-- 转存表中的数据 `users`
--
INSERT INTO `users` ( `id`, `slug`, `email`, `password`, `nickname`, `avatar`, `bio`, `status` )
VALUES( 1, 'admin', 'admin@zce.me', 'wanglei', '管理员', '/static/uploads/avatar.jpg', NULL, 'activated' ),( 2, 'zce', 'w@zce.me', 'wanglei', '汪磊', '/static/uploads/avatar.jpg', NULL, 'activated' ),( 3, 'ice', 'ice@wedn.net', 'wanglei', '汪磊', '/static/uploads/avatar.jpg', NULL, 'activated' );--
-- Indexes for dumped tables
--
--
-- Indexes for table `categories`
--
ALTER TABLE `categories` ADD PRIMARY KEY ( `id` ),
ADD UNIQUE KEY `slug` ( `slug` );--
-- Indexes for table `comments`
--
ALTER TABLE `comments` ADD PRIMARY KEY ( `id` );--
-- Indexes for table `options`
--
ALTER TABLE `options` ADD PRIMARY KEY ( `id` ),
ADD UNIQUE KEY `name` ( `key` );--
-- Indexes for table `posts`
--
ALTER TABLE `posts` ADD PRIMARY KEY ( `id` ),
ADD UNIQUE KEY `slug` ( `slug` );--
-- Indexes for table `users`
--
ALTER TABLE `users` ADD PRIMARY KEY ( `id` ),
ADD UNIQUE KEY `slug` ( `slug` ),
ADD UNIQUE KEY `email` ( `email` );--
-- 在导出的表使用AUTO_INCREMENT
--
--
-- 使用表AUTO_INCREMENT `categories`
--
ALTER TABLE `categories` MODIFY `id` INT ( 11 ) NOT NULL AUTO_INCREMENT COMMENT '主键',
AUTO_INCREMENT = 15;--
-- 使用表AUTO_INCREMENT `comments`
--
ALTER TABLE `comments` MODIFY `id` INT ( 11 ) NOT NULL AUTO_INCREMENT COMMENT '主键',
AUTO_INCREMENT = 504;--
-- 使用表AUTO_INCREMENT `options`
--
ALTER TABLE `options` MODIFY `id` INT ( 11 ) NOT NULL AUTO_INCREMENT COMMENT '主键',
AUTO_INCREMENT = 11;--
-- 使用表AUTO_INCREMENT `posts`
--
ALTER TABLE `posts` MODIFY `id` INT ( 11 ) NOT NULL AUTO_INCREMENT COMMENT '主键',
AUTO_INCREMENT = 315;--
-- 使用表AUTO_INCREMENT `users`
--
ALTER TABLE `users` MODIFY `id` INT ( 11 ) NOT NULL AUTO_INCREMENT COMMENT '主键',
AUTO_INCREMENT = 5;
COMMIT;

搭建项目结构

基本目录结构

baixiu …项目文件夹(网站根目录)
admin…后台文件夹
-----------index.php…后台脚本文件
static… 静态文件夹
-----------assets…资源文件夹
-----------uploads…上传文件夹
index.php.…前台脚本文件

整合静态资源文件

批量整合后台页面

抽离公共部分

侧边栏和导航栏都是一样的,用include引用公共部分

找到侧边栏部分的代码,复制
在admin文件夹下创建inc文件夹,新建sidebar.php

将复制的代码粘贴到sidebar.php中,把所有用到侧边栏代码的地方都换成

<?php include 'inc/sidebar.php';?>

再同理新建一个导航栏公共文件navbar.php

此时会出现点击侧边栏不再出现高亮的情况class=active时高亮
利用include后,可以使用被include页里的变量的情况,
在前面加上定义变量$current_page的语句

然后在sidebar.Php中

换为

全部换完后
加上样式切换

处理登陆页面

form加两个必要属性 action, method
input中type=emial时会自动校验 在form上加novaluedate取消浏览器自动校验
autocompelete=“off” 关闭客户端自动完成功能

阿里百秀项目实战day1相关推荐

  1. 阿里百秀项目实战day3

    待实现功能 1.数据展示 2.页数跳转,页面切换 3.分类筛选 退出界面 categories页退出,在navbar中把退出时跳转页面改为 <li><a href="/ad ...

  2. 移动web开发 17-1 响应式布局 bootstrap首页 框架 阿里百秀项目

    1 响应式开发原理 1.1 响应式开发原理 核心:使用媒体查询针对不同宽度的设备进行布局和样式的设置,从而适配不同设备的目的. 1.20媒体查询(重点) 媒体查询区间的写法 当屏幕宽度<=768 ...

  3. 阿里百秀项目之用户模块

    项目介绍 整个项目分为两大部分:内容管理和内容展示. 技术栈: 数据层:mongDB 服务层:node.js(express) 客户端:art-template.jQuery.font-awesome ...

  4. 阿里百秀项目第二弹:准备工作

    1.数据库设计 选项表(options) 用于记录网站的一些配置属性信息,如:站点标题,站点描述等 用户表(users) 用于记录用户信息 文章表(posts) 用于记录文章信息 分类表(catego ...

  5. 阿里百秀后台管理项目笔记 ---- Day01

    摘要 在此记录一下阿里百秀项目的教学视频的学习笔记,部分页面被我修改了,某些页面效果会不一样,基本操作是一致的,好记性不如烂笔头,加油叭!!! step 1 : 整合全部静态页面 将静态页面全部拷贝到 ...

  6. 四十三、项目实战—阿里百秀

    案例:阿里百秀移动端首页 技术选型 方案:我们采取响应式页面开发方案 技术:bootstrap框架 设计图:本设计图采用1280px设计尺寸 页面布局分析 屏幕划分分析 屏幕缩放发现 中屏幕和大屏幕布 ...

  7. 阿里百秀前后端交互项目

    项目简介 阿里百秀,内容管理系统,分为内容管理和内容展示两大核心功能. 1. 功能模块 1.1 内容管理 模块 功能 用户 登录.退出.用户增删改查 文章 文章管理 分类 分类管理 评论 评论管理 网 ...

  8. 移动端响应式布局项目之阿里百秀首页

    移动端响应式布局项目之阿里百秀首页 文章目录 移动端响应式布局项目之阿里百秀首页 前言 一.前期准备 1.1 建立文件夹 1.2 需求分析 1.2.1 页面布局分析 `判断每一部分占据栅格系统多少份` ...

  9. 【Bootstrap实战】基于Bootstrap实现阿里百秀(未做响应式处理)

    1. Bootstrap使用 Bootstrap使用四步曲: 创建文件夹结构 创建html骨架结构 引入相关样式文件 书写内容 2. 需求分析 2.1 页面布局分析 左侧:上下两部分,上面图片,下面一 ...

  10. 移动端WEB开发之响应式布局(响应式开发原理、bootstrap、阿里百秀案例)

    移动端WEB开发之响应式布局 1.1 响应式开发原理 就是使用媒体查询针对不同宽度的设备进行布局和样式的设置,从而适配不同设备的目的. 设备的划分情况: <!DOCTYPE html> & ...

最新文章

  1. 国内操作系统OS分析(下)
  2. Revit结构2021专业人士的选择:从入门到专业
  3. Javascript闭包,比较好懂的一篇文章
  4. mobile_numen_3
  5. Juce源代码分析(一)Juce的优势
  6. 汽车电池包-云100
  7. Socket-Client通信
  8. zen cart如何给新产品、特价、推荐产品页面加标题、关键字、描述
  9. Apache下有效防止盗链仿下载的解决办法
  10. 2019聊大考研计算机调剂,2019年聊城大学硕士研究生预调剂工作说明
  11. Python版快速排序算法
  12. 华为Java开发编程最新军规,谁违反谁滚蛋!
  13. Opencv2与Opencv4共存
  14. Could not find a version that satisfies the requirement pytz (from django)
  15. WPF 中 OpenClipboard 失败问题 - HRESULT: 0x800401D0 的解决方案
  16. 固态硬盘是什么接口_机械硬盘和固态硬盘有什么区别?哪种硬盘好?
  17. 经济可行性分析的目的
  18. cdr宏教程_coreldraw
  19. SEC S3C2410X Test B/D 驱动
  20. CorelDRAW2022最新版本号V24.0.0.301订阅版

热门文章

  1. coreldraw怎样定数等分_CorelDRAW基础教程,教你cdr如何等分分割图片
  2. 职业经验分享之我是如何转行成为数据分析师的
  3. 第九届蓝桥杯 b组 明码
  4. 解决Configure TrackPoint重启后不能保存的问题
  5. chrome下载文件竟然都有缓存!
  6. DCDC和LDO的区别
  7. KODI(原XBMC)二次开发完全解析(一)
  8. Docker安装filebeat
  9. 深蓝学院 浙江大学免费开源课程 !
  10. java面试题:重写和重载的区别——详解