织梦dedecms 用交叉栏目时arclist标签调用不出内容文章的问题(纯转载)

本文转自:http://www.cnblogs.com/cnteam/articles/4056702.html

最近用了交叉栏目
发现
当为手动指定交叉栏目ID时用arclist标签不能调出相关文章
最后发现是
arclist标签有问题
要修改的地方是:
include/taglib/arclist.lib.php
第167行

if($ctag->GetAtt(‘cross‘)==‘1‘)

改为

if($ctag->GetAtt(‘cross‘)!=‘0‘)

再修改第184行

if($arr[‘crossid‘]!=‘‘) $selquery = "Select id,topid From `#@__arctype` where id in(‘{$arr[‘crossid‘]}‘) And id<>‘{$typeid}‘ And topid<>‘{$typeid}‘  ";

改为:

if($arr[‘crossid‘]!=‘‘) $selquery = "Select id,topid From `#@__arctype` where id in({$arr[‘crossid‘]}) And id<>‘{$typeid}‘ And topid<>‘{$typeid}‘  ";

(这一行只去了一对单引号,应该是程序员手误多出来了)
就可以了

分析:
从数据库可以看出
当栏目为不交叉时cross的值为0
当栏目为自动获取同名栏目时cross的值为1
当栏目为手动指定ID时cross的值为2
显然

if($ctag->GetAtt(‘cross‘)==‘1‘)

是错的,在手动指定ID时$CrossID 始终为空

时间: 2024-10-13 02:41:43

织梦dedecms 用交叉栏目时arclist标签调用不出内容文章的问题(纯转载)的相关文章

织梦dedecms 扩展channel栏目标签 获取交叉栏目名称和链接

channel栏目标签默认有调用顶级栏目(top).子栏目(son).同级栏目(self),那想获取交叉栏目的名称和链接怎么获取呢? 其实在原来的代码上改一下就可以了.下面是具体代码.打开文件channel.lib.php: 在搜索: $topid = $refObj->TypeLink->TypeInfos['topid']; 在其下方增加: $crossid = $refObj->TypeLink->TypeInfos['crossid']; 再搜索: $topid = $ro

织梦DedeCMS删除所有栏目或文章后,新建ID不从1开始的解决方法

这个修改方法很简单,从模板无忧那里找到的,只需要在后台系统-SQL命令行工具里面运行以下语句即可,不用采用笨方法重新安装织梦CMS了. 删除所有栏目,新建ID从1开始: ALTER TABLE `dede_arctype` AUTO_INCREMENT =1; 删除所有文章,新发布文章ID从1开始: ALTER TABLE `dede_archives` AUTO_INCREMENT =1;

织梦DEDECMS获取上级栏目ID及顶级栏目ID【栏目名及URL链接】

上级栏目ID {dede:field.reid/} 顶级栏目ID {dede:field.typeid function='GetTopid(@me)'/} Dedecms获取顶级栏目id,名称及链接 {dede:field.typeid function="gettoptype(@me,id)"/} //id {dede:field.typeid function="gettoptype(@me,name)"/} //名称 {dede:field.typeid f

织梦DedeCMS调用二级子栏目或者多级栏目解决方法

本文是关于织梦DedeCMS调用多级子栏目的,拿来测试分享下.DEDECMS v5.7,后台已建栏目目录,如下图1所示: 图1 DEDECMS后台栏目结构 现在,我们先来调用顶级栏目"站长新闻",以及其下的子栏目,如图2所示: 图2 DEDECMS顶级栏目"站长新闻" 当前栏目typeid值为3,所以代码如下: {dede:channelartlist typeid='3,3'} <a href="{dede:field name='typeurl'

织梦DedeCms去掉栏目页面包屑导航最后的分隔符“&gt;”

织梦DedeCms的面包屑导航调用标签{dede:field name=’position’ /},在栏目页里调用的面包屑导航,最后会出现分割符号“>”,如:主页 > DedeCms 模板 > 用下面这两种方法可以将最后的分割符“>”,用如下代码调用面包屑导航标签: {dede:field name=’position’ runphp=’yes’} $a=mb_strlen(@me);//计算字符串的长度 @me=cn_substr(@me,$a-2,-1);//截取字符 {/de

织梦(dedecms)循环调用多级子栏目如二级栏目下三级栏目

本文是关于织梦DedeCMS调用多级子栏目的,拿来分享下. 后台已经建好栏目,对于产品展示栏 栏目导航如下图所示:  复制代码 代码如下: {dede:channelartlist cacheid='channelsonlist' typeid=3 } <dd> <dl> <dt><a href="{dede:field name='typeurl'/}">{dede:field name='typename'/}</a>&l

织梦DEDEcms5.7解决arclist标签调用副栏目文章

使用arclist标签调用文章的时候才发现,根本无法调用相关文章. 下面给出解决办法,希望帮到需要的人. 找到/include/taglib/arclist.lib.php文件然后打开.然后在大约300行代码的位置.将下面的代码 if($CrossID=='') $orwheres[] = ' arc.typeid IN ('.GetSonIds($typeid).')'; else $orwheres[] = ' arc.typeid IN ('.GetSonIds($typeid).','.

织梦DEDECMS网站首页如何实现分页翻页

织梦DEDECMS模板网站首页如何实现首页分页和翻页 方法如下:(三种方法,自己选择一种来实现分页吧) 第一种:调用ajax和参数的(不推荐)1.必须在DEDE首页模板中的<head></head>中引入(详细看你的默认模板) <script language="javascript" type="text/javascript" src="{dede:global.cfg_cmsurl/}/include/dedeajax2

织梦dedecms简略标题调用标签用法指南

我们在使用织梦DEDECMS建站过程中,为了使调用的文章标题简短且相对完整(原文标题太长),只好使用了调用简略标题这个方法,使标题显示为简短标题,指向标题时显示完整的标题.并获得文章静态地址链接 下面来看看DEDE织梦CMS简略标题调用方法:  使用的代码如下: 复制代码 代码如下: <ul>  {dede:arclist titlelen='60' orderby='pubdate' row='6' typeid='5'}  <li><a href=”[field:arcu