本文的目的是介绍织梦自增函数[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/]常见用法举例(织梦网站自动添加超链接的方法)
- AutoField的话就报错:''AutoField'' object has no attribute ''rel''
- dede:globalautoindex 标签起始数值修改
- dede:loop 标签下使用[field:global name=autoindex/]方法
- dedecms织梦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''
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 function="@me=10"/} ,
{dede:globalautoindex function="@me=20"/}
或者直接在循环体内
[field:global.autoindex function="@me += 10"/] ,
[field:global.autoindex function="@me += 20"/]
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使用办法举例说明
我们在使用织梦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使用办法举例说明等更多相关知识的信息可以在本站进行查询。
本文标签: