GVKun编程网logo

织梦channelartlist支持limit自定义数字开始计数解决办法(织梦currentstyle)

15

本篇文章给大家谈谈织梦channelartlist支持limit自定义数字开始计数解决办法,以及织梦currentstyle的知识点,同时本文还将给你拓展dede织梦源码channelartlist循

本篇文章给大家谈谈织梦channelartlist支持limit自定义数字开始计数解决办法,以及织梦currentstyle的知识点,同时本文还将给你拓展dede 织梦源码 channelartlist 循环次数的设置办法、dedecms织梦channelartlist标签当前栏目高亮、DedeCMS织梦channelartlist标签调用三级栏目下的文章、DedeCMS织梦channelartlist添加limit支持自定义输出栏目等相关知识,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

织梦channelartlist支持limit自定义数字开始计数解决办法(织梦currentstyle)

织梦channelartlist支持limit自定义数字开始计数解决办法(织梦currentstyle)

 

在织梦建站的时候遇到一个问题,首页需要调用产品二级栏目但是列表循环的*条需要加上一个高亮样式,channelartlist标签指定id调用的话就固定死了,不利于后期添加新的栏目,这时需要channelartlist支持limit指定从第二条计数,织梦默认是不支持,接下来教大家解决方法。

*步:include\taglib\channelartlist.lib.php打开

找到:$attlist = 'typeid|0,row|20,cacheid|';

替换:$attlist = 'typeid|0,row|20,cacheid|,limit|';

第二步:找到

$dsql->SetQuery("SELECT id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath

FROM `dede_arctype` WHERE $tpsql ORDER BY sortrank ASC LIMIT $totalnum");

替换:

$limit = trim(preg_replace('#limit#is', '', $limit));

if($limit!='') $limitsql = " LIMIT $limit ";

else $limitsql = " LIMIT 0,$totalnum";

$dsql->SetQuery("SELECT id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath

FROM `dede_arctype` WHERE $tpsql ORDER BY sortrank ASC $limitsql");

标签调用(如图所示):

{dede:channelartlist limit='1,50'  type ='son'  typeid ='2' }{/dede:channelartlist}  

织梦channelartlist支持limit自定义数字开始计数解决方法

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

dede 织梦源码 channelartlist 循环次数的设置办法

dede 织梦源码 channelartlist 循环次数的设置办法

 

织梦标签手册

全局标签测试中去测试一下:
{dede:channelartlist row='2'}
typeid->{dede:field name='id' /}<br>
循环次数 id->{dede:global name='itemindex' /}<br>
{dede:arclist titlelen='60' row='2'}
新闻循环次数 id->[field:global name='autoindex'/]<br>
[field:title /]<br>
{/dede:arclist}
<hr>
{/dede:channelartlist}  本文章网址:http://www.ppssdd.com/code/8694.html。转载请保留出处,谢谢合作!

dedecms织梦channelartlist标签当前栏目高亮

dedecms织梦channelartlist标签当前栏目高亮

 
织梦dedecms里currentstyle只支持dede:channel,这种只能调取一层栏目,而我们制作织梦网站模板时,在导航栏里经常要调用到一级和二级栏目, 然后让当前栏目高亮,使用特殊样式,要用到dede:channelartlist,现在呢dedecms织梦currentstyle在 dede:channelartlist里中无法使用的,需要我们自己添加一些代码才行。
 
织梦channelartlist标签完美支持currentstyle属性,实现自动加载当前栏目CSS样式,可以用来标识当前栏目位置的CSS,解决方法如下:
 
1、打开文件include\taglib\channelartlist.lib.php
找到:
$pv->Fields['typeurl'] = GetOneTypeUrlA($typeids[$i]);
 
2、在此行代码下方增加以下代码:
 
if($typeids[$i]['id'] == $refObj->TypeLink->TypeInfos['id'] || $typeids[$i]['id'] == $refObj->TypeLink->TypeInfos['topid'] ){
            $pv->Fields['currentstyle'] = $currentstyle ? $currentstyle : 'current';
        }
        else{
            $pv->Fields['currentstyle'] = '';
        }
 
添加这个后才能对二级栏目也起作用
 
4、调用方法:
 
{dede:channelartlist typeid='2' current}
<li><a href='{dede:field name='typeurl'/}'>{dede:field name='typename'/}</a></li>
{/dede:channelartlist}
 
如果是当前栏目则 li的class属性显示current,否则显示,也可以修改current。
 
-------------------------------------------------------------------------------------------------------------------------
 
5、也可以与arclist标签相结合使用,这样调用:
 
{dede:channelartlist typeid='2' current}
<dt ><ahref='{dede:fieldname='typeurl'/}'>{dede:field name='typename'/}</a></dt>
{dede:arclist titlelen='42' row='10' current}
     [field:array runphp='yes']
         if(@me['currentstyle']){
             @me = @me['currentstyle'];
         }else{
             @me = "<dd ><a href='{@me['arcurl']}'>{@me['title']}</a></dd>";
         }
     [/field:array]
{/dede:arclist}
{/dede:channelartlist} 
本文章网址:http://www.ppssdd.com/code/856.html。转载请保留出处,谢谢合作!

DedeCMS织梦channelartlist标签调用三级栏目下的文章

DedeCMS织梦channelartlist标签调用三级栏目下的文章

今天遇到一个朋友咨询 Dedecms 的 channelartlist 标签下 channel 标签调用三级栏目中文章的问题,实现方法还是很简单的,现给出解决方案,请看代码。

{dede:channelartlist typeid='2' row='1'}

<!-- 顶级 -->

<li>

<a href="{dede:field.typeurl/}" >{dede:field name='typename'/}</a>

<ul>

{dede:channel type='son' noself='yes'}

<!-- 二级 -->

<li>

<a href="[field:typeurl/]" title="[field:typename/]">[field:typename/]</a>

<ul>

<!-- 三级栏目下的文章 -->

[field:id runPHP=yes]

global $dsql;

$sql = "Select * FROM `#@__archives` WHERE typeid=@me And arcrank=0 order by sortrank asc limit 0,10";

$dsql->SetQuery($sql);

$dsql->Execute('t');

$result = '';

while($row = $dsql->GetArray('t'))

{

$title = $row['title'];

$url = GetoneArchive($row['id']);

$result .= "<li margin-left: 20px;'><a href='{$url['arcurl']}'>{$title}</a></li>";

}

@me = $result;

[/field:id]

</ul>

</li>

{/dede:channel}

</ul>

</li>

{/dede:channelartlist}

查看演示

咨询汉化

此链接为英文原版演示地址,由于英文演示针对的是境外用户,机房位于境外国内访问可能比较缓慢如果长时间未显示可以尝试刷新几次。

专业提供wordpress主题安装、深度汉化、加速优化等服务,详询在线客服!

DedeCMS织梦channelartlist添加limit支持自定义输出栏目

DedeCMS织梦channelartlist添加limit支持自定义输出栏目

Dedecms 织梦 channelartlist 添加 limit 支持自定义输出栏目,比如在栏目列表调用子栏目,不写死,不指定,从第 2 个子栏目开始输出,按类似的要求,需要改动如下。打开 /include/taglib/channelartlist.lib.PHP 找到:

cacheid|

改成

cacheid|,limit|

继续找到

$dsql->SetQuery

在它上面加入

$limit = trim(preg_replace('#limit#is', '', $limit));
if($limit!='') $limitsql =  LIMIT $limit ;
else $limitsql =  LIMIT 0,$totalnum;

继续找到

LIMIT $totalnum

改成

$limitsql

完成,前台模板里标签写法

调用 1 个栏目

{dede:channelartlist limit=1}
{dede:field.typeurl/}{dede:field.typename/}
{/dede:channelartlist}

调用从第 2 开始栏目,输出 2 个

{dede:channelartlist limit=1,2}
{dede:field.typeurl/}{dede:field.typename/}
{/dede:channelartlist}

关于织梦channelartlist支持limit自定义数字开始计数解决办法织梦currentstyle的问题就给大家分享到这里,感谢你花时间阅读本站内容,更多关于dede 织梦源码 channelartlist 循环次数的设置办法、dedecms织梦channelartlist标签当前栏目高亮、DedeCMS织梦channelartlist标签调用三级栏目下的文章、DedeCMS织梦channelartlist添加limit支持自定义输出栏目等相关知识的信息别忘了在本站进行查找喔。

本文标签: