设为首页收藏本站

邯郸搜搜网-discuz模板制作,discuz插件开发,

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
联系我们
拖动 最小化 关闭 停靠
邯郸搜搜网
欢迎QQ或来电咨询
模板插件 有事您Q我
域名主机 有事您Q我
售后服务 有事您Q我
dz站长QQ群
域名主机QQ群
qq客服插件群
淘宝客服
模板制作 加入旺旺群
工作时间:周一至周五
AM9:00-PM18:00
电话:15531032581
(短信预约)
淘宝店铺 猪八戒
论坛邀请码
收听我们
购买此插件
    查看: 5130|回复: 2

    smarty制作自定义标签

      [复制链接]
    发表于 2011-9-12 15:09:33 | 显示全部楼层 |阅读模式
    smarty自定义标签我用过的有 block和function,
    block标签是用来制作封闭标签的。比如littlephpcms中的lpc_list标签,下面以这个标签为例介绍如何制作block标签。
    lpc_list的标签用来显示某栏目下的文字列表,详情请看littlephpcms标签使用说明制作标签分下面几步
    1.注册标签
    1.     $smarty->registerPlugin("block","lpc_list","lpc_list");//文章列表无分页
    复制代码
    2.写标签函数
    1. function lpc_list($params, $content, $smarty) {
    2.         require_once dirname(__FILE__).'/../admin/lib/db/conn_front.php';
    3.         extract($params);
    4.         $query = " select * from lpc_article a where a.column_id=".$col;
    5.         $query .=" order by ".$order." ".$orderby." limit ".$num." ";
    6.     $result = mysql_query($query);
    7.     while($row=mysql_fetch_array($result)){
    8.             $newrow[] = $row;
    9.     }
    10.     $smarty->assign('rows',$newrow);
    11.     return $content;
    12. }
    复制代码
    3.调用标签
    1. {lpc_list col=4 num=10 order=id orderby=desc}
    2.                 {foreach $rows as $r}
    3.                   <li><a target="_blank" href="../../article.php?id={$r.id}">{$r.title}</a><span class="date">{$r.addtime}</span></li>
    4.                 {/foreach}
    5.         {/lpc_list}
    复制代码

    效果请看:lpc.hdsoso.com

    相关帖子

     楼主| 发表于 2011-9-12 15:17:43 | 显示全部楼层
    下面看function标签,这种标签是制作单标签用的,就是不是封闭标签。
    以lpc_sitename这个站点名称标签为例
    1.先注册
    1.         $smarty->registerPlugin("function","lpc_sitename", "lpc_sitename");
    复制代码
    2.编写标签函数
    1. function lpc_sitename($params, $smarty){
    2.         require_once dirname(__FILE__).'/../admin/lib/db/conn_front.php';
    3.                 $query = "select sitename from lpc_config where id =1";
    4.                 $result = mysql_query($query);
    5.                 $row = mysql_fetch_array($result);
    6.                  return $row["sitename"];
    7. }
    复制代码
    3.调用
    1. <title>{lpc_sitename}</title>
    复制代码


     楼主| 发表于 2012-1-15 12:57:45 | 显示全部楼层
    此功能暂时没有,现在是图片同名的话会覆盖。
      您需要登录后才可以回帖 登录 | 注册

      本版积分规则

      QQ|搜索|免责声明|小黑屋|手机版|Archiver|邯郸搜搜网 ( 邯郸搜搜网  

      GMT+8, 2017-11-18 18:21 , Processed in 1.958968 second(s), 28 queries .

      Powered by Discuz! X3.1

      © 2001-2013 Comsenz Inc.

      快速回复 返回顶部 返回列表