热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Smarty教程(基本语法)

Smarty教程(基本语法)
1.smarty的配置
      首先,使用smarty第一件事是先配置好,一般有以下9行代码

require_once("smarty/libs/Smarty_class.php"); //把smarty的类定义文件包含进来
      $smarty=new smarty();
      $smarty->config_dir="smarty/libs/Config_File.class.php";
      $smarty->caching=false; //是否使用缓存,项目在调试期间,不建议启用缓存
      $smarty->cache_dir="smarty_cache/"; //缓存文件夹
      $smarty->template_dir="smarty_tpl";           //模板文件夹
      $smarty->compile_dir="smarty_compile";      //编译文件夹
      $smarty->left_delimiter="<{";            // 标签符定义不是必要的,smarty默认是使用"<"和">",强烈建议更换。
                                         //因为如果smarty的标签刚好在Javascript语句里面时,冲突的可能性很大
      $smarty->right_delimiter="}>";

      以上的9行代码可以放在一个独立的文件,需要使用smarty的页面引用进来即可


2. smarty的使用
      smarty替换标签的语法:
      smarty->assign("标签名","值");
      smarty->display("index.html"); //显示内容,index为模板文件名

      假定模板文件里面有一个标签 <{ $user_name }> (注意:标签里面的变量必须带$)
那么在PHP文件可以:
      $new_name="Joan";
      smarty->assign("user_name",$new_name); (注意:在此时,user_name是不带$的)
      smarty->display("index.html"); //显示内容,index为模板文件名


3. smarty的循环
      循环的使用在php文件像处理普通标签一样处理
     
      模板文件代码:
     
<{section name=s loop=$stu}>
     
     
     
<{/section}>
     

           <{$stu[s]}>
     


那么在PHP文件可以:
假如有一个数组,或一个记录集 $rs
$smarty->assign("stu",$rs);
$smarty->display("index.html"); //在PHP文件处理循环标签和普通标签没什么区别。
教程原创:www.37dg.com(王颂元)
转载请注明出处,谢谢合作

4.      smarty的if 语法
      模板文件
      <{if $my_r>500 }>
           <{$my_r}>
      <{/if}>

      php文件:

      $aa=123;
      $smarty->assign("my_r",$aa);     
      $smarty->display("in.html");
上例中,如果$aa>500,my_r的标签就能显示出来,否则不显示。
<{ if 条件 }> //此处的条件不要加括号,也不要像basic语言那样在后面加 then

<{/if}>

5. smarty循环配合if 使用实例

      PHP文件
----------------------------------
      $aa[0]=123;
      $aa[1]=456;
      $aa[2]=789;
      $smarty->assign("my_r",$aa);
      $smarty->display("in.html");

      模板文件
------------------------------------------------------
      <{ section name=s loop=$my_r }>
      <{if $my_r[s]>200 }>
      <{$my_r[s]}>
      <{else}>
           小于200
      <{/if}>
     

      <{/section}>
-----------------------------------------------
上例中,只显示大于200的数值



推荐阅读
  • C#设计模式学习笔记:观察者模式解析
    本文将探讨观察者模式的基本概念、应用场景及其在C#中的实现方法。通过借鉴《Head First Design Patterns》和维基百科等资源,详细介绍该模式的工作原理,并提供具体代码示例。 ... [详细]
  • 如何清除Chrome浏览器地址栏的特定历史记录
    在使用Chrome浏览器时,你可能会发现地址栏保存了大量浏览记录。有时你可能希望删除某些特定的历史记录而不影响其他数据。本文将详细介绍如何单独删除地址栏中的特定记录以及批量清除所有历史记录的方法。 ... [详细]
  • 利用Selenium与ChromeDriver实现豆瓣网页全屏截图
    本文介绍了一种使用Selenium和ChromeDriver结合Python代码,轻松实现对豆瓣网站进行完整页面截图的方法。该方法不仅简单易行,而且解决了新版Selenium不再支持PhantomJS的问题。 ... [详细]
  • 本题来自WC2014,题目编号为BZOJ3435、洛谷P3920和UOJ55。该问题描述了一棵不断生长的带权树及其节点上小精灵之间的友谊关系,要求实时计算每次新增节点后树上所有可能的朋友对数。 ... [详细]
  • 主板IO用W83627THG,用VC如何取得CPU温度,系统温度,CPU风扇转速,VBat的电压. ... [详细]
  • 嵌入式开发环境搭建与文件传输指南
    本文详细介绍了如何为嵌入式应用开发搭建必要的软硬件环境,并提供了通过串口和网线两种方式将文件传输到开发板的具体步骤。适合Linux开发初学者参考。 ... [详细]
  • 解决TensorFlow CPU版本安装中的依赖问题
    本文记录了在安装CPU版本的TensorFlow过程中遇到的依赖问题及解决方案,特别是numpy版本不匹配和动态链接库(DLL)错误。通过详细的步骤说明和专业建议,帮助读者顺利安装并使用TensorFlow。 ... [详细]
  • 探索新一代API文档工具,告别Swagger的繁琐
    对于后端开发者而言,编写和维护API文档既繁琐又不可或缺。本文将介绍一款全新的API文档工具,帮助团队更高效地协作,简化API文档生成流程。 ... [详细]
  • 本文探讨了在构建应用程序时,如何对不同类型的数据进行结构化设计。主要分为三类:全局配置、用户个人设置和用户关系链。每种类型的数据都有其独特的用途和应用场景,合理规划这些数据结构有助于提升用户体验和系统的可维护性。 ... [详细]
  • Linux中的yum安装软件
    yum俗称大黄狗作用:解决安装软件包的依赖关系当安装依赖关系的软件包时,会将依赖的软件包一起安装。本地yum:需要yum源,光驱挂载。yum源:(刚开始查看yum源中的内容就是上图 ... [详细]
  • 本文探讨了如何解决PHP文件无法写入本地文件的问题,并解释了PHP文件中HTML代码无效的原因,提供了一系列实用的解决方案和最佳实践。 ... [详细]
  • 鼠标悬停出现提示信息怎么做
    概述–提示:指启示,提起注意或给予提醒和解释。在excel中会经常用到给某个格子增加提醒信息,比如金额提示输入数值或最大长度值等等。设置方式也有多种,简单的,仅为单元格插入批注就可 ... [详细]
  • 精致小屏灰色风格苹果CMS v10模板,支持DIY主题管理系统
    探索一款专为影视站设计的苹果CMS v10模板,具备强大的主题管理系统和500多个设置项,无需二次开发即可轻松配置。下载地址:https://www.mytheme.cn/maccms/244.html,演示地址:http://demo.mytheme.cn/index.php?id=244。 ... [详细]
  • 云屏系统基于嵌入式微系统msOS,旨在解决当前嵌入式彩屏GUI编程中硬件要求高、软件开发复杂、界面效果不佳等问题。该系统通过结合MCU和Android技术,利用Html5+JavaScript实现高效、易用的图形用户界面开发,使嵌入式开发人员能够专注于业务逻辑。 ... [详细]
  • 本文档汇总了Python编程的基础与高级面试题目,涵盖语言特性、数据结构、算法以及Web开发等多个方面,旨在帮助开发者全面掌握Python核心知识。 ... [详细]
author-avatar
living_ren
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有