GVKun编程网logo

dede:arclist标签循环时,如何获取第几次循环

22

在本文中,您将会了解到关于dede:arclist标签循环时,如何获取第几次循环的新资讯,并给出一些关于*新DEDECMS织梦搜索页调用arclist标签的教程、arclist标签调用副栏目文章的方法

在本文中,您将会了解到关于dede:arclist标签循环时,如何获取第几次循环的新资讯,并给出一些关于*新DEDECMS织梦搜索页调用arclist标签的教程、arclist标签调用副栏目文章的方法 for dedecms、arclist标签调用副栏目新闻的办法 for dedecms、DEDE arclist标签无法调用副栏目新闻的解决方案arclist标签调用的实用技巧。

本文目录一览:

dede:arclist标签循环时,如何获取第几次循环

dede:arclist标签循环时,如何获取第几次循环

 

dede:arclist标签循环时,如何获取第几次循环

问题描述:当我们做推荐或热点新闻列表的时候,很想在前10条记录的标题前,加上不同的小日志o,比如从1到10的数字等,无奈我们用li等循环时,里面的每一条记录都是一样的,不可能用不同的CSS样式分别定义不同的标题新闻,当然您也可以事先做一个图,因为ul的高度和每个li的高度间距等都是固定和可预见的,直接把这个图作为UL的整个背景也可以实现,不过这样总感觉不爽,下面的代码可以让您为每个li定义不同的css样式,即实现这样的功能:

1
2
3
4
5
6
7

 

<ul>
<li class="icon1">标题链接</li>
<li class="icon2">标题链接</li>
<li class="icon2">标题链接</li>
<li class="icon3">标题链接</li>
<li class="icon5">标题链接</li>
</ul>

 

标签代码如下:

1
2
3
4
5
6

 

<ul>
{dede:arclist titlelen=34 row=5  orderby='hot' typeId='74'}
 <li class="icon[field:global.autoindex/]"><a href="[field:arcurl/]" target=_blank> ()
[field:title/]</a></li>
{/dede:arclist}
</ul>

 

其中:[field:global.autoindex/]可以在标签循环中输入对应的1、2、3、4、5等

本文章网址:http://www.ppssdd.com/code/13347.html。转载请保留出处,谢谢合作!

*新DEDECMS织梦搜索页调用arclist标签的教程

*新DEDECMS织梦搜索页调用arclist标签的教程

 

打开include/arc.searchview.class.php

  查找:

require_once(DEDEINC."/taglib/hotwords.lib.php"); require_once(DEDEINC."/taglib/channel.lib.php");

  在下面加入:

require_once(DEDEINC."/taglib/arclist.lib.php"); require_once(DEDEINC."/taglib/channelartlist.lib.php");

  找到:

else if($tagname=="hotwords") { $this->dtp->Assign($tagid,lib_hotwords($ctag,$this)); }

  在下面插入:

else if($tagname=="arclist") { $this->dtp->Assign($tagid,lib_arclist($ctag,$this)); } else if($tagname=="channelartlist") { $this->dtp->Assign($tagid,lib_channelartlist($ctag,$this)); }

  这样就可在dedecms织梦搜索页面使用arclist和channelartlist标签调用数据了。

本文章网址:http://www.ppssdd.com/code/13435.html。转载请保留出处,谢谢合作!

arclist标签调用副栏目文章的方法 for dedecms

arclist标签调用副栏目文章的方法 for dedecms

最近一段时间以来,有不少时间都在折腾Dedecms,对其进行了不少的优化工作,以便其适应我的应用要求。在这其中,也遇到了不少的问题。譬如:Dedecms根据副栏目进行文章调用的问题。
Dedecms中一个文章可以同时属于两个栏目,即一个主栏目一个副栏目,{dede:arclist} 属性中可以通过typeid进行主栏目有效性筛选,但是有时我们却想根据副栏目进行筛选,查了Dedecms的在线用户手册发现没有此功能,最后搜索到一个有效地解决办法。只需修改标签对应的源文件。

查找 DedecmsROOT/include/taglib/arclist.lib.PHP 文件,大概在第212行代码处。
if($CrossID=='') $orwheres[] = ' arc.typeid in ('.GetSonIds($typeid).')';
else $orwheres[] = ' arc.typeid in ('.GetSonIds($typeid).','.$CrossID.')';

替换为:
if($CrossID=='')
$orwheres[] = ' typeid in ('.GetSonIds($typeid).') or typeid2 in ('.GetSonIds($typeid).')';
else
$orwheres[] = ' typeid in ('.GetSonIds($typeid).','.$CrossID.') or typeid2 in ('.GetSonIds($typeid).','.$CrossID.')';
示例:{dede:arclist typeid=’2,3,4′}….{/dede:arclist}

通过以上办法,有效地解决了Dedecms最新版本v5.6正式版(2010-08-18)(包括在此前的版本),不支持通过arclist标签调用副栏目文章的问题。

arclist标签调用副栏目新闻的办法 for dedecms

arclist标签调用副栏目新闻的办法 for dedecms

 

*近一段时间以来,有不少时间都在折腾DEDECMS,对其进行了不少的优化工作,以便其适应我的应用要求。在这其中,也遇到了不少的问题。譬如:DEDECMS根据副栏目进行新闻调用的问题。
DEDECMS中一个新闻可以同时属于两个栏目,即一个主栏目一个副栏目,{dede:arclist} 属性中可以通过typeid进行主栏目有效性筛选,但是有时我们却想根据副栏目进行筛选,查了dedecms的在线用户手册发现没有此功能,*后搜索到一个有效地解决方案。只需修改标签对应的源文件。

查找 dedecmsROOT/include/taglib/arclist.lib.php 文件,大概在第212行代码处。
if($CrossID=='') $orwheres[] = ' arc.typeid in ('.GetSonIds($typeid).')';
else $orwheres[] = ' arc.typeid in ('.GetSonIds($typeid).','.$CrossID.')';

替换为:
if($CrossID=='')
$orwheres[] = ' typeid in ('.GetSonIds($typeid).') or typeid2 in ('.GetSonIds($typeid).')';
else
$orwheres[] = ' typeid in ('.GetSonIds($typeid).','.$CrossID.') or typeid2 in ('.GetSonIds($typeid).','.$CrossID.')';
示例:{dede:arclist typeid=’2,3,4′}….{/dede:arclist}

通过以上方案,有效地解决了DEDECMS*新版本V5.6正式版(2010-08-18)(包括在此前的版本),不支持通过arclist标签调用副栏目新闻的问题。

本文章网址:http://www.ppssdd.com/code/14678.html。转载请保留出处,谢谢合作!

DEDE arclist标签无法调用副栏目新闻的解决方案arclist标签调用

DEDE arclist标签无法调用副栏目新闻的解决方案arclist标签调用

 

arclist标签无法调用副栏目新闻的解决方案

Z近发现DEDECMS/' target='_blank'>dedecms中的新闻在选择幅栏目后,

在其对应的幅栏目列表中可以显示该新闻,但在arclist 标签中却无法显示该新闻,

网上找了很多,解决方案都一样,但写法却写错了,导致arclist标签在使用了flag属性时会失效的问题。

修正后的写法如下。


打开/include/taglib/arclist.lib.php,我目前用的Z新版 5.7 SP1,

代码约位于295-296行。查找以下两行代码。

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 arc.typeid2 IN ('.GetSonIds($typeid).')) '; else $orwheres[] = ' (arc.typeid IN ('.GetSonIds($typeid).','.$CrossID.') OR arc.typeid2 IN ('.GetSonIds($typeid).','.$CrossID.')) ';  

OK,这样就改完了,保存后如果你是生成静态的,请生成相关的。如果是动态的,请更新系统缓存。然后就可以看到效果了。

===============================================================================

以上办法有个缺点arclist 标签 就是只能有在显示两处位置 

下面办法经测试可以个 不知道三个以上可以不可以

用arclist标签调用新闻的时候才发现,根本无法调用相关新闻。

下面给出解决方案,希望帮到需要的人。

找到/include/taglib/arclist.lib.php文件然后打开。然后在大约300行代码的位置。将下面的代码

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 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.",%')";  

本文章网址:http://www.ppssdd.com/code/26931.html。转载请保留出处,谢谢合作!

关于dede:arclist标签循环时,如何获取第几次循环的问题我们已经讲解完毕,感谢您的阅读,如果还想了解更多关于*新DEDECMS织梦搜索页调用arclist标签的教程、arclist标签调用副栏目文章的方法 for dedecms、arclist标签调用副栏目新闻的办法 for dedecms、DEDE arclist标签无法调用副栏目新闻的解决方案arclist标签调用等相关内容,可以在本站寻找。

本文标签: