账号通
    

账号  

密码  

7685

查看

18

回复
主题:建议7.0增加一篇文章多栏目发布功能 [收藏主题] 转到:  
lawfan 当前离线

9

主题

0

广播

0

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

用户积分:20 分
登录次数:10 次
注册时间:2011/8/7
最后登录:2012/6/18
lawfan 发表于:2011/8/16 22:58:33   | 显示全部帖子 查看该作者主题 楼主 
科汛在线网校系统

    由于单位网站需要实现文章多栏目的功能,我在KS_Article表中增加了KS_Tis2字段,把它设置为Text,并在字段介绍中加入如下代码,实现了文章第二栏目的输入功能:

<script>
document.write("<select name='tid2' id='tid2' onchange='myform.KS_Tid2.value=myform.tid2.value'></select>");
myform.KS_Tid2.style.display='none';
for(i=0;i<myform.tid.options.length;i++){
var oo=document.createElement('option');

      oo.text=myform.tid.options.text;

     oo.value=myform.tid.options.value;

      myform.tid2.add(oo);
      if(oo.value==myform.KS_Tid2.value){
      myform.tid2.options.selected=true;
      }
}
</script>

    但是在调用多栏目文章时,我遇到了困难。以下是我自定义的SQL标签,但系统提示空白的错误:

    Select top 6 ID,title, Case When Tid in (select id from KS_Class where ts like '%{$Param(0)}%') Then Tid Else KS_Tid2 as Tid End from KS_Article where Tid in (select id from KS_Class where ts like '%{$Param(0)}%') or KS_Tid2 in (select id from KS_Class where ts like '%{$Param(0)}%') order by id desc

    以上代码去除Case部分能够正确设置,说明Case部分有问题,但不知道怎样表述才是正确的。加入这句的目的,是希望识别是哪个栏目在调用文章,如果是第二栏目,则把KS_tid2字段的值作为tid的值,这样可以在Loop中调用文章的归属栏目名称,并为另外自定义位置导航提供参数(因为位置导航只能以Tid的值判断归属栏目,在多栏目文章中,需要另外提供归属栏目参数,来设置正确的当前归属栏目,否则在第二归属栏目调用文章时,显示的位置是第一归属栏目的位置。在Loop中情况也是一样)。

   还望各位高手多多指教。

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

9

主题

0

广播

0

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

用户积分:20 分
登录次数:10 次
注册时间:2011/8/7
最后登录:2012/6/18
lawfan 发表于:2011/8/16 23:09:52   | 显示全部帖子 查看该作者主题 沙发 
科汛在线商城系统(NET)

我实现文章多栏目发布的思路是:

1.在KS_Article表中增加一个第二栏目字段KS_Tid2,通过字段介绍中的js功能实现第二栏目的发布。

2.自定义SQL标签,包括文章列表、位置导航、上一篇下一篇。这些标签需要自行定义,是因为系统的标签在确定当前栏目时,是通过文章的Tid来判断的,而多栏目文章,有时需要以KS_Tid2的值为准。因此在文章列表中,文章的URL需要添加当前栏目这个参数,来保证位置导航等标签显示正确的当前栏目。

我在实现以上思路的过程中,对于如何在sql查询时实现tid和KS_tid2的选择,百思不得其解。恳请高手指教。

 
  支持(0) | 反对(0) 回到顶部顶端 回到底部底部
<上一主题 | 下一主题 >
Powered By KesionCMS Version X1
厦门科汛软件有限公司 © 2006-2016 页面执行0.09375秒 powered by KesionCMS 9.0