Gallery:主题:参考:修改器

来自站长百科
跳转至: 导航、​ 搜索

Smarty修改器基础[ ]

Smarty使用修改器来用不同的方式显示文本,比如将一个字串显示为大写字母,小写字母或标题。模板中的任何变量都可以被应用上一个修改器,只要带上一个竖杠标记('|')和某修改器名称即可:

使用修改器[ ]

{$user.userName} 不改变格式的情况下显示变量$user.userName
{$user.userName|upper} 使用upper修改器以大写字母显示变量$user.userName

将若干个修改器串链在一起[ ]

使用竖杠就可以将若干个修改器串链在一起了:

{$user.userName|upper|strip_tags} 先使用upper修改器接着是strip_tags修改器的方式来显示变量$user.userName

对修改器使用参量[ ]

某些修改器可以使用参量来控制它们的行为,比如内置的Smarty修改器 truncate可以截取给定长度的字串。期望的字串长度作为一个参量传输给修改器:

{$user.userName|truncate:20} 以20个字符的长度显示变量$user.userName

如果一个修改器有若干个参量的话,它们就必须按顺序进行传输,以冒号隔开。不愿为其赋值的可选参量的冒号之后的数值将被省略掉:

{$user.userName|truncate:20::true:true} 显示变量$user.userName并向truncate修改器传输四个参量:
  • Parameter 1 = 20 - the length to truncate at
  • Parameter 2 = optional and not specified
  • Parameter 3 = true
  • Parameter 4 = true

深入了解修改器[ ]

有关在模板中使用修改器以及Smarty中内置修改器的更详细信息可在 Smarty 手册中找到。

Gallery2的Smarty修改器[ ]

Gallery2向Smarty添加额外的修改器进行文本格式化以为gallery所用。包括有:

entitytruncate[ ]

用法: entitytruncate:length:etc:breakWords

entitytruncate 修改器截取一个字串,但禁止在HTML实体或multibyte字符的中部的截取

参量:

  • length(整数)-输出字段的最大长度
  • etc(字串)-用于后置到某被截取的字串,默认为3个句号('...')
  • breakWords (boolean) – 如为true,entitytruncate将在中部截断某字串。默认为false

ireplace[ ]

用法: ireplace:search:replace

ireplace作为一个大小写敏感的搜索,并替换它所修改的变量,将search替换为replace

参量:

  • search(字串)-变量中进行查找的字串
  • replace(字串)-替换search的字串

markup[ ]

用法: markup

markup修改器根据站点管理设定中设置的标记格式(raw HTML,BBCode或无格式)来格式化某个变量

print_r[ ]

用法: print_r

此修改器用于debug,并且如果某变量含有子键(subkey)的话,就会递归式地将其打印出来。更多有关print_r关键词的信息可在PHP手册中找到

repeat[ ]

用法: repeat:count

repeat修改器按指定次数重复某变量

参量:

  • count(整数)-此repeat所修改的变量重复次数

split[ ]

用法: split:separator:regexp

split 将某变量截断为使用给定分隔符的数组。有关split的更多信息可在PHP手册中查到

参量:

  • separator(字串)–此字串标注变量应被截断的位置
  • regexp (boolean) - if true then separator解析为一个正则表达式。默认为false