dede模板完全控制攻略
1.使用php代码
@me代表了当前字段的值
{dede:tagname runphp='yes'} @me = "123456";//如果使用了自定义函数 则@me得到的是函数返回的值,如果不想被覆盖可以这样@me=@me.'你想输入的值'; {/dede:tagname}
2.使用函数
首先这个函数必须在include\helpers\channelunit.helper.php文件下,可能是因为初始只加载了这一个文件吧。
然后值必须return而不是echo
if ( ! function_exists('HelloDede')) { function HelloDede($s,$m) { return "Hello! Dede...".$s.$m;//这里的$s,代表第一个参数,$m代表第二个参数
//当然这里也可以使用sql语句来获取信息,例如通过当前栏目id获取顶级栏目id
//甚至可以拼接HTML返回 } }
模板中使用
[field:tag function='HelloDede(@me,.3)' runphp='yes'] @me=@me.'23'; [/field:tag]
这里综合使用了函数和PHP代码,
需要注意的是使用PHP代码时,需要把一个标签拆成上下两个部分。
3.如果需要获得字段的值可以去\include\taglib文件夹里找对应的标签文件,标签文件的sql语句会暴露表的名字
然后使用类似[field:id/]取得字段的值
4.如果需要添加字段可以去后台频道模型->内容模型里添加
5.(不建议使用)获取数据的条数找到模板标签的sql语句加上 SELECT count(id) as countid
在模板中应用[field:countid/]
就可以判断是否有数据。然后再对[field:countid/]应用方法1从而达到控制channel 等标签无数据时的表现方式。
(不过有一个副作用,即没数据时依然会显示一列)