联系
我们
投稿
反馈
评论 返回
顶部

内容字号: 默认 大号超大号

段落设置: 段首缩进取消段首缩进

字体设置:切换到微软雅黑切换到宋体

手机主题让我日进斗金 分享建站无缝代码

2017-06-01 11:43 出处:互联网 人气: 评论(
site:30qq.cn 同城 site:::26qq.cn 五八同城招聘网 五八同城网 资讯 site:tc165.cn 58创业网 site::tc165.cn

  前天开始做了个手机主题的网站,观察了dede,风讯,动易,新云等CMS系统,其实也不用说那么多,本人最喜欢用的也就两个:风讯和dede。Dede功能这里就不用多说了,相信是人都知道其强大!可是后来还是选择的风讯。

  首先分析一下需求吧,手机主题站当然就涉及到手机品牌和手机型号这两个大类,手机品牌就做成栏目分类就ok了,这个无论那个CMS都能做到。手机型号本来想做成手机品牌下面的二级栏目,但是后来发现出问题了。因为一个手机主题可以属于多个品牌手机的多个机型,但是在CMS系统里面,一般一篇文章只能属于一个栏目,最多就是两个栏目,dede有副栏目,但是远远不够。想一下主题A同时属于诺基亚手机,三星手机,索爱手机甚至更多……那该怎么办?直接用现有的CMS是绝对不能做出一个好站来的。

  只有去修改CMS,做二次开发,才能做出比较好的主题站来。在下不太懂php,而且dede太强大,修改起来飞车麻烦!!!所以就选择了风讯,对风讯做二次开发。

  我仔细观察了一下风讯的栏目和专题结构,虽然可以把手机品牌做成分类栏目,再把手机机型做成专题,这样发布一个主题文章就可以从属于多个专题,但是无法从属于多个手机品牌,因为每个主题文章只能从属一个栏目。我又想到了另外一个办法,那就是在同一个主题从属于多个栏目的时候,在其他栏目新建标题文章,然后指向第一个主题文章地址,这样虽然比较麻烦,但只有这样才能关联起来。请看关系图:

  主题文章A ——》栏目A (诺基亚)——》专题机型1,专题机型2,专题机型3

  标题主题文章B(地址指向:主题文章A)——》栏目B(三星)——》专题机型1,专题机型2,专题机型3。

  注:——》表示从属于改分类下的文章。

  可是问题又出现了,在发布文章的时候,选择专题,系统调出的是整站的所有专题。我们要的效果应该是:我为诺基亚栏目添加内容,调出的是诺基亚的手机机型专题列表,而不是所有机型列表。但是风讯的专题原本是跟栏目无关联的,从这里开始就需要修改风讯系统了,接下来看看我是怎么修改的吧!

  第一步:添加数据库字段,Foosun_Data目录下面有个FS400.mdb,打开找到FS_NS_Special表,这个表格是存储风讯专题数据的,添加一个字段:ClassID。

 

     

所属分类:

 

      

            

                     请选择分类

              <%

                     Set obj_Class_Rs = server.CreateObject(G_FS_RS)

                     obj_Class_Rs.open "select ID,ClassName from FS_NS_NewsClass where ReycleTF=0",Conn,1,3

 

                     While not obj_Class_Rs.eof

              %>

                     " <% If Class_ID = obj_Class_Rs("ID") Then Response.Write "selected" %>><%=obj_Class_Rs("ClassName")%>

              <%

                     obj_Class_Rs.MoveNext

                     Wend

                     obj_Class_Rs.close

                     set  obj_Class_Rs = nothing

              %>

             

    

   

 

    第三步:找到Special_Save.asp文件

    在第22行尾部增加一个属性Class_ID。第35行下面增加代码,以获取提交classid

Class_ID = NoSqlHack(request.Form("newsCat"))

 

最后到第116行添加代码

obj_Save_Rs("ClassID") = Class_ID

        将分类id添加到数据库记录。这样专题就可以和栏目关联起来了。但是这样还不够,还没达到要求,我们是要方便添加文章,可以减少工作量。还需要修改那些呢?呵呵,当然是添加文章的asp文件了。 

第四步:在同样的目录下,找到News_add.asp文件。

       在第10行的dim处尾巴加上,ClassID,新增一个变量。

第28行的查询语句

GetClassAdPicInfoSql="Select IsAdPic,AdPicWH,……

修改为GetClassAdPicInfoSql="Select ID,IsAdPic,AdPicWH,……,添加对ID的查询。

然后在第30行If Not GetClassAdPicInfoRs.Eof Then下面添加一行代码:

ClassID=GetClassAdPicInfoRs("ID"),将classid数据取出来。

找到第179行

将onClick="SelectSpecial();"修改为onClick="SelectSpecial(<%=ClassID%>);"

       这个是为了将id传送到专题列表窗口,用于过滤掉非该栏目下的其他专题信息。鼠标转到该文件的680行,找到function SelectSpecial()函数,将这个函数改为:

function SelectSpecial(class_id),增加了class_id参数传递进来。

函数里有个语句

ReturnValue = OpenWindow('lib/SelectspecialFrame.asp,400,300,window);

修改为:

ReturnValue = OpenWindow('lib/SelectspecialFrame.asp?classID='+class_id,400,300,window);

 

到这里基本上快完成了,虽然代码很枯燥,但是多少还得学习一点,对于做个站来说是相当重要的!

      第五步:在Admin/News/lib目录下找到SelectspecialFrame.asp这个文件。

在该文件顶部插入以下代码:

<%

       Dim str_ClassID

       str_ClassID = Request("classID")

%>

然后在第15行

改为

将参数传送。 

第六步:找到Admin/News/lib目录下的SelectSpecial.asp。

在第8行dim定义变量后面添加,classID变量。在第10行添加代码:

classID = Request("classid")

找到33行附近的查询语句

TypeSql = "Select SpecialCName,SpecialEName from FS_NS_Special where isLock=0

在后面添加查询条件,语句变为:

TypeSql = "Select SpecialCName,SpecialEName from FS_NS_Special where isLock=0 and classID="& classID 

  大功告成!这样进入到诺基亚手机栏目下添加文章,掉出来的就是诺基亚下面的所有机型,过滤掉了其他品牌的机型了,很爽吧!这样就轻松的把风讯的分类栏目和专题无缝连接起来了。

  文章摘自:

  本代码仅供学习参考之用,如有需要可联系我要源代码。

分享给小伙伴们:
本文标签:

更多文章

相关文章

  • 蛮便宜
  • 抠门网
  • Copyright © 2002-2014 版权所有