然网站广告投放没有最好的解决
方案,通常开发人员也会通过页面的修改进行网站广告的投放, 但是这里还是选择一个折中的方案,就是自定义控件的开发,自定义控件的开发可以通过编程的方法在 页面中进行广告的控制和筛选,相比固定投放位置而言,在维护过程中更加的方便.从上述流程中可以 基本规划几个自定义控件: 文字广告自定义控件:专门用于呈现文字广告的自定义控件. 图片广告的自定义控件:专门用于呈现图片广告的自定义控件. 图文广告的自定义控件:专门用户呈现图文广告的自定义控件. 高级广告呈现控件:可以通过属性进行控制广告的呈现. 广告发布页面:管理员可以通过该页面进行广告发布.
575
广告呈现页面:管理员发布的广告能够在一个或多个页面进行呈现. 广告管理页面:管理员能够为不需要使用的广告进行管理. 通过编写多个自定义控件进行广告控制,也可以通过编写一个广告控件进行广告控制,同时管理员 能够方便在后台进行广告发布并能够轻松的呈现在前台页面.
24.2.2
模块流程分析
在对业务进行了基本的划分之后, 可以为模块进行基本的流程分析, 包括这个模块中最基本的函数, 以及这些函数在页面中是如何执行的.其中广告模块中需要开发广告发布页面,广告发布页面能够让管 理员快速的发布广告,并选择广告发布的类型和位置,这样就能够轻松进行广告的发布,同时管理员也 应该能够进行广告的管理,包括修改和删除,如图 2
4-2 所示.
图 24-2
管理员发布流程
管理员能够在广告后台发布广告,修改广告和删除广告,当对广告进行修改后可以选择对广告再次 进行投放,投放完成后就能够在页面进行呈现.对于上述流程可以分别开发若干个页面进行功能整合, 如图 24-3 所示.
图 24-3
管理员操作页面划分
管理员在后台只需要进行广告管理等操作,而对于页面呈现,只需要从自定义控件中选取相应的数 据并通过编程的方法进行整合呈现即可,而其中最重要的是如何进行页面呈现,只有灵活的将同类广告 进行页面呈现才能够避免重复广告的出现.
576
24.3 数据库设计
对于广告模块的数据库设计可能比较的复杂,其复杂并不在数据库设计的本身上,数据库本质上就 是一种存储数据的容器,而如何进行数据筛选在广告模块中是一个最为重要的过程,对于数据库的设计 就需要考虑到广告模块中的数据筛选.
24.3.1
数据库
设计分析
对于广告模块的数据库设计, 需要加强数据条目的筛选功能, 例如数据库中对广告的类型进行筛选, 以选择不同类型的广告的不同呈现方式.在广告设计中,需要设计 3 个表,这三个表分别为 ads,type 和 adclass.其中 ads 表用于存放广告数据,其字段如下所示. 广告编号:表示广告的 ID 号,为自动增长的主键. 发布时间:表示广告发布的时间. 结束时间:表示广告发布结束的时间. 广告名称:作为广告的标识而存在,用于表示广告的名称. 广告内容:作为广告的内容而存在,可以是文字也可以是 HTML 代码. 广告备注:作为广告的备注而存在,用于标识备注信息. 广告图片:作为图片广告的图片连接. 广告连接:作为外部连接的广告的地址. 广告标题:作为广告的标题. 广告 html:作为广告呈现的
HTML 代码,可以为 JavaScript 代码. 广告类型:作为广告的类型而存在,类型没描述在 type 表中. 聚合类型:作为广告的广告 ID 而存在,用于归纳同类广告. 其中 type 表用于存放广告的类型数据,其字段如下所示. 分类编号:表示广告类型的 ID 号,为自动增长的主键. 分类名称:表示广告类型的描述,例如文字,图片等. 其中 adclass 表示广告显示的类型,使用 ads 表的 adid 表示可以表示广告在页面中呈现的归纳,其 字段如下所示. 聚合分类编号:表示广告类型的 ID 号,为自动增长的主键. 分类名称:表示广告存放类型的描述,例如头部广告,底部广告. 对于广告模块来说,其数据表比较多,为了方便维护