很多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开头, 这样广告位置才不容易混淆
然后后台可以预览点击更换广告。

TPshop标签的更多相关文章

  1. tpshop全局公共方法

    TPshop 全局公告函数库 前后台可用  这里只列出有哪些方法, 简单描述, 具体的函数体查看 Application\Common\Common\function.php 文件 <?php ...

  2. a标签点击跳转失效--IE6、7的奇葩bug

    一般运用a标签包含img去实现点击图片跳转的功能,这是前端经常要用到的东西. 今天遇到个神奇的bug:如果在img上再包裹一层div,而且div设置了width和height,则图片区域点击时,无任何 ...

  3. IE6、7下html标签间存在空白符,导致渲染后占用多余空白位置的原因及解决方法

    直接上图:原因:该div包含的内容是靠后台进行print操作,输出的.如果没有输出任何内容,浏览器会默认给该空白区域添加空白符.在IE6.7下,浏览器解析渲染时,会认为空白符也是占位置的,默认其具有字 ...

  4. 百度MIP页规范详解 —— canonical标签

    百度MIP的规范要求必须添加强制性标签canonical,不然MIP校验工具会报错: 强制性标签<link rel="/^(canonical)$/"> 缺失或错误 这 ...

  5. 【CSS进阶】伪元素的妙用--单标签之美

    最近在研读 <CSS SECRET>(CSS揭秘)这本大作,对 CSS 有了更深层次的理解,折腾了下面这个项目: CSS3奇思妙想 -- Demo (请用 Chrome 浏览器打开,非常值 ...

  6. TODO:Laravel 使用blade标签布局页面

    TODO:Laravel 使用blade标签布局页面 本文主要介绍Laravel的标签使用,统一布局页面.主要用到到标签有@yield,@ stack,@extends,@section,@stop, ...

  7. 最新 去掉 Chrome 新标签页的8个缩略图

    chrome的新标签页的8个缩略图实在让人不爽,网上找了一些去掉这个略缩图的方法,其中很多已经失效.不过其中一个插件虽然按照原来的方法已经不能用了,但是稍微变通一下仍然是可以用的(本方法于2017.1 ...

  8. css-父标签中的子标签默认位置

    <!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>& ...

  9. xpath提取多个标签下的text

    title: xpath提取多个标签下的text author: 青南 date: 2015-01-17 16:01:07 categories: [Python] tags: [xpath,Pyth ...

随机推荐

  1. Unity3d中默认函数调用顺序(MonoBehaviour)

    首先要明确的是MonoBehaviour是每个脚本的基类.每个Javascript脚本自动继承MonoBehaviour.使用C#或Boo时,需要显式继承MonoBehaviour.         ...

  2. 【电子基础】液晶显示器原理·LCD驱动基础

    LCD显示器概述   ——>液晶显示器,LCD为英文 Liquid Crystal Display的缩写,它是一种数字显示技术,可以通过液晶和彩色过滤光源,并在平面面板上产生图像.   ——&g ...

  3. audio音乐播放

    1.audio标签 <audio @play="ready" @error="error" ref="audio" :src=&quo ...

  4. OpenCV探索之路(十七):Mat和IplImage访问像素的方法总结

    在opencv的编程中,遍历访问图像元素是经常遇到的操作,掌握其方法非常重要,无论是Mat类的像素访问,还是IplImage结构体的访问的方法,都必须扎实掌握,毕竟,图像处理本质上就是对像素的各种操作 ...

  5. java多线程18: ThreadLocal的作用

    从上一篇对于ThreadLocal的分析来看,可以得出结论:ThreadLocal不是用来解决共享对象的多线程访问问题的,通过ThreadLocal的set()方法设置到线程的ThreadLocal. ...

  6. decode和encode

    作者:于洋链接:https://www.zhihu.com/question/23374078/answer/69732605来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出 ...

  7. TaskWarrior windows版制作

    TaskWarrior TaskWarrior是一款优秀的命令行todo神器,具体用法可以看之前我写的介绍. 但是需要cygiwn环境,而我一直在用cmder的完整包,不想再安装一个cygwin了,于 ...

  8. Go Revel - Routing(路由)

    `Routing`路由控制着请求应该由哪些控制器接受. 它在项目的`conf/routes`文件中定义. 格式为: (METHOD) (URL Pattern) (Controller.Action) ...

  9. kafka中的消费组

    一直以来都想写一点关于kafka consumer的东西,特别是关于新版consumer的中文资料很少.最近Kafka社区邮件组已经在讨论是否应该正式使用新版本consumer替换老版本,笔者也觉得时 ...

  10. 理解ThreadPoolExecutor源代码(二)execute函数的巧妙设计和阅读心得

    ThreadPoolExecutor.execute()源代码提供了大量凝视来解释该方法的设计考虑.以下的源代码来自jdk1.6.0_37 public void execute(Runnable c ...