很多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. python-zip方法

    zip 返回一个将多个可迭代对象组合成一个元组序列的迭代器. 1.  循环多个list的数据: letters = ['a', 'b', 'c'] nums = [1, 2, 3] for lette ...

  2. [iOS Xcode8报错]dyld: Library not loaded: /System/Library/Frameworks/UserNotifications.framework/UserN

    [iOS Xcode8报错]dyld: Library not loaded: /System/Library/Frameworks/UserNotifications.framework/UserN ...

  3. Spark SQL利器:cacheTable/uncacheTable【转】

    转自:http://www.cnblogs.com/yurunmiao/p/4936583.html Spark相对于Hadoop MapReduce有一个很显著的特性就是“迭代计算”(作为一个Map ...

  4. 内部排序比较(Java版)

    内部排序比较(Java版) 2017-06-21 目录 1 三种基本排序算法1.1 插入排序1.2 交换排序(冒泡)1.3 选择排序(简单)2 比较3 补充3.1 快速排序3.2 什么是桶排序3.3 ...

  5. 调整图像的灰度级数C++实现

    图像灰度级数我们见得最多的就是256了,如果想调整它的灰度级数,我们可以使用图像库的imadjust函数来作出调整,比如讲256个灰度级变成2个灰度级(也就是二值图了).再举一个例子,原来一幅256个 ...

  6. Android线程通信

    摘要 andriod提供了 Handler 和 Looper 来满足线程间的通信.例如一个子线程从网络上下载了一副图片,当它下载完成后会发送消息给主线程,这个消息是通过绑定在主线程的Handler来传 ...

  7. C#学习笔记(6)——大项目增删改查

    说明(2017-5-28 11:35:39): 1. 需要注意的地方很多 2. 首先是连接字符串str要直接写在类里面,不然每个按钮里面都要写一遍. 3. 查询用到sqlDataReader等三个方法 ...

  8. 神奇的bug,退出时自动更新时间

    遇到一个神奇的bug,用户退出时,上次登录时间会变成退出时的时间. 于是开始跟踪,发现Laravel在退出时,会做一次脏检查,这时会更新rember_token,这时就会有update操作如下. 而粗 ...

  9. Parquet

     Parquet是列式存储格式的一种文件类型,列式存储有以下的核心优势: 可以跳过不符合条件的数据,只读取需要的数据,降低IO数据量压缩编码可以降低磁盘存储空间,由于同一列的数据类型是一样的,可以使用 ...

  10. nginx报502 bad GateWay错误的解决方法

    nginx+php-fpm+mysql的网站,访问nginx的某个页面,报502 GateWay的错误,一般见到此错误,可以判断是php-fpm的问题,而不是nginx的问题.通过监控nginx的错误 ...