dede调用副栏目文章列表方法
来源:互联网 发布:直播刷人气软件 编辑:程序博客网 时间:2024/04/28 21:20
写这篇博文的原因是因为伊暖童鞋遇到了一个问题,
交流了好半天才晓得到底指的是什么。我发现,搞计算机久了,连和别人交流都成问题了。
伊暖童鞋想解决的问题,可以使用调用副栏目的方法来解决。我去看了下arclist标签。
发现此标签默认变量中没有typeid2的变量。
目前面临两个解决途径。
1.sql调用
2.修改arclist标签
个人比较喜欢修改标签。所以,吼吼~~
修改文件/include/taglib/arclist.lib.php
查找
if($CrossID=='') $orwheres[] = ' arc.typeid IN ('.GetSonIds($typeid).')';
else $orwheres[] = ' arc.typeid IN ('.GetSonIds($typeid).','.$CrossID.')';
修改成下面的。
if($CrossID=='')$orwheres[] = ' arc.typeid IN ('.GetSonIds($typeid).') or FIND_IN_SET('.GetSonIds($typeid).',arc.typeid2)';
else $orwheres[] = 'arc.typeid IN ('.GetSonIds($typeid).','.$CrossID.')or FIND_IN_SET('.GetSonIds($typeid).',arc.typeid2)';
代码具体意思不多做解释。无非就是给sql语句增加了个判断typeid2的情况。
刚才我百度了一下,这方面的修改文章还真不少。
还有人提到了模糊查询。我把下面的代码黏贴进来,共大家参考。
模糊查询说明:
mysql中如果用like模糊查询的话,也是可以的。不过可能不是很准。
代码如下:
if($CrossID=='')$orwheres[] = " (arc.typeid in (".GetSonIds($typeid).") or arc.typeid2 in(".GetSonIds($typeid).") or CONCAT( ',', arc.typeid2, ',' ) LIKE '%,".$typeid.",%' )";
else $orwheres[] = " (arc.typeid in (".GetSonIds($typeid).",".$CrossID.") or arc.typeid2 in (".GetSonIds($typeid).",".$CrossID.") or CONCAT( ',', arc.typeid2, ',' ) LIKE '%,".$typeid.",%')";
一般SQL是可以支持CHARINDEX函数的。不过可惜的是Mysql不支持这个函数所以只能用以上方法或者like模糊查询了。如果你有更好的方法的话。
- dede调用副栏目文章列表方法
- dede list 2个不同栏目如何调用同一个栏目文章,类似副栏目?
- dede:arclist 不能调用文章的副栏目或多个副栏目的解决方法
- dede:arclist 不能调用文章的副栏目或多个副栏目的解决方法
- dede:arclist 不能调用文章的副栏目或多个副栏目的解决方法 - 小猪加油
- dede调用栏目列表
- DEDE在列表调用当前栏目的文章总数的修改方法
- DEDE在列表调用当前栏目文章总数的修改方法
- dede栏目调用方法之一
- dede调用子栏目方法
- dede通过栏目排序调用文章
- dede调用三级栏目及文章
- dede 如何调用其他栏目的文章或者缩略图列表且有分页效果?
- 织梦arclist标签无法调用副栏目文章的解决办法
- dede统计栏目文章数实现方法
- dede使用channelartlist在列表页和内容页调用同级栏目的方法
- DEDE列表页和内容页调用顶级栏目ID的方法
- 织梦dedecms调用得到文章所属的副栏目id及副栏目名称网址链接等
- NUnit.Mocks实战测试实例
- POJ 1141
- Spring 文件上传
- 图片墙的一种实现方式
- 需求变更
- dede调用副栏目文章列表方法
- ORACLE10G 出现00600的一个BUG的解决方案
- c# datatable 数据类型 转 泛型
- Android反编译工具
- 杭电2710
- Apache Shiro Web应用过滤器
- oracle最高效的删除重复记录方法
- PHP原理之内存管理中难懂的几个点
- oracle递归START WITH...CONNECT BY PRIOR子句用法