模板制作教程:字段调用
用户设定值Score
内容详情中(show.html) 模板中调用方法是:
{if $字段名_sku} 按用户组的值: {php $vsku = dr_string2array($字段名_sku);} {cache name=member_group return=mc}用户组【{$mc.name}】: {$vsku[$mc.id]}
{/cache} {else} 全局值:{$字段名} {/if}
注意:
1、[字段名]需要换成你定义的具体字段英文名称
2、如果在list循环中调用,需要把[字段名]改成[$t.字段名]
百度地图Baidumap
需要安装官方版的<百度地图字段插件>
内容详情中(show.html) 模板中调用方法是:
调用百度地图:{dr_baidu_map($字段名, 17, '100%', '400', "密钥", 'class', '这里是标注显示信息', '图标自定义地址')} 参数1 必填:字段 参数2 必填:17是缩放大小 参数3 必填:100%是宽度,可以填写200表示200px 参数4 必填:400是高度,表示400px 参数5 可选:百度地图KEY 参数6 可选:div的class名称 参数7 可选:地图上的标注信息,例如填写公司地址等,支持html标签 参数8 可选:图标的自定义地址,默认是红点图标
显示标注信息的样式支持html标签的
调用腾讯地图:{dr_qq_map($字段名, 17, '100%', '400')}
注意:
1、[字段名]需要换成你定义的具体字段英文名称
2、如果在list循环中调用,需要把[字段名]改成[$t.字段名]
复选框 Checkbox
内容详情中(show.html) 模板中调用方法是:
选择值: {loop $字段名 $v} {$v} {/loop} 选择的名称: {php $field = dr_field_options(字段的ID号);} {loop $field $v $name} {if in_array($v, $字段名)} {$name} {/if} {/loop}
注意:
1、[字段名]需要换成你定义的具体字段英文名称
2、如果在list循环中调用,需要把[字段名]改成[$t.字段名]
颜色选取Color
内容详情中(show.html) 模板中调用方法是:
{$字段名}
注意:
1、[字段名]需要换成你定义的具体字段英文名称
2、如果在list循环中调用,需要把[字段名]改成[$t.字段名]
时间字段 Date
内容详情中(show.html) 模板中调用方法是:
默认输出:{$字段名}
自定义时间:{dr_date($_字段名, 'Y-m-d')}
友好的时间:{dr_fdate($_字段名)}
{if dr_date($_字段名, 'Y-m-d') == date('Y-m-d')} 表示今天的时间 {/if}
关于日期函数dr_date参数介绍:https://www.xunruicms.com/doc/523.html
注意:
1、[字段名]需要换成你定义的具体字段英文名称
2、如果在list循环中调用,需要把[字段名]改成[$t.字段名]
单文件File
内容详情中(show.html) 模板中调用方法是:
文件的地址:{dr_get_file($字段名)}
文件的下载地址:{dr_down_file($字段名)}
缩略图地址:{dr_thumb($字段名, 100, 100)}
缩略图带上水印地址:{dr_thumb($字段名, 100, 100, 1)}
注意:
1、[字段名]需要换成你定义的具体字段英文名称
2、如果在list循环中调用,需要把[字段名]改成[$t.字段名]
多文件Files
内容详情中(show.html) 模板中调用方法是:
{loop $字段名 $i $c} 序号: {$i} 标题:{$c.title}
描述:{$c.description}
文件原始地址:{dr_get_file($c.file)} 文件的下载地址:{dr_down_file($c.file)} 图片缩略图:{dr_thumb($c.file, 200, 200)} 图片缩略图带水印:{dr_thumb($c.file, 200, 200, 1)} {/loop}
注意:
1、[字段名]需要换成你定义的具体字段英文名称
2、如果在list循环中调用,需要把[字段名]改成[$t.字段名]
手动格式化方法
{php $字段名 = dr_get_files($字段名);}
表格字段 Ftable
内容详情中(show.html) 模板中调用方法是:
默认class写法:{dr_get_ftable(字段ID号, $字段名)} 自定义table的class写法:{dr_get_ftable(字段ID号, $字段名, 'mytableclass')} mytableclass就是给表格加class,解析为:table calss="mytableclass"
----------------按需输出列表的写法0------------
{php $field = \Phpcmf\Service::C()->get_cache('table-field', 这里填写Ftable字段的id号); $value = dr_string2array($字段名); }
{dr_lang($field['setting']['option']['first_cname'])} | {/if} {loop $field['setting']['option']['field'] $t} {if $t['type']}{dr_lang($t['name'])} | {/if} {/loop}
---|---|
{dr_lang($field['setting']['option']['hang'][$i]['name'])} | {/if} {loop $field['setting']['option']['field'] $n $t} {if $t['type']}{$val[$n]} | {/if} {/loop}
注意:
1、[字段名]需要换成你定义的具体字段英文名称
2、如果在list循环中调用,需要把[字段名]改成[$t.字段名]
图片专用Image
内容详情中(show.html) 模板中调用方法是:
{loop $字段名 $i $c} 序号: {$i} 文件原始地址:{dr_get_file($c)} 文件的下载地址:{dr_down_file($c)} 图片缩略图:{dr_thumb($c, 200, 200)} 图片缩略图带水印:{dr_thumb($c, 200, 200, 1)} {/loop}
注意:
1、[字段名]需要换成你定义的具体字段英文名称
2、如果在list循环中调用,需要把[字段名]改成[$t.字段名]
联动菜单(单选) Linkage
内容详情中(show.html) 模板中调用方法是:
联动菜单名称: {dr_linkage('菜单的别名', $字段名, 0, 'name')}
联动菜单顶级的名称: {dr_linkage('菜单的别名', $字段名, 1, 'name')}
面包屑导航: {dr_linkagepos('菜单的别名', $字段名, ' - ')}
注意:
1、[字段名]需要换成你定义的具体字段英文名称
2、如果在list循环中调用,需要把[字段名]改成[$t.字段名]
价格字段 Pay
内容详情中(show.html) 模板中调用方法是:
普通输出:{$字段名}
价格值:{dr_price_value($字段名)}
注意:
1、[字段名]需要换成你定义的具体字段英文名称
2、如果在list循环中调用,需要把[字段名]改成[$t.字段名]
参数属性Property
内容详情中(show.html) 模板中调用方法是:
{loop $字段名 $i $c} 属性名:{$c.name} 属性值:{$c.value} {/loop}
注意:
1、[字段名]需要换成你定义的具体字段英文名称
2、如果在list循环中调用,需要把[字段名]改成[$t.字段名]
单选字段Radio
内容详情中(show.html) 模板中调用方法是:
选择值:{$字段名}
选择的名称: {php $field = dr_field_options(字段ID号);} {$field[$字段名]}
注意:
1、[字段名]需要换成你定义的具体字段英文名称
2、如果在list循环中调用,需要把[字段名]改成[$t.字段名]
模块内容关联 Related
内容详情中(show.html) 模板中调用方法是:
{if $字段名} {module module=模块 IN_id=$字段名 return=r} {$r.url} {$r.title} ...... {/module} {else} 没有关联 {/if}
注意:
1、[字段名]需要换成你定义的具体字段英文名称
2、如果在list循环中调用,需要把[字段名]改成[$t.字段名]
示例:
1、循环列表中调用关联字段内容数量总量
{substr_count($t.字段名, ',')}
2、循环中的排序方式按拖动的id顺序来排列
{module module=模块 IN_id=$字段名 order=id_instr return=r}
3、反向查询,查询当前内容被哪些所关联过
{module module=模块 FIND_字段名=$id return=r}
下拉选择 Select
内容详情中(show.html) 模板中调用方法是:
选择值:{$字段名}
选择的名称: {php $field = dr_field_options(字段ID号);} {$field[$字段名]}
注意:
1、[字段名]需要换成你定义的具体字段英文名称
2、如果在list循环中调用,需要把[字段名]改成[$t.字段名]
文本 Text
内容详情中(show.html) 模板中调用方法是:
普通输出:{$字段名}
截取10个字输出:{dr_strcut($字段名, 10, '...')}
注意:
1、[字段名]需要换成你定义的具体字段英文名称
2、如果在list循环中调用,需要把[字段名]改成[$t.字段名]
多行文本Textarea
内容详情中(show.html) 模板中调用方法是:
普通输出:{$字段名}
截取10个字输出:{dr_strcut($字段名, 10, '...')}
换行显示:{nl2br($字段名)}
注意:
1、[字段名]需要换成你定义的具体字段英文名称
2、如果在list循环中调用,需要把[字段名]改成[$t.字段名]
编辑器 Ueditor
内容详情中(show.html) 模板中调用方法是:
普通输出:{$字段名}
去掉html标签:{dr_clearhtml($字段名)}
去掉html标签再截10个字:{dr_strcut(dr_clearhtml($字段名), 10, '...')} 读取内容字段中的全部图片 {php $imgs = dr_get_content_img($字段名);} {loop $imgs $img} {$img} {/loop} 图片数量:{count($imgs)}
注意:
1、[字段名]需要换成你定义的具体字段英文名称
2、如果在list循环中调用,需要把[字段名]改成[$t.字段名]
联动菜单(多选)Linkages
内容详情中(show.html) 模板中调用方法是:
{loop $字段名 $v}联动菜单名称:{dr_linkage('联动菜单别名', $v, 0, 'name')} 联动菜单顶级的名称:{dr_linkage('联动菜单别名', $v, 1, 'name')} 面包屑导航:{dr_linkagepos('联动菜单别名', $v, ' - ')}
{/loop}
注意:
1、[字段名]需要换成你定义的具体字段英文名称
2、如果在list循环中调用,需要把[字段名]改成[$t.字段名]
副栏目 Catids
内容详情中(show.html) 模板中调用方法是:
{loop $字段名 $v}栏目名称:{dr_cat_value('模块目录', $v, 'name')} 栏目地址:{dr_cat_value('模块目录', $v, 'url')}
{/loop}
注意:
1、[字段名]需要换成你定义的具体字段英文名称
2、如果在list循环中调用,需要把[字段名]改成[$t.字段名]
用户关联 Members
内容详情中(show.html) 模板中调用方法是:
{if $字段名} {member IN_id=$字段名 return=r} {$r.id} {$r.username} ...... {/member} {else} 没有关联 {/if}
注意:
1、[字段名]需要换成你定义的具体字段英文名称
2、如果在list循环中调用,需要把[字段名]改成[$t.字段名]
自定义字段控件输出代码
字段控件是什么?例如下面这个字段是由系统变量myfield输出的
上图红色部分是字段实际的输出代码,使用本函数可以输出这部分代码到html中,方便二次开发
字段控件是根据字段的id号来生成
html模板中的格式是:
{dr_fieldform(本字段数组信息, '默认值', '是否移除div区域:1(默认)或0', '是否下载相关依赖js:1或0(默认0,如果js未加载时需要设置1)')}
例如:
{dr_fieldform(\Phpcmf\Service::C()->get_cache('table-field', 99999), '默认内容')}
99999是字段的id
此方法是用来调用任意表的字段
如果在实际需要需求中,我们需要按照自己的样式规格输出字段怎么办?比如不用系统变量调出字段怎么办?
这种需求需要自己手动书写html的form代码了,编写格式主要在于name值的要求,必须和系统生成的name值相同,比如下面代码是系统自动生成的:
那么,我们可以随便自定义字段html代码,但是name一定要保持一致:
主题:
这种情况是text类型字段,如果遇到图片上传等等复杂的字段html必须要php高手来写了
最后,还是建议使用官方生成的字段html,这样兼容性更好,不会改动什么地方
栏目字段调用
栏目字段是指栏目的信息,例如以下界面的全部信息称为栏目字段
调用这些字段,需要在宸逸CMS后台安装《字段标签生成工具》插件,再返回栏目管理列表:
傻瓜式操作,直接复制即可