TPshop标签
很多cms 中有很多 标签, 商品标签 文章标签 列表标签 几十个标签, 让开发者头疼, 难记, TPshop开发者考虑到这点, 用了一个万能标签, 开发者非常方便实用
TPshop万能标签只要记住这个标签全站可以通用
示例一
<tpshop sql="select * from `tp_article` where cat_id = 5 order by article_id desc limit 4" item="v" key="k" ><li><a href="">{$v['title']}</a></li></tpshop>
示例二
<tpshop sql="select * from `tp_goods_category` where `parent_id` = '$v[id]' limit 6" key="k2" item='v2'><a class="list_big_o ma-le-30" href="{:U('Home/Index/goodsList',array('id'=>$v2[id]))}">{$v2['name']}<i>></i></a></tpshop>
数组 '$v[id]' 形式, sql语句外面必须 双引号 要区分开来, 要写成 '$v[id]' 而不能写成 $v['id'] $v["id"] {$v[id]} 中括号[ ]里面不能有单引号 双引号 外面不能有 { } 大括号.
/*如上例子看 传sql语句非常方便 可以任意灵活的写sql, 但需要注意 一点 thinkphp 里面标签 不能用特殊字符跟标签冲突, 比如<tpshop sql="select * from `tp_goods` where `goods_id` > 0 " key="k2" item='v2'> 注意这里的 goods_id > 0 的 ">" 符号跟 thinkphp魔板标签的 <if> <foreach> <tpshop> 冲突, 所以thinkphp 里面使用 字符替代 比如 <if condition="5 > 3" >写成 <if condition="5 gt 3" > 用gt 表示 > 大于号. 其他符号也一样gt 表示 > 大于egt 表示 >= 大于等于lt 表示 < 小于
elt 表示 <= 小于等于
上面语句改写成 <tpshop sql="select * from `tp_goods` where `goods_id` gt 0 " key="k2" item='v2'>在TPshop 3.1.3 起 加入了 t="3600" 参数, t 表示针对这个标签设置的缓存时间 秒为单位 如果不指定默认使用 index.php 配置的 TPSHOP_CACHE_TIME 缓存时间,*/
广告标签示例
<adv limit="5" item="v" pid="2"><li><a href="{$v.ad_link}" <if condition="$v['target'] eq 1">target="_blank"</if>><img src="{$v[ad_code]}" width="980" height="400" title="{$v[title]}" style="{$v[style]}"/></a></li></adv>limit 表示获取多少条 item 是遍历时的每一项元素, pid是广告位置id<img src="{$v[ad_code]}" 图片路径 title="{$v[title]}" 图片标题 style="{$v[style]}"/> 设置{$v[style]}在后台更换广告时可以看到广告是半透明的效果, <if condition="$v['target'] eq 1">target="_blank"</if>表示点击广告时是否新窗口打开新添加一个广告位很简单,pid自己写一个数据库中不存在的 会数据库自动插入一个广告位置。不需要手动添加,写pid时 最好以前缀开头来区分, 比如 index.html首页广告位都一 100 101 102 ... 100开头商品列表页面的广告id 都以 200 201 202 203 都以200开头, 这样广告位置才不容易混淆然后后台可以预览点击更换广告。