GVKun编程网logo

织梦自增函数[field:global name=autoindex/]常见用法举例(织梦网站自动添加超链接的方法)

22

本文的目的是介绍织梦自增函数[field:globalname=autoindex/]常见用法举例的详细情况,特别关注织梦网站自动添加超链接的方法的相关信息。我们将通过专业的研究、有关数据的分析等多种

本文的目的是介绍织梦自增函数[field:global name=autoindex/]常见用法举例的详细情况,特别关注织梦网站自动添加超链接的方法的相关信息。我们将通过专业的研究、有关数据的分析等多种方式,为您呈现一个全面的了解织梦自增函数[field:global name=autoindex/]常见用法举例的机会,同时也不会遗漏关于AutoField的话就报错:''AutoField'' object has no attribute ''rel''、dede:globalautoindex 标签起始数值修改、dede:loop 标签下使用[field:global name=autoindex/]方法、dedecms织梦autoindex使用办法举例说明的知识。

本文目录一览:

织梦自增函数[field:global name=autoindex/]常见用法举例(织梦网站自动添加超链接的方法)

织梦自增函数[field:global name=autoindex/]常见用法举例(织梦网站自动添加超链接的方法)

 

不少朋友需要了解这个自增函数的用法,在这里我列举一些常见的写法以及作用。

1

2

3

4

 

[field:global name=autoindex/]  <!--普通打印递增的数字-->

[field:global name=autoindex runphp="yes"]@me=@me+5;[/field:global] <!--将值加5后再打印-->

[field:global name=autoindex runphp="yes"](@me%2==0)? @me="|":@me="";[/field:global] <!--如果被2整除则打印竖线否则为空-->

[field:global name=autoindex runphp="yes"](@me!=8)? @me="|":@me="";[/field:global]  <!--如果不等于8输出竖线否则为空,即为8的时候不打印竖线-->

 

1

2

3

4

5

6

 

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

           $a="<li>";

           $c="<li>";

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

           else @me = $a;

 [/field:global]  <!--常见的列表每5行有下划线-->

 

1

2

3

4

5

6

7

8

9

10

 

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

           $a="<div>";

           $b="广告1";

           $c="</div>";

           $d="广告2";

           $e="";

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

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

           else @me = $e;

 [/field:global]

 

1

2

3

4

5

6

7

 

 {dede:global name='itemindex' runphp='yes'}

  

           $a="<dl >";

           $c="<dl >";

           if ((@me % 2) == 0) @me = $c;

           else @me = $a;

{/dede:global}

 

1

2

3

4

5

6

7

8

 

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

        if (@me <= 3) @me=@me-1;

        else if (@me%4 == 0) @me = "3";

        else if (@me%4 == 1) @me = "0";

        else if (@me%4 == 2) @me = "1";

        else if (@me%4 == 3) @me = "2";

        else @me = "";

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

AutoField的话就报错:''AutoField'' object has no attribute ''rel''

AutoField的话就报错:''AutoField'' object has no attribute ''rel''

def data_inspect(self, data, extra=None):
        if isinstance(data, (QuerySet, Page, list)):
            convert_data = []
            if extra:
                for i, obj in enumerate(data):
                    convert_data.append(self.data_inspect(obj, extra.get(
                        **{self.through_fields[0]: obj, self.through_fields[1]: self.source_field})))
            else:
                for obj in data:
                    convert_data.append(self.data_inspect(obj))
            return convert_data
        elif isinstance(data, models.Model):
            obj_dict = {}
            concrete_model = data._meta.concrete_model
            for field in concrete_model._meta.local_fields:
                # 检查 field 是否存在 rel 这个属性,为''AutoField'' object has no attribute ''rel''错误填坑
                if hasattr(field, ''rel''):
                    if field.rel is None:
                        if self.check_attr(field.name) and hasattr(data, field.name):
                            obj_dict[field.name] = self.data_inspect(getattr(data, field.name))
                    else:
                        if self.check_attr(field.name) and self.foreign:
                            obj_dict[field.name] = self.data_inspect(getattr(data, field.name))
                else:
                    if self.check_attr(field.name) and hasattr(data, field.name):
                        obj_dict[field.name] = self.data_inspect(getattr(data, field.name))
            for field in concrete_model._meta.many_to_many:
                if self.check_attr(field.name) and self.many:
                    obj_dict[field.name] = self.data_inspect(getattr(data, field.name))
            for k, v in data.__dict__.items():
                if not str(k).startswith(''_'') and k not in obj_dict.keys() and self.check_attr(k):
                    obj_dict[k] = self.data_inspect(v)
            if extra:
                for field in extra._meta.concrete_model._meta.local_fields:
                    if field.name not in obj_dict.keys() and field.name not in self.through_fields:
                        if field.rel is None:
                            if self.check_attr(field.name) and hasattr(extra, field.name):
                                obj_dict[field.name] = self.data_inspect(getattr(extra, field.name))
                        else:
                            if self.check_attr(field.name) and self.foreign:
                                obj_dict[field.name] = self.data_inspect(getattr(extra, field.name))
            return obj_dict
        elif isinstance(data, manager.Manager):
            through_list = data.through._meta.concrete_model._meta.local_fields
            through_data = data.through._default_manager
            self.through_fields = [data.target_field.name, data.source_field.name]
            self.source_field = data.instance
            if len(through_list) > 3 and self.through:
                return self.data_inspect(data.all(), through_data)
            else:
                return self.data_inspect(data.all())
        elif isinstance(data, (datetime.datetime, datetime.date, datetime.time)):
            return self.time_func(data)
        elif isinstance(data, (ImageFieldFile, FileField)):
            return data.url if data.url else data.path
        elif isinstance(data, Decimal):
            return float(data)
        elif isinstance(data, dict):
            obj_dict = {}
            if self._dict_check:
                for k, v in data.items():
                    obj_dict[k] = self.data_inspect(v)
            else:
                for k, v in data.items():
                    if self.check_attr(k):
                        obj_dict[k] = self.data_inspect(v)
            return obj_dict
        elif isinstance(data, (str, bool, float, int)):
            return data
        else:
            return None

 

dede:globalautoindex 标签起始数值修改

dede:globalautoindex 标签起始数值修改

 

在开始循环的外面写
 

{dede:globalautoindex function="@me=10"/}   ,   

{dede:globalautoindex function="@me=20"/}
 

或者直接在循环体内
 

[field:global.autoindex function="@me += 10"/]   , 

[field:global.autoindex function="@me += 20"/]

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

dede:loop 标签下使用[field:global name=autoindex/]方法

dede:loop 标签下使用[field:global name=autoindex/]方法

用dede:loop标签调用论坛贴子时,用 [field:global name=autoindex/]递增,如


  • 要修改一个文件。
    include\taglib\loop.lib.PHP

    找到
    $ctp->LoadSource($Innertext);
    下面加上:
    $GLOBALS['autoindex'] = 0;

    找到
    if(!empty($row[$ctag->GetName()])){ $ctp->Assign($tagid,$row[$ctag->GetName()]); }
            }
    下面加上:
    $GLOBALS['autoindex']++; //每循环一次加上一个1然后解析出来

    就OK了。

  • dedecms织梦autoindex使用办法举例说明

    dedecms织梦autoindex使用办法举例说明

     

    我们在使用织梦CMS源码制作新闻列表的时候,可能会用到一些特殊的效果。

     

    比如,我们希望在新闻栏目页中每隔5行显示一个分割线。

     

    实际上,在dedecms源码中实现这个功能并不复杂。

     

    举例来说明:


    {dede:list pagesize='12'} <li> <a href=http://www.dede58.com/a/dedejq/"[field:arcurl/]" target="_blank" title="[field:fulltitle/]">[field:title/]</a>[[field:pubdate function=MyDate('y-m-d',@me)/]]</li> [field:global.autoindex runphp='yes'] if((@me % 5) == 0){ @me ='<hr />'; } else{ @me = ''; } [/field:global.autoindex] {/dede:list}  

     

    1.[field:global.autoindex/] 这个就是循环变量,它是一个可以自动变化的数字,相当于新闻的编号。

    2.(@me % 5) = 0 判断当前新闻编号是否是5的倍数。

    3.@= '<hr>'; 这个中间的<hr> 就是如果是5的倍数后所要显示的具体Html代码。

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

    今天关于织梦自增函数[field:global name=autoindex/]常见用法举例织梦网站自动添加超链接的方法的介绍到此结束,谢谢您的阅读,有关AutoField的话就报错:''AutoField'' object has no attribute ''rel''、dede:globalautoindex 标签起始数值修改、dede:loop 标签下使用[field:global name=autoindex/]方法、dedecms织梦autoindex使用办法举例说明等更多相关知识的信息可以在本站进行查询。

    本文标签: