php制作一个内容管理系统(cms)

合集下载

关于内容管理系统(CMS)的一点使用心得

关于内容管理系统(CMS)的一点使用心得

内容管理系统(CMS)使用心得前言:CMS是Content Management System 的英文简写,故名思议就是内容管理系统,我们习惯上把它叫做整站系统。

它的主要作用是利用先进的流程化管理理念,对文章、下载、用户等多内容模块进行整合,对网站进行集约化的管理。

最近一段时间人比较闲,有这么点时间来写些东西。

做网站也做了三四年了,经验不多,感想很多,写出了与大家分享,重点是做讨论,欢迎大家都参与进来,做一些有意义的互动,切实提高自己的建站水平。

这一章节呢,先谈谈现在流行的CMS系统。

主要针对面是有一定建站经验和技术水准的站长。

当然也欢迎老鸟们多多批评指正。

新手也可以择一二进行参考学习。

总之大家都能得到一二点感悟的话,我就很高兴了。

一、什么是CMSCMS是Content Management System 的英文简写,故名思议就是内容管理系统,我们习惯上把它叫做整站系统。

它的主要作用是利用先进的流程化管理理念,对文章、下载、用户等多内容模块进行整合,对网站进行集约化的管理。

它的优势在于整合,能有效降低管理成本和人力支出,能够方便的制作出门户级效果的网站。

CMS是流程化和集约化管理理念的产物,在国内流行是从04年初,近年来随着其较之其它单一内容系统的整合优势,越来越受到网站制作者特别是各方面能力有限的站长欢迎。

市场也越来越繁荣,从最初简单的国外PHPNUKE、XOOP到现在国内复杂的动易、风讯、CMSware、dedeCMS等,CMS有了长足的发展。

整合模块越来越多,功能越来越强,用户面也越来越广。

可以肯定的是,CMS在将来一个较长的时间段内,仍是网站建设的主流应用程序。

二、CMS的主要特点这一部分做一个表面抽象的评价,因为本人技术水平有限,也不是具体的开发者。

我们在实际使用中,也是较多的考虑其功能特性而不用关注其技术构成,那么就站在一个熟练用户的角度来谈一谈:1、多内容的整合前面讲了CMS的优势在于整合,我们的网站内容一般可以分为:新闻/文章、下载/共享、图片/Flash、影视/在线播放、留言/论坛等等。

PHPCMS V9模板制作教程

PHPCMS V9模板制作教程

PHPCMS V9模板制作教程2011年5月29日12:17第一节1、首先下载phpcms v9的集成安装包并安装,在官方论坛里很显眼的位置,这里就不详细说明了。

2、本地调试建议大家使用APMserver,或者wampserver等,可以到PHPCMS吧官方网站首页链接下载。

安装好打开v9的根目录“phproot→phpcms→templates”文件夹把“default”文件夹复制一份起名“redu”。

3、登陆v9后台登录地址:http://localhost/admin.php用户名:phpcms 密码:phpcms。

4、打开界面→模板风格→风格标识redu下的详细列表下的content文件夹。

5、大家熟悉一下后台的使用,这个必须掌握。

今天就写这些。

第二节课1、首先修改首页模板index.html修改前向大家介绍下v9的工作模式,v9和他的前身phpcms2008是一样的都是“标签调用头部 +首页部分+ 标签调用底部”所以按照从头开始的顺序第一步打开heard.html现在我们开始分析header.html的构造:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="/1999/xhtml">上面是W3C网页标准<head><meta http-equiv="Content-Type" content="text/html; charset={CHARSET}" />{CHARSET}" =字符集(gbk或者utf-8)<meta http-equiv="X-UA-Compatible" content="IE=7" /><title>{if isset($SEO['title']) && !empty($SEO['title'])}{$SEO['title']}{/if}{$SEO['site_title']}</title>判断语句翻译:如果设置了标题并且标题不为空,则显示标题,否则显示网站名称<meta name="keywords" content="{$SEO['keyword']}"><meta name="description" content="{$SEO['description']}"><link href="{CSS_PATH}reset.css" rel="stylesheet" type="text/css" /><link href="{CSS_PATH}default_blue.css" rel="stylesheet" type="text/css" />上面2行是外部css的调用{CSS_PATH}<script type="text/javascript" src="{JS_PATH}jquery.min.js"></script><script type="text/javascript" src="{JS_PATH}jquery.sGallery.js"></script><script type="text/javascript" src="{JS_PATH}search_common.js"></script>上面3行是网页的js调用</head><body><div class="body-top"><div class="content">{pc:content action="position" posid="9" order="id" num="10" cache="3600"}<div id="announ"><ul>{loop $data $k $v}<li><a href="{$v[url]}">{$v[title]}</a></li>{/loop}</ul></div>{/pc}<script type="text/javascript">$(function(){startmarquee('announ',22,1,500,3000);})</script><div class="login lh24 blue"><a href="{APP_PATH}index.php?m=content&c=rss&siteid={get_siteid()}" class="rss ib">rss</a><span class="rt"><script type="text/javascript">document.write('<iframe src="{APP_PATH}index.php?m=member&c=index&a=mini&forward='+encodeURIComponent(location.href)+'&siteid={ get_siteid()}" allowTransparency="true" width="300" height="24" frameborder="0" scrolling="no"></iframe>')</script></span></div></div></div><div class="header"><div class="logo"><a href="/"><img src="{IMG_PATH}v9/logo.jpg" /></a></div>下面是搜索部分<div class="search"><div class="tab" id="search">{php $j=0}{php $search_model = getcache('search_model_'.$siteid, 'search');}{loop $search_model $k=>$v}{php $j++;}<a href="javascript:;" style="outline:medium none;" hidefocus="true" {if $j==1 && $typeid= $v['typeid']} class="on" {/if}>{$v['name']}</a>{if $j != count($search_model)}<span> |</span>{/if}{/loop}{php unset($j);}</div> <div class="bd"><form action="{APP_PATH}index.php" method="get" target="_blank"><input type="hidden" name="m" value="search"/><input type="hidden" name="c" value="index"/><input type="hidden" name="a" value="init"/><input type="hidden" name="typeid" value="{$typeid}" id="typeid"/><input type="hidden" name="siteid" value="{$siteid}" id="siteid"/><input type="text" class="text" name="q" id="q"/><input type="submit" value="搜索" class="button" /></form></div></div>搜索部分结束<div class="banner"><script language="javascript" src="{APP_PATH}index.php?m=poster&c=index&a=show_poster&id=1"></script></div><div class="bk3"></div><div class="nav-bar"><map>{pc:content action="category" catid="0" num="25" siteid="$siteid" order="listorder ASC"}<ul class="nav-site"><li><a href="{siteurl($siteid)}"><span>首页</span></a></li>{loop $data $r}<li class="line">|</li><li><a href="{$r[url]}"><span>{$r[catname]}</span></a></li>{/loop}</ul>{/pc}</map></div>{if $top_parentid}<div class="subnav">{pc:content action="category" catid="$top_parentid" num="15" siteid="$siteid"order="listorder ASC"}{loop $data $r}<a href="{$r[url]}">{$r[catname]}</a><span> | </span>{/loop}{/pc}{if $modelid}<a href="{APP_PATH}index.php?m=content&c=search&catid={$catid}">搜索</a>{/if}</div>{/if}</div>建议下载个opera浏览器他的检查页面元素功能超赞!第四节{template "content","header"}调用根目录下phpcms/template/content/header文件<!--main-->这个是模版注释!建议一定要养成写代码加注释的习惯这个是div标签,不知道什么是div可以的去网上找些教程学习下,这个都不了解就没必要继续看了<!--这里是pc标签{pc:content 参数名="参数值" 参数名="参数值" 参数名="参数值"}--> {pc:content action="position" posid="2" order="listorder DESC" num="4"}<!--显示PC标签中的数据-->{loop $data $r}{str_cut($r[title],36)}{if $n==1}{/if}{str_cut($r[description],112)}{/loop}{/pc}<!--结束标签--><!--这里还是pc标签-->{pc:content action="position" posid="1" order="listorder DESC" thumb="1" num="5"} {loop $data $r}{/loop}{/pc}推广{pc:block pos="index_block_1"}{/pc}图片新闻{pc:content action="position" posid="12" thumb="1" order="id DESC" num="10"} {loop $data $r}{str_cut($r[title],20)}{/loop}{/pc}{loop subcat(0,0,0,$siteid) $r}{php $num++}{$r[catname]}更多>>{pc:content action="lists" catid="$r[catid]" num="1" thumb="1" order="id DESC" return="info"}{loop $info $v}{str_cut($v['title'],28)}{str_cut($v['description'],100)}{/loop}{/pc}{pc:content action="lists" catid="$r[catid]" num="5" order="id DESC" return="info"} {loop $info $v}·{str_cut($v['title'],40)}{/loop}{/pc}{if $num%2==0}{/if}{/loop}公告{pc:announce action="lists" siteid="$siteid" num="2"}{loop $data $r}{$r['title']}{/loop}{/pc}专题更多>>{pc:special action="lists" siteid="$siteid" elite="1" listorder="3" num="2"}{loop $data $r}{if $n!=1}{/if}{str_cut($r[title],'18')}{str_cut($r['description'],50)}{/loop}{/pc}热点 | 评论 | 关注排行{pc:content action="hits" catid="35" num="10" order="views DESC"}{loop $data $r}{$r[title]}{/loop}{/pc}{pc:comment action="bang" num="10" cache="3600"}{loop $data $r}{$r[title]}{/loop}{/pc}{pc:content action="hits" catid="35" num="10" order="views DESC"}{loop $data $r}{$r[title]}{/loop}{/pc}{pc:link action="type_list" siteid="$siteid" linktype="1" order="listorder DESC" num="8" return="pic_link"}{loop $pic_link $v}{/loop}{/pc}{pc:link action="type_list" siteid="$siteid" order="listorder DESC" num="10" return="dat"} {loop $dat $v}{if $type==0}{$v[name]} |{else}{/if}{/loop}{/pc}$(function(){new slide("#main-slide","cur",310,260,1);//焦点图new SwapTab(".SwapTab","span",".tab-content","ul","fb");//排行TAB}){template "content","footer"}第三节1、养成书写规范的DIV标签搜索引擎优化(seo)中,对代码的优化也是一个很关键的步骤。

cms二次开发概念

cms二次开发概念

CMS二次开发是指在现有的CMS软件上进行定制修改和功能扩展,以达到满足特定需求的目的。

一般来说,CMS二次开发不会改变原有系统的内核,而是通过修改和增加功能模块来实现个性化需求。

以phpcms为例,phpcms是国内领先的网站内容管理系统,同时也是一个开源的PHP开发框架。

它采用模块化开发,支持多种分类方式,使用它可方便实现个性化网站的设计、开发与维护。

它支持众多的程序组合,可轻松实现网站平台迁移,并可广泛满足各种规模的网站需求,可靠性高,是一款具备文章、下载、图片、分类信息、影视、商城、采集、财务等众多功能的强大、易用、可扩展的优秀网站管理软件。

Phpcms由内容模型、会员、问吧、专题、财务、订单、广告、邮件订阅、短消息、自定义表单、全站搜索等20多个功能模块组成,内置新闻、图片、下载、信息、产品5大内容模型。

Phpcms 采用模块化开发,支持自定义内容模型和会员模型,并且可以自定义字段。

这为二次开发提供了很大便利。

进行CMS二次开发时,可以根据实际需求选择相应的开发方式和技能进行开发。

如果只是修改模板,需要了解CMS的标签语法和相关技术的基础知识;如果涉及到程序开发等问题,那么还需要深入了解CMS的文件结构、文件作用,并且对PHP面向对象有一定层次的了解。

Web前端开发中的内容管理与CMS系统

Web前端开发中的内容管理与CMS系统

Web前端开发中的内容管理与CMS系统Web前端开发在当今数字化时代具有重要地位,每个网站的成功与否很大程度上取决于内容的管理和发布。

为了实现高效的内容管理,许多网站采用了内容管理系统(CMS)。

本文将介绍Web前端开发中的内容管理与CMS系统的相关概念和应用。

一、内容管理的重要性在Web前端开发中,内容是用户访问网站的核心。

良好的网站内容管理可以提高用户体验,增加访问量和用户留存率,进而提升网站的影响力和竞争力。

内容管理包括内容的创建、编辑、组织、存储和发布等多个环节,它需要一个高效的系统来支持和管理。

二、内容管理系统(CMS)的概念内容管理系统(CMS)是一种用于创建、编辑、组织和发布内容的软件系统。

它提供了一个可视化的界面和工具,使非技术人员也能轻松管理网站的内容。

CMS系统具有灵活的模块化架构,可以根据网站的需求进行定制和扩展。

三、CMS系统的特点和功能1. 可视化管理界面:CMS系统提供直观易用的管理界面,使非技术人员能够方便地创建和编辑网站内容,无需编写代码。

2. 内容审批和发布:CMS系统支持多人协作,可以设置内容审批流程和权限,确保内容的质量和安全性,并且可以按计划或手动发布内容。

3. 内容分类和组织:CMS系统提供灵活的分类和标签功能,便于对内容进行组织和检索,使用户能够快速浏览和找到所需内容。

4. 多媒体管理:CMS系统支持图片、视频、音频等多媒体内容的管理和展示,丰富了网站的呈现方式。

5. SEO优化:CMS系统提供了优化网站搜索引擎排名的功能,如自定义URL、元标签等,帮助网站获得更好的曝光度。

6. 响应式设计:CMS系统支持响应式设计,能够适应不同屏幕尺寸和设备,提供良好的用户体验。

7. 社交媒体集成:CMS系统可以方便地与社交媒体平台集成,分享网站内容到社交媒体,扩大内容的传播范围。

四、常见CMS系统的比较市场上有许多CMS系统可供选择,其中一些比较流行的包括WordPress、Drupal、Joomla等。

phpcms v9 仿站与二次开发收藏集

phpcms v9 仿站与二次开发收藏集

phpcms v9问题博客分类:php内容管理系统phpcms 登录总是提示“验证码输入错误”,分明没有输错的解决修改"/caches/configs/system.php"当中session_storage => 'mysql'为session_storage => 'files'并且流量器中的域名要和system.php中的一致此模块未安装或者已被禁用原因模块 > 模块管理 > 模块管理 >中对应的模块没有安装解决在module表中添加相关记录前台页面报:栏目不存在解决扩展 > 扩展 > 更新全站缓存 >添加module在module,menu表中也要添加修改后台左侧导航phpcms\modules\admin\templates\left.tpl.phpphpcms\modules\admin\class\admin.class.php admin_menuphpcms\modules\admin\templates\index.tpl.php位置:扩展 > 扩展 > 菜单管理 >说明:一、本功能用于后台各功能菜单的设置操作。

二、为系统分配权限调用,所有系统用到的功能方法,都需要添加到菜单管理里。

一、添加菜单添加菜单分为全新添加和在已有菜单处添加子菜单。

二种方法仅在上级菜单默认值处有异,其它相同。

全新添加:添加功能菜单时,首先选择上级菜单目录。

填写中英文对应菜单名称,所在模块名,及对应文件和处理方法名。

如有参数,请于下填写参数信息。

如下图所示如选择显示菜单,则在导航处显示,反之不显。

以上图为例,选择不显示,图示如下二、菜单管理菜单管理仅涉及编辑,修改、排序等操作在此不再详述。

∙∙大小: 10.1 KB∙∙大小: 14.8 KB∙∙大小: 5.9 KB∙∙大小: 1.6 KBphpcms v9模板制作教程(四)发布时间:2012-05-20 20:12:38 来源:天行子点击:12phpcms v9模板制作教程(四)在学下节课之前我先讲些学前需要知道的知识1、养成书写规范的DIV标签搜索引擎优化(seo)中,对代码的优化也是一个很关键的步骤。

phpcmsv9二次开发手册

phpcmsv9二次开发手册

PHPCMS V9 二次开发文档文件目录结构根目录| - api接口文件目录| - caches缓存文件目录| -configs系统配置文件目录| - caches_*系统缓存目录| - phpcms phpcms 框架主目录| - languages 框架语言包目录| - libs 框架主类库、主函数库目录| - model 框架数据库模型目录| - modules 框架模块目录| - templates 框架系统模板目录| - phpsso_server phpsso 主目录| - statics 系统附件包| -css系统css包| - images 系统图片包| - js 系统js 包| - uploadfile 网站附件目录| - admin.php 后台管理入口| - index.php 程序主入口| - crossdomain.xml FLASH 跨域传输文件| - robots.txt 搜索引擎蜘蛛限制配置文件| - favicon.ico 系统icon 图标PC标签使用说明在PHPCMS V9中我们正式开始需要PC标签做为数据的获取的方式。

PC标签是以下面的方式进行声明{pc:content action="lists" cache="3600" num ="20" page="$page"}{/pc}PC标签必须以{pc}开头,并以{/pc}结尾的代码片段。

当然不以{/pc}结尾并不会引起程序致命性的错误,导致程序无法继续运行。

以下为两种已知可能会出现的问题:1.当网页中出现两个PC标签时,可能会使得没有闭合的PC标签之后的PC标签数据和其混乱。

2.在后台可视化编辑时,可能出现网页结构错乱的问题。

PC标签分析:PC标签中{pc:}冒号之后跟随的为模块名。

如上面的例子中调用的是内容模型的PC标签。

actio n="list"这个形式所代表的是参数。

网站后台管理系统

网站后台管理系统

效益型V3.0 网站后台管理系统操作指南网络营销服务中心目录一、系统运行环境 (3)二、操作系统概述 (3)三、栏目管理模块操作 (7)1. 栏目列表 (7)2. 栏目添加 (11)四、产品模块操作 (11)1. 添加产品 (11)Title标签、Keywords标签、Description标签说明 (12)2. 产品列表 (14)3. 产品批量上传 (14)4. 添加分类 (15)5. 分类列表 (15)五、首页广告模块操作 (16)1. 添加广告 (17)2. 广告列表 (17)六、友情链接模块操作 (17)1. 添加链接 (17)2. 链接列表 (18)七、权限管理模块操作 (18)1. 添加管理员 (18)2. 管理员列表 (19)3. 修改我的密码 (20)八、网站管理模块操作 (20)1. 网站设置 (20)2. 语言管理 (23)3. 主题管理 (24)4. 邮件模版 (24)5. 数据库备份 (25)6. 数据库优化 (25)一、系统运行环境PHP运行环境:Linux 操作系统/ PHP5以上/ Mysql 数据库/ Zend Optimizer 3.2.8 .NET运行环境:Window 操作系统/ .net 3.5 以上/ Mssql 数据库技术支持: 二、操作系统概述效益型网站第一品牌,一切为了效益,感谢您使用效益型3.0网站后台管理系统。

图(2-01)如图(2-01)窗口中的用户名和密码。

当用户输入用户名和密码之后,用鼠标左键点击确定按钮即可进入系统。

如果用户忘记密码,可点击这里找回进入找回密码页面,提交用户名和E-mail找回密码,前提是系统已经配置好邮件转发功能,而且是要管理员的E-mail。

图(2-02)如图(2-02)窗口为用户登录后的操作系统界面,界面框架主要由头部、左部、右部(主窗口)三部分组成。

1. 头部:由NITC的LOGO及三组按钮组成。

第一组:转到前端:点击打开网站前台首页,旨在方便后台操作后转到前台浏览效果。

9织梦CMS

9织梦CMS

int(5),自动递 arctype 增,主键 char(30) arctype
注意:文章标题(title字段)存储archives表中,文章内容(body字 段)存储在addonarticle表中。文章表archives中只存储了栏目id字段 (typeid),栏目名称(typename)存储在arctype表中。
为什么需要字段底层模板呢?这是因为dedecms中的标 签不允许嵌套(但channelartlist标签例外),即标签中 不能出现另一个标签。因此以下代码是错误的: <li>{dede:type typeid='2'} {dede:field name='typename'/}{/dede:type}</li> 而底层模板却可以写在标签里。根据栏目ID输出栏目名 称正确的写法如下: <li>{dede:type typeid='2'} [field:typename /]{/dede:type}</li> 基于上述原因,[field]底层模板比{field}标签更加常用, {field}标签仅用在单独输出某个字段值的时候,并且 {field}标签一般只出现在列表页和文章内容页,很少用 在首页里。
4. 字段底层模板([field])
将field写在方括号内,则[field]代表底层模板,底层模 板用于根据外层标签输出数据表或系统分配的字段值。 其语法格式为:
[field:字段名 /]
或:
[field:字段名]…[/field:字段名]
例如:[field:arcurl /]表示文章的链接地址,[field:title /] 表示文章标题。[field…]底层模板中可以使用的字段与 {field}标签相同
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

制作一个内容管理系统(CMS)一、什么是CMS二、需求分析三、相关策划1、后台策划2、前台策划四、系统架构1、环境选择2、选择框架3、数据结构设计4、目录结构五、后台开发1、后台文件结构2、栏目功能开发3、文章功能开发六、前台实现主要介绍的是如何使用已有的框架制作一个内容管理系统,讲解了什么是CMS、为什么CMS、开发前的需求分析、相关策划、系统架构及前后台的开发。

一、什么是CMS内容管理系统组织和协助共同合作的内容的结果,是指用于管理及方便数字内容的系统。

内容是任何类型的数字信息的结合体,可以是文本、图形图像、Web页面、业务文档、数据库表单、视频、声音、XML文件等。

应该说,内容是一个比数据、文档和信息更广的概念,是对各种结构化数据、非结构化文档、信息的聚合。

管理就是施加在“内容”对象上的一系列处理过程,包括收集、存储、审批、整理、定位、转换、分发、搜索、分析等,目的是为了使“内容”能够在正确的时间、以正确的形式传递到正确的地点和人。

内容管理可以定义为:协助组织和个人,借助信息技术,实现内容的创建、存储、分享、应用、检索,并在企业个人、组织、业务、战略等诸多方面产生价值的过程。

而内容管理系统就是能够支撑内容管理的一种工具或一套工具的软件系统。

目前的内容管理系统多如牛毛,不管是开源的,还是收费的,都有不少优秀的产品。

但是在开发一些中小型网站的时候,使用一些当前流行的内容管理系统都不太顺利,发现它们都普遍存在着一些问题。

传统的内容管理系统除了基本的后台内容管理功能,通常包括了网站开发的功能。

这样虽然降低了制作网站的技术门槛,让不懂程序的人也能制作出门户网站,但是很大程度上牺牲了网站前端的灵活性。

在交互设计和用户体验越来越重要的今天,缺乏独立性的网站前端已经不能满足互联网应用日益多样化的需求。

另一方面强大的功能大大增加了系统的复杂性,不管是对网站管理者还是内容发布者来说,传统的内容管理系统学习成本都很高。

于是就想能不能自己开发一个轻量级的内容管理系统,解决上述的问题,满足中小型网站的外包开发需要?希望使用它能够达到这些目标。

灵活独立:网站后台管理的开发与网站本身的开发完全分离,只是管理数据库里的数据,不关心数据如何在页面呈现,保持网站前端的独立性和灵活性。

快速部署:一个中小型网站在开发完之后,使用这个内容管理系统能够在半天之内把后台管理部署出来。

简单易用:即使对软件操作不太熟悉的用户都能顺利使用内容管理系统发布网站内容。

扩展性强:开放的API接口,让后期开发人员能够容易地开发扩展功能,或者将服务器端程序扩展到其他平台,例如.NET或者Java。

二、需求分析鉴于现在网站后台做的最多和最基本是对文章进行管理,这里就以内容管理系统中的文章管理为一个例子。

当然这个文章系统鉴于篇幅的关系,所做的功能也没有很全面。

但基本上要满足栏目的动态添加和删除,以及对栏目下文章进行管理的功能要求。

还需要做到前台的视图和代码分离,便于以后多风格的前台界面更换。

三、相关策划通常提出需求的人只要求大体的功能要实现什么,而具体的那些细节他们一般不提(或者说他们也不清楚)。

所以就需要策划来分析,到底对于这些需求需要做哪些功能,哪些需要注意等。

如果还有不确定的因素还需要积极地和需求方沟通交流。

下面是对这个系统做的策划,采用图片和文字相结合的说明方式,这样更利于实现此功能的程序员理解和操作。

其中图片是使用画图工具直接手工绘制的,如果要求高些或者可以用Photoshop之类的绘图软件来画。

1、后台策划首先要实现的就是后台的管理,因为最常用到的是新闻的添加和删除,所以最先看到的是对新闻列表的管理。

文章列表由上图可以看到,这个是进入后台所看到的第一个界面也是新闻管理的界面。

其中的列表是针对所有新闻的管理,在这个界面上可以很方便地找到相关的操作按钮。

之后要做的就是添加文章时的策划。

文章表单添加文章和修改文章的页面可以共用一个,主要包括3个属性:文章所属栏目、文章标题及文章内容。

还需要有文章的添加时间,这个可以在做程序时让其自动生成。

文章部分的大体策划已经完成,接下来是做系统栏目的规划。

与文章一样,首先做的是列表的策划。

栏目列表栏目策划的列表显示与新闻列表大致相同,只是因为栏目本身的数量不多,所以省略掉了分页和搜索的功能。

增加排序字段,用于在前台显示时栏目的前后位置摆放。

接下来是系统栏目的内容页。

栏目表单2、前台策划那么到现在,后台的基本功能都已经策划完毕。

接下来就剩下前台页面的显示,这里因为不是做网站所以要求也很简单,只要显示系统的栏目和新闻即可。

其他还应该包括栏目下的文章列表显示页面与单个文章的详细内容显示,因为都是差不多,这里就不一一列举出来。

网站首页四、系统架构一般来说一个策划出来以后需要更改多次,最后确定终稿。

然后再由美工人员把页面都设计完成。

但是因为这里做的系统只是功能上的实现,这些步骤都省略了。

接下来就要讨论,这个系统运行的环境、数据存储的地方、数据结构等信息。

1、环境选择这个系统的运行环境基本是PHP+MySQL的组合,同时满足Liunx和Windows的操作系统环境。

选择集成安装包的目的主要有两个,一个是方便快捷并能在多种系统下同样适用,第二个是因为它能进行很便捷相关的配置改动或者升级。

2、选择框架那么现在已经有了PHP的运行环境,需要设定是否需要使用PHP的框架开发。

单就这系统来讲,可用可不用,因为需要的实现功能不多,维护也比较容易。

3、数据结构设计在数据库的设计上需要两个表一个是栏目表。

(1)栏目表(2)文章表以上两个数据表可以记录这个文章系统所需要的所有信息。

另外需要说明的是,为了保持较好的兼容性,不管是在多语言的问题上还是和其他程序相结合,数据库和表的编码统一采用“UTF-8”编码。

注意:其中表名和字段名都统一为小写字母,并适当地加上易于区别的前缀。

这个主要是因为现在的各种操作系统对大小写敏感的支持不同,所以统一使用小写便于在平台间的迁移。

4、目录结构网站的目录统一用小写字母和数字,特别是不要使用中文。

统一这个,是为了在不同的操作系统间有更好的兼容性。

总结常使用到的目录,初步构建的网站目录。

目录结构admin是后台管理目录,image是需要用到的图片目录,js是放置脚本的目录,include是需要引用的一些公共文件目录,template是模板目录。

此目录结构是提前设计的,如在开发过程中有新的需求可以另行添加。

五、后台开发后台开发主要分栏目功能开发和文字功能开发两部分。

因为这两个有很多地方是相同的,所以本节会着重讲解文章功能开发的过程。

1、后台文件结构当浏览器访问后台时,首先解析显示的是后台目录admin下的index.php文件。

它是一个框架页面,包含了3个子页面。

代码22-1 后台框架页<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>后台框架</title></head><frameset rows="80,*" cols="*" frameborder="yes" border="1" framespacing="0"> <frame src="top.php" name="topFrame" scrolling="No" noresize="noresize" id="topFrame" title="topFrame" /> <!-- 顶部页面 --><frameset cols="180,*" frameborder="yes" border="1" framespacing="0"><frame src="menu.php" name="leftFrame" scrolling="No" noresize="noresize" id="leftFrame" title="leftFrame" /> <!-- 左边页面 --><frame src="article.php?act=list" name="mainFrame" id="mainFrame" title="mainFrame" /><!-- 主页面 --></frameset></frameset><noframes><body></body></noframes></html>由以上代码可以看到这个页面其实本身没有什么内容,而是包含有3个子页面,分别为顶部的“top.php”页面、左边菜单页面“menu.php”和最初开始显示的“article.php?act=list”页面。

为什么是最初开始显示的页面呢?因为在这个页面中的内容是可以随着左边菜单的选择而呈现出不同页面的。

在框架页面中,如果要替换其页面可以将相应的超级链接中的“target”属性赋值为需要在那个页面显示的“name”值。

顶部页面只是显示系统名字,这里就不再赘述。

下面来看左边的“menu.php”菜单页面。

菜单页面<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>菜单页面</title></head><body><table width="100%" border="0" cellspacing="0" cellpadding="0"><tr><td>&nbsp;</td></tr><tr><td><a href="article.php?act=list" target="mainFrame">文章管理</a></td> <!-- 文章列表 --></tr><tr><td>&nbsp;</td></tr><tr><td><a href="category.php?act=list" target="mainFrame">栏目管理</a></td> <!-- 栏目列表 --></tr><tr><td>&nbsp;</td></tr></table></body></html>菜单页面也很简洁,这里主要讲解的是两个超级链接。

相关文档
最新文档