DedeCMS自增函数autoindex/itemindex用法全解析

在使用DedeCMS建站的过程中,首页或者列表页的模版会涉及到调用栏目或者子栏目的问题,在调用栏目的时候会在第一个栏目链接中加特别的属性,这里就要用到DedeCMS自带的自增函数[field:global name=autoindex/]和[field:global name=itemindex/],余斗今天就来说说这个[field:global name=autoindex/]和[field:global name=itemindex/]自增函数的一些用法与扩展。

基本用法

autoindex与itemindex都是中都是用@me来表示计数开始,而类似@me+1则可以指定数字开始,在不同的标签中,他们的起始值是不同的:

channelartlist 标签下使用 {dede:global name='itemindex' runphp='yes'}@me;{/dede:global} 是从0开始自增1

channelartlist 标签下使用{dede:global.itemindex/} 默认从1开始

arclist 标签下使用[field:global.autoindex/] 默认从1开始

channel 标签下使用 [field:global.autoindex/] 默认从0开始

而如果想要改变起始值则按照以下方式调用:

从0开始[field:global name=autoindex runphp="yes"]@me=@me-1;[/field:global]

从1开始[field:global name=autoindex runphp="yes"]@me=@me+1;[/field:global]

其中,@me=@me±1就能实现对应的起始值,这里自己根据需要修改即可。

扩展用法

起始值加5开始自增计数

[field:global name=autoindex runphp="yes"]@me=@me+5;[/field:global]

如果被2整除则输出竖线否则为空

[field:global name=autoindex runphp="yes"](@me%2==0)? @me="|":@me="";[/field:global]

如果不等于8输出竖线否则为空,即为8的时候不打印竖线

[field:global name=autoindex runphp="yes"](@me!=8)? @me="|":@me="";[/field:global]

列表每5行有带划线

[field:global runphp='yes'name=autoindex]

$a="

  • ";
  • $c="

  • ";
  • if ((@me %5) ==0) @me = $c;

    else @me = $a;

    [/field:global]

    在第5行和第10行加广告,其他行为空

    [field:global runphp='yes'name=autoindex]

    $a="

    ";

    $b="广告1";

    $c="";

    $d="广告2";

    $e="";

    if (@me ==5) @me = $a.$b.$c;

    else if (@me ==10) @me = $a.$d.$c;

    else @me = $e;

    [/field:global]

    第一行样式为class="check",其他行按行数类名字后面id="life_channe1"的数字1实现自增

  • [field:typename/]
  • Div中id名字后面的数字从0开始自增,判断如果是第一行则加style="display:none;"属性,其他行为空

    对autoindex/itemindex使用自定义函数

    先在include/extend.fun.php里添加自定义函数

    function MyPosition($p){

    $positionArr=array(275,330,380,435,495,547);

    return $positionArr[$p];

    模版中调用方法为:

    {dede:channel type='son'typeid='13'row='6'noself='yes'}


    [field:typename/]

    {/dede:channel}

    织梦默认的搜索页不支持autoindex标签,需要修改核心文件增加支持

    找到文件:include/arc.searchview.class.php

    里面找到代码(大概在709行):

    $this->dtp2->LoadSource($innertext);

    修改为:

    $this->dtp2->LoadSource($innertext);

    $GLOBALS['autoindex'] =0;

    找到代码(大概在722行):

    if($row = $this->dsql->GetArray("al"))

    {

    修改为

    if($row = $this->dsql->GetArray("al"))

    {

    $GLOBALS['autoindex']++;

    $ids[$row['id']] = $row['id'];

    ©著作权归作者所有,转载或内容合作请联系作者
    • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
      沈念sama阅读 162,825评论 4 377
    • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
      沈念sama阅读 68,887评论 2 308
    • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
      开封第一讲书人阅读 112,425评论 0 255
    • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
      开封第一讲书人阅读 44,801评论 0 224
    • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
      茶点故事阅读 53,252评论 3 299
    • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
      开封第一讲书人阅读 41,089评论 1 226
    • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
      沈念sama阅读 32,216评论 2 322
    • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
      开封第一讲书人阅读 31,005评论 0 215
    • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
      沈念sama阅读 34,747评论 1 250
    • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
      茶点故事阅读 30,883评论 2 255
    • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
      茶点故事阅读 32,354评论 1 265
    • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
      沈念sama阅读 28,694评论 3 265
    • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
      茶点故事阅读 33,406评论 3 246
    • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
      开封第一讲书人阅读 26,222评论 0 9
    • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
      开封第一讲书人阅读 26,996评论 0 201
    • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
      沈念sama阅读 36,242评论 2 287
    • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
      茶点故事阅读 36,017评论 2 281

    推荐阅读更多精彩内容