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 等标签无数据时的表现方式。

(不过有一个副作用,即没数据时依然会显示一列)

posted on 2014-03-29 20:59  左小兵  阅读(217)  评论(0编辑  收藏  举报

导航