账号通
    

账号  

密码  

5523

查看

11

回复
主题:[原创]个人自学科讯系统经验总结——终结帖 [收藏主题] 转到:  
fuguojian 当前离线

1070

主题

3

广播

1

粉丝
添加关注
级别:八年级

用户积分:2178 分
登录次数:112 次
注册时间:2009/2/16
最后登录:2019/6/28
fuguojian 发表于:2009/8/23 17:28:00   | 只看该作者 查看该作者主题 楼主 
科汛在线商城系统(NET)

      本人即将转向PHP的cms的研究了,毕竟asp的趋势在慢慢消退,会有那么一天的,至少五年内肯定不会;希望科讯官方再接再厉,把.net的科讯CMS赶紧完善出炉。


 


      自09年初,由于自己所在公司项目需要,要做的网站功能多,用公司自己的后台系统实现比较大点儿网站比较麻烦,所以才用到科讯的CMS系统(ASP),本人一直用5.52的系统,V6.0虽说出来正式版了,界面确实比较漂亮比起5.52,赞一下! 但是BUG还是太多了 。(个人建议暂时各位已上线的站保持5.52,等6.0更完善了再转。)


     说真的,科讯的系统确实比较好上手,后台界面比较人性化,虽说在某些功能上还存在一些BUG,还是不错的饿,希望官方继续改正修复。 再此,对于科讯系统提出几点儿意见,望继续更加完善:


 


1、后台操作的可视化功能要完善下,仍有bug。


2、论坛系统,还是建议能用php的最好不过了,动易论坛个人不太中意(可能是个人喜好罢了)。


3、希望能开放更多些模块使用。


4、会员系统一直不够好,不说界面了,某些功能还待加强完善。


 


 


     好了,废话就少说点儿啦,意见一时是想不太全的,在这里把我整理的经验发送上来,希望新手,老手都能看看,有些是我在论坛收集的帖子整理的,有些是自己使用后总结的,希望对大家有用。


 


———————————————————华丽的分割线——————————————————————


 


》》SQL语句的条件判断里面特殊标签的说明(你也可以配合着and或者or用):


1.取得当前栏目:Tid ='{$CurrClassID}' 


2.调用推荐文章:Recommend = 1


3.调用头条新闻:Strip = 1


4.图片文章: picnews=1


5.具体幻灯属性: slide=1


6.已通过审核的文章: verific=1


7.按文章ID号降序,即最后添加的文章,排列在最前面:order by id Desc(每次写SQL语句在后面加上最好。)


8.按文章ID号升序,即最先添加的文章,排列在最前面:order by id Asc(它是默认值)



9.
(1).调用模型里面的所有一级栏目:
 select top 50 id,foldername from ks_class where tj=1 and topflag=1 and channelid=5 order by folderorder


 备注:channelid=5 是指调用某个模型系统下的,如1是文章系统。


语句:<div><a href="{$Field(id,GetInfoUrl,100,1)}">{$Field(foldername,Text,0,...,0,)}</a></div>


(2).如果调用模型一级栏目下的二级栏目的话:
SQL查询语句:select top 50 id,foldername from ks_class where tn='{$Param(0)}' order by folderorder


语句:<a href="{$Field(id,GetInfoUrl,100,1)}">{$Field(foldername,Text,0,...,0,)}</a>


 



10.以下三个标签请在Title中经常用,有助于网站优化排名:
     网站标题:{$GetSiteTitile}
     栏目名称:{$GetClassName}
     文章标题:{$GetArticleTitle}


注解:建议大家尽量不要在整个网站通用一个标题title,百度容易出现只收录你网站的首页,而别的页面不收录,我建议呢,首页一个页头“{$GetSiteTitile}”,栏目页一个页头“:{$GetClassName}_{$GetSiteTitile}”,详细内容页也一个页头:“{$GetArticleTitle}_{$GetClassName}_{$GetSiteTitile}”   都加在网页的title标签里面哈,建三个静态标签分别一调用,很容易的。


 


11、建议大家少用Ajax的功能,百度对于Ajax直接忽视的,为了网站收录考虑在建SQL标签的时候最好建议不要选上AJAX,以前本人曾遇到过,用了Ajax,CSS样式不按照规范显示。


 


12、请注意,修改模板的时候强烈建议大家用文本编辑方式打开模板,复制粘贴到DW里面修改后,再复制粘贴到模板里面保存,用“可视化的编辑”容易被科讯自动删掉html声明,导致CSS样式对于某些标签识别不了,这是一个BUG。


 



——————————————————————————————————————————————————————


如果你慢慢看,把下面的SQL语句的使用看懂了,那么你做网站的SQL标签话很容易的,自我感觉SQL自定义很强大,个人平时一般很少用“官方的标签”。



《1》、1、针对某一个数据表的每个栏目只调用1篇文章:
sql语句:
select top 10 id,tid,title,adddate from ks_Article a where a.id in(select top 1 id from ks_Article where tid=a.tid) order by a.id desc


loop语句:
[loop=10]{$Field(tid,GetClassUrl,111,0)}|<li><a href="{$Field(id,GetInfoUrl,111,1)}">{$Field(title,Text,0,0,0,)}</a></li>[/loop]



《2》、2、针对某一个栏目调用底下二级栏目的每个栏目只调用一篇文章:
sql语句:
select top 10 id,tid,title,adddate from ks_Article a where a.id in(select top 1 id from ks_Article where tid=a.tid) and a.tid in(select id from ks_class where TN='20078080360186') order by a.id desc



对于上述的语句若有三级栏目四级栏目的话把TN='20078080360186'改成 ts like '%20078080360186%'
其中 20078080360186是你的栏目号
loop语句:
[loop=10]{$Field(tid,GetClassUrl,111,0)}|<li><a href="{$Field(id,GetInfoUrl,111,1)}">{$Field(title,Text,0,0,0,)}</a></li>[/loop]



若是调用两篇的话LOOP代码如下:
<div class="loop">
[loop=24]{$IF({$AutoID} mod 2=0||<li class="right"> <a href="{$Field(id,GetInfoUrl,111,1)}">{$Field(title,Text,21,0,0,)}</a></li></ul>||
      <ul><li class="left"><span>{$Field(tid,GetClassUrl,111,0)}</span>:<a href="{$Field(id,GetInfoUrl,111,1)}">{$Field(title,Text,23,0,0,)}</a></li>)}[/loop]</div>



————————————————————————————————————————————————————


 


有些东西举一反三的在你网站上使用,其实很实用的。


 


》》1.SQL_调用推荐的第一条()


条件:至少有一篇文章设置了推荐
语句:select top 1 ID,Tid,Title from KS_Article where Recommend = 1 order by ID desc
调用:{SQL_调用推荐的第一条()}


 


》》2.SQL_调用推荐2到10 () ----------------------PS:为什么要从2开始呢,有些人就有些BT的需求,比如我,后面还会有任意条到任意条....


条件:有10条以上被设置推荐
语句:select top 9 ID,Tid,Title,Adddate from KS_Article where ID not in (select top 1 ID from KS_Article where Recommend = 1 order by ID desc ) order by Recommend desc
调用:{SQL_调用推荐2到10()}



》》3.SQL_站点头条()


条件:至少有一篇被设置了头条
语句:select top 1 ID,Tid,Title,Adddate from KS_Article where Strip = 1 order by Adddate desc
调用:{SQL_站点头条()}



》》4.SQL_调用某栏目TOP10(Param(0))


条件:栏目里有文章---------------------PS:废话
语句:select top 10 ID,Tid,Title,Adddate,Hits,Intro,Picurl from KS_Article where Tid = '{$Param(0)}' order by ID desc
参数:Param(0)=栏目ID
调用:如:{SQL_调用某栏目TOP10(200710254)}



》》5.SQL_某栏目前N条(Param(0),Param(1))


条件:算了不说了,我怕板砖....
语句:select top {$Param(0)} ID,Tid,Title,Adddate from KS_Article where Tid= '{$Param(1)}' order by Adddate desc
参数:Param(0)=要几条,必须是数字,Param(1)=栏目ID如:200710258 类似(在新建SQL第二页下面)
调用:如: {SQL_某栏目前N条(10,200701255)}


 


》》6.配合第五条使用,比如把前10条分成3条和7条,拼起来刚好10条,有时候为了做不同的样式,比如上下宽度不一样,颜色不同等(说多了)
SQL_某栏目前N1到N2条(Param(0),Param(1),Param(2))
语句:select top {$Param(0)} ID,Tid,Title,Adddate from KS_Article where Tid = '{$Param(2)}' and ID not in (select top {$Param(1)} ID from KS_Article where Tid = '{$Param(2)}' order by Adddate desc ) order by Adddate desc
参数:这条语句的参数,请看仔细,否则效果不一定对
N1 到 N2 条
Param(0) = N2 - N1 + 1
Param(1) = N1 - 1
Param(2) = 栏目ID


如: 2到10条
{SQL_某栏目前N1到N2条(9,1,2007102545)}



》》7.这个适合放在首页显示,显示的时候把栏目名称和文章标题放在一起,很酷的! ,一般我们都是掉用某个栏目,比如某栏目TOP10 ,而这个调出来的10条是你每个栏目各一条 ,解释很费劲,用了就知道了


SQL_每个栏目第一条()
语句:select ID,Tid,Title,Adddate from KS_Article where ID in (select max(ID) from KS_Article group by Tid)
要求:每个栏有文章~~~~
参数:没有,因为栏目数量不是很多,数量在LOOP里灵活控制


 


》》8.怎样指定有图片的文章才调用:


答:查询语句加上picnews=1


如:select id,title,picurl from ks_article where picnews=1 order by id desc


 


 


 


 


/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////


实用效果标签运用:


 


1. 》》使用sql标签调用小论坛新帖:(个人不太喜欢科讯的小论坛)


第一步


sql标签名称: 最新帖子


数 据 源: KesionCMS主数据库


ajax输出:否


标签类型:普通标签


 


第二步


参数说明:调用条数


sql语句:select top {$Param(0)} ID,Subject,AddTime from KS_GuestBook where verific=1 order by addtime desc
 


第三步:


sql标签循环体



<table border="0" width="99%" align="center" cellpadding="0" cellspacing="0" class="announce">
[loop={$Param(0)}]
<tr>
 <td height="25" align="left">·<a target="_blank" href="{$GetSiteUrl}guestbook/display.asp?id={$Field(ID,GetInfoUrl,0,2)}">{$Field(Subject,Text,35,,0,)}</a></td>
 <td align="right">{$Field(AddTime,Date,YYYY-MM-DD)}</td>
</tr>
<tr><td background="{$GetSiteUrl}images/m-dot.gif" height="1" colspan="2"></td></tr>
[/loop]
</table>



最后一步,在模型里调用


{SQL_最新帖子(10)}



---------------------------------------------------------------------------------


2.》》利用自定义SQL函数标签调用地区供求信息:


按地区调用


select top 10 id,title from ks_gq where province='省份' and verific=1 order by id desc
 


按城市


select top 10 id,title from ks_gq where city='城市' and verific=1 order by id desc
 


------------------------------------------------------------------------------------


3.》》自定义SQL函数标签调用最新加盟的公司名称:


查询:select top 10 CompanyName,UserName from KS_Enterprise order by id desc



<div class="enterprise">
[loop=8]
<li><a href="/space/space.asp?username={$Field(UserName,Text,0,...,2,)}" target="_blank">{$Field(CompanyName,Text,0,...,0,)}</a></li>
[/loop]
</div>


-------------------------------------------------------------------------------------



4》》.隔行的文章显示不同的颜色:
<table border="0">


[loop=10]
<tr>


 {$IF({$AutoID} mod 2=0||<td bgcolor="#ffffff">||<td bgcoloe="#efefef">)}
<a href="{$Field(id,GetInfoUrl,1,1)}" target="_blank">{$Field(title,Text,35,,0,)}</a>
</td>


</tr>
[/loop]


<table>


-——————————————————————————————————————————————


5》》、判断是否是最近三天发布的文章,如果说日期加红显示:
[loop=10]
<li>
<a href="{$Field(id,GetInfoUrl,1,1)}" target="_blank">{$Field(title,Text,35,,0,)}</a>
{$IF(datediff("d","{$Field(adddate,Date,YYYY-MM-DD)}",now)<3
||<font color=red>{$Field(adddate,Date,MM-DD)}</font>||{$Field(adddate,Date,MM-DD)})}
</li>
[/loop]


 


 


 


     好了,不多说了,大家在学习中多学会总结和积累使用中的经验,对于学习是有用处的!


     拜拜了,愿科讯CMS越办越好!      有时间还会回科讯这里逛逛的,呵呵,再见各位!


 

 
  支持(0) | 反对(0) 回到顶部顶端 回到底部底部
goodjoke 当前离线

115

主题

1

广播

0

粉丝
添加关注
级别:一年级

用户积分:1091 分
登录次数:235 次
注册时间:2009/4/1
最后登录:2019/9/7
goodjoke 发表于:2009/9/16 21:25:00   | 只看该作者 查看该作者主题 沙发 
 
  支持(0) | 反对(0) 回到顶部顶端 回到底部底部
songchj 当前离线

310

主题

2

广播

0

粉丝
添加关注
级别:三年级

用户积分:7414 分
登录次数:196 次
注册时间:2006/10/24
最后登录:2016/8/14
songchj 发表于:2009/9/12 19:13:00   | 只看该作者 查看该作者主题 藤椅 

不错,

非常中举的评论。

分享的内容也不错。

顶一个。

 
  支持(0) | 反对(0) 回到顶部顶端 回到底部底部
goodlucky 当前离线

257

主题

0

广播

0

粉丝
添加关注
级别:二年级

用户积分:2886 分
登录次数:572 次
注册时间:2008/5/23
最后登录:2014/2/13
goodlucky 发表于:2009/8/23 22:56:00   | 只看该作者 查看该作者主题 板凳 
 
  支持(0) | 反对(0) 回到顶部顶端 回到底部底部
mbaun 当前离线

1138

主题

4

广播

1

粉丝
添加关注
级别:八年级

用户积分:6229 分
登录次数:342 次
注册时间:2006/4/4
最后登录:2023/2/2
mbaun 发表于:2009/8/23 21:24:00   | 只看该作者 查看该作者主题 报纸 
科汛在线商城系统(NET)

en 说的不错,感谢分享~

在2004年初就开始涉足PHP,可那个时候由于php基本配搭mysql,部分还需要Zend支持,主机不好找就跑到asp阵营来了,一些php语法都忘了

 
  支持(0) | 反对(0) 回到顶部顶端 回到底部底部
pwucong 当前离线

20

主题

0

广播

0

粉丝
添加关注
级别:学前班

用户积分:48 分
登录次数:10 次
注册时间:2010/4/25
最后登录:2012/4/16
pwucong 发表于:2010/7/1 10:06:03   | 只看该作者 查看该作者主题 地板 
很好,但是本人菜鸟!
 
  支持(0) | 反对(0) 回到顶部顶端 回到底部底部
quickwh 当前离线

28

主题

0

广播

0

粉丝
添加关注
级别:学前班

用户积分:54 分
登录次数:31 次
注册时间:2011/1/10
最后登录:2013/10/30
quickwh 发表于:2011/1/13 12:41:36   | 只看该作者 查看该作者主题 7楼 
科汛在线网校系统
不要啊亲一亲相当有爱哈~谢谢分享,预祝LZ步步高升哈~
 
  支持(0) | 反对(0) 回到顶部顶端 回到底部底部
tianji 当前离线

52

主题

0

广播

0

粉丝
添加关注
级别:学前班

用户积分:105 分
登录次数:8 次
注册时间:2010/10/18
最后登录:2011/5/19
tianji 发表于:2011/1/13 12:42:40   | 只看该作者 查看该作者主题 8楼 
 
  支持(0) | 反对(0) 回到顶部顶端 回到底部底部
eterly 当前离线

106

主题

0

广播

0

粉丝
添加关注
级别:一年级

用户积分:88 分
登录次数:10 次
注册时间:2011/1/13
最后登录:2011/1/15
eterly 发表于:2011/1/13 12:49:09   | 只看该作者 查看该作者主题 9楼 
 
  支持(0) | 反对(0) 回到顶部顶端 回到底部底部
zpwz 当前离线

777

主题

0

广播

0

粉丝
添加关注
级别:六年级

用户积分:943 分
登录次数:32 次
注册时间:2010/11/22
最后登录:2013/6/9
zpwz 发表于:2011/1/13 12:49:32   | 只看该作者 查看该作者主题 10楼 
 
  支持(0) | 反对(0) 回到顶部顶端 回到底部底部
<上一主题 | 下一主题 >
Powered By KesionCMS Version X1
厦门科汛软件有限公司 © 2006-2016 页面执行7.84961秒 powered by KesionCMS 9.0