[搜]

贴心猫-文档

Url输出

  • surl() 标签函数(假设当前模板组为demo)
    • {surl(0)} : (当前)Demo首页
    • {surl(book:0)} : 文档首页
    • {surl(tptag-tagf);} :标签函数 - 文档
    • {surl(demo:tptag-tagf);} :标签函数 - Demo
    • {surl(tptag-tagf,0,1);} :标签函数 - 文档 - 完整地址
    • {surl(demo:tptag-tagf,0,1);} :标签函数 - Demo - 完整地址
    • {surl(xgroup:ymod)} :无效链接 (xgroup模板组无效)
    • {surl(ymod)} :自定义模型链接
    • {surl(news.2016-12-abcd)} //详情地址
    • {surl(news.2016-34-eeff)} //详情地址
  • 输出的url,会根据设置变化而变化:
    • 如程序配置在网站根目录,或不同子目录,会自动补全前面的路径;
    • 如配置了伪静态,则会输出伪静态链接;
    • 如果生成了静态,则会输出实体静态路径;
    • 还可绑定域名输出;
  • Demo代码效果

多语言标签

  • 场景
    • 模板中,如果只显示一个语言版本;那使用多语言标签没有什么意义,反而增加了麻烦;
    • 如果某些模板区块,供多个语言版本调用;或可切换多个语言(如后台),这是才有实际意义;
    • 提示:核心语言包位置:/imcat/lang/kvphp/;
  • lang() 标签函数
    • <?php=lang('core.sms_errtel')?>, 则调用到:/imcat/lang/kvphp/core-cn.php 中的 sms_errtel 键对应的值;
    • 或者是其它语言(根据设置不同而不同)包对应的 值;
  • 扩展
    • 多语言 扩展,见后面更多章节

提示:surl(), lang() 既是标签函数,又是助手函数; 助手函数可以用在系统任意地方,标签函数只能用于模板;

类别选项

  • opt 标签函数
    • 针对栏目,状态 等一些单选,多选字段;保存的是一些键值,显示时要显示对应的值;而且可能要表现出不同状态,颜色等;
    • 这里的 标签函数 就专门针对此场景设计;
    • 语法:{opt($val='', $mod='', $split=0, $null='')}
    • $val, 为保存的键值,
    • $mod, 为系统模型(如国内地区:china-取其类别,新闻:news-取其栏目,或单选多选字段如:order.status-字段配置)
    • $split, 分割标记, 一般为0,
    • $null, 如果值为空时,默认输出。
  • 预备代码
<?php
    $split = '|';
    $tpl = "<i class='itm-(k) cF00'>(v)</i>";
    $null = '';
?>
  • 默认自动彩色显示
    • cargo栏目-cosys:{sopt(cosys,cargo,0,$null)}
    • cargo栏目-ouapi:{sopt(ouapi,cargo,0,$null)}
  • 多个选项
    • 多个选项-cosys+ouapi:{sopt(cosys+ouapi,cargo,0,$null)}
    • 模版显示-cosys+ouapi:{sopt(cosys+ouapi,cargo,$tpl,$null)}
  • china类别选项
    • china-cnhn:{sopt(cnhn,china,$tpl,$null)}
    • china-cngd:{sopt(cngd,china,$tpl,$null)}
  • 字段属性
    • cargo.fixsys字段属性-imcat:{sopt(imcat,cargo.fixsys,0,$null)}
    • cargo.fixsys字段属性-imblog:{sopt(imblog,cargo.fixsys,0,$null)}
    • cargo.fixsys字段属性-ourhouse:{sopt(ourhouse,cargo.fixsys,0,$null)}
    • cargo为模型,fixsys为多选字段
  • Demo代码效果

图片标题

  • 图片输出 spic 标签函数
    • 输出图片地址,自适应:本地存储,云存储,Ftp远程存储;切换存储不需要修改代码和资料;
    • 输出图片,处理缩略图,如果无图片,可处理默认图片;
    • 语法:{spic($val, $def='', $resize)}
    • $val, 为保存的键值,
    • $def, 如果无图片,设置的默认图片路径
    • $resize, 缩略图大小。
    • eg. {spic($v['mpic'],demo_120x90.jpg,160x120)}
    • 比如,本地调试放在几层目录中,正式使用上传到跟目录,根本不担心图片不显示。
  • 标题输出 title 标签函数
    • 主要处理标题设置的颜色,如新闻;和长度剪切;
    • 语法:{title($val,$len=24,$paras=array())}
    • $val, 为保存的键值,
    • $len, 长度剪切,按汉字计算,字母算1/2个长度,
    • $paras, 当前行数据资料,
    • eg. {title($v['title'],12,$v)}
  • Demo代码效果

(富)文本

  • html(), 输出Html文本块
    • 语法:{html($val)}
    • 处理 文本里的url链接 和 媒体链接
  • text(), 输出Text文本块
    • 语法:{html($val,$len=0,$nobr=0)}
    • 处理 文本里的url链接 和 媒体链接
    • len: 长度剪切
    • nobr: 换行控制
  • Demo
    • {html($t_detail)} Html
    • {text($t_detail,120,1)} 无br换行
    • {text($t_detail,120)} 有br换行

时间输出

  • stime(), 由时间戳输出时间字符串
    • 语法:{stime($val,$fmt='auto',$null='')}
    • fmt: 格式;auto: 自动,
      d: Y-m-d,
      min: Y-m-d H:i,
      full: Y-m-d H:i:s,
      dm: m-d H:i
    • null: 为空时的默认值
  • Demo代码效果