如何在discuz X2模板htm文件里自由写php代码

discuzX或者说discuz系列,模板标签写法很奇怪,模板文件是htm后缀,以为是静态页面呢,但是后台CSS和模板更新后,飞龙发现 ./data/template 文件夹下自动多了好多php格式的模板文件,当然还有./data/cache缓存文件夹里也多了一些css和php文件,他们都是你提交更新CSS缓存或模板discuz后自动生成和更新的。

所以写DISCUZ X模板,是万万不可直接在data这个缓存文件夹下直接写的!那么我们如何在discuz里自由写php代码呢?这个问题你在模板里多做试验就慢慢明白了。本日志修订网址:http://feilong.org/discuz-x-how-to-write-php

先举个例子看看:

举例1:某个约歌的封面图片:先取用户上传的封面图片、如没有则取用户的头像,如果头像都没有,则取放在discuz的IMGDIR下的某张图


飞龙认为这在htm模板里看起来不简洁,而且不方便多处运用。因此飞龙直接写入相关php函数文件:./sourse/function/function_yuege.php

获取某个二维数组记录的某条记录的封面图片:

//某个音乐的封面图片:先取用户上传的封面图片、如没有则取用户的头像,如果头像都没有则取默认头像
function fl_get_music_face($music){
$uid=$music['uid'];//echo $uid;
$avaurl=avatar($uid,big,true);//echo $avaurl;
$imgurl=$music['imgurl']?$music['imgurl']:'';//echo $imgurl;

$faceurl=$imgurl ? $imgurl :$avaurl;//echo $faceurl;
return $faceurl;
}//20110817-0918

现在我们来学习discuz模板标签写法的基础。

举例2:discuz X2内置字符长度截取php函数用法

discuzX2内置截取字符串函数原型: function cutstr($string, $length, $dot = ‘ …’){//飞龙省略,朋友你自己用dreamweaver在discuz X的源程序里搜索下 ‘function cutstr’ 吧呵呵}




{echo cutstr(strip_tags($meet['meet_info']), 50)}

举例3:写一个discuz X2调用多条记录数据的模板范例,飞龙提示:外围ul标签未写。




  • $thesinger

    $thesummany

  • 举例4:…discuz模板里血while 循环语句

    
    
    
    
    
    
    
    
    
    
    
    
    
    This is the first ,that is  $j  You can inser any html here,even variable itself
    This is $j You can inser any html here,even variable haha
    这是第1个 '$j' is 数组序号 '$k' is 第几个,共5个

    发表评论

    电子邮件地址不会被公开。 必填项已用*标注