patty19759 发表于 2012-4-18 10:48:51

织梦DEDECMS问答模块调用栏目内容标签dede:arclist无效的解决办法

织梦DEDECMS问答模块调用栏目内容标签dede:arclist无效的解决办法:
在问答模块和黄页模块中,dedecms系统默认是不支持arclist标签调用文章的
解决方法:如果想在问答,黄页等模块中使用arclist标签
下面我们来分析一下:
在include 文件夹下 其实有2个标签文件夹,在taglib文件夹中的标签可以在文章列表首页中使用(在dede官方帮助文档所说的全局标签)
tpllib文件夹下的标签,动态的在问答模块和黄页是能使用的
其实在tpllib 文件夹下有个plus_spacenewart.php文件,这个是在用户中心使用的一个调用文章的标签
我们可以稍加修改就可以变成 arclist标签了

原理我们就不多讲了,下面代码存为plus_arclist.php ,放在include\tpllib\目录下。
SetQuery($query);
$dsql->Execute("al");
$artlist = '';
$rearr = array();
while($row = $dsql->GetArray("al"))
{
//处理一些特殊字段
$row['infos'] = cn_substr($row['description'],$infolen);
$row['id'] =$row['id'];

$row['arcurl'] = GetFileUrl($row['id'],$row['typeid'],$row['senddate'],$row['title'],$row['ismake'],
$row['arcrank'],$row['namerule'],$row['typedir'],$row['money'],$row['filename'],$row['moresite'],$row['siteurl'],$row['sitepath']);

$row['typeurl'] = GetTypeUrl($row['typeid'],$row['typedir'],$row['isdefault'],$row['defaultname'],$row['ispart'],
$row['namerule2'],$row['moresite'],$row['siteurl'],$row['sitepath']);

if($row['litpic']=='')
{
   $row['litpic'] = '/images/defaultpic.gif';
}
if(!eregi("^http://",$row['litpic']))
{
   $row['picname'] = $row['litpic'] = $GLOBALS['cfg_cmsurl'].$row['litpic'];
}
else
{
   $row['picname'] = $row['litpic'] = $row['litpic'];
}
$row['stime'] = GetDateMK($row['pubdate']);
$row['typelink'] = "".$row['typename']."";
$row['image'] = "".$row['picname']."' border='0' width='$imgwidth' height='$imgheight' alt='".ereg_replace("[";
$row['imglink'] = "".$row['image']."";
$row['fulltitle'] = $row['title'];
$row['title'] = cn_substr($row['title'],$titlelen);
if($row['color']!='') {
   $row['title'] = "".$row['title']."";
}
if(ereg('b',$row['flag']))
{
   $row['title'] = "".$row['title']."";
}
//$row['title'] = "".$row['title']."";

$row['textlink'] = "".$row['title']."";

$row['plusurl'] = $row['phpurl'] = $GLOBALS['cfg_phpurl'];
$row['memberurl'] = $GLOBALS['cfg_memberurl'];
$row['templeturl'] = $GLOBALS['cfg_templeturl'];

$rearr[] = $row;
}//loop line
$dsql->FreeResult("al");
return $rearr;
}
?>
注意在使用arclist 的程序中要加上
require_once(dirname(__FILE__)."/../include/common.inc.php");
require_once(DEDEINC.'/channelunit.func.php');
另外就是在调用字段时注意用{dede:field.title /} 注意两边是{ }
                                    
         
好了,以上就是织梦DEDECMS问答模块调用栏目内容标签dede:arclist无效的解决办法。
页: [1]
查看完整版本: 织梦DEDECMS问答模块调用栏目内容标签dede:arclist无效的解决办法