phpcms v9 标签调用,函数,sql

原创
2016-06-13 11:31:50 1146浏览

1.截取调用标题长度

{str_cut($r[title],36,'')}

2.格式化时间

调用格式化时间 2011-05-06 11:22:33

{date('Y-m-d H:i:s',$r[inputtime])}

3.多栏目调用&多推荐位调用

调用需求:文章范围为59 60 61三个栏目,并且推送到了27 和28两个推荐位;
从第三条开始,连续调用7篇文章。

{pc:get sql="SELECT * FROM v9_news WHERE id IN (SELECT id FROM v9_position_data WHERE posid in(27,28) and catid in(59,60,61)) order by listorder DESC" cache="3600" start="3" num="7" return="data" }
{loop $data $n $r}

  • ·

    1、调用本系统单条数据,示例(调用ID为1的信息,标题长度不超过25个汉字,显示更新日期):
    {get sql="select * from phpcms_content where contentid=1" /}
    标题:{str_cut($r[title], 50)} URL:{$r[url]} 更新日期:{date('Y-m-d', $r[updatetime])}
    2、调用本系统多条数据,示例(调用栏目ID为1通过审核的10条信息,标题长度不超过25个汉字,显示更新日期):
    {get sql="select * from phpcms_content where catid=1 and status=99 order by updatetime desc" rows="10"}
    标题:{str_cut($r[title], 50)} URL:{$r[url]} 更新日期:{date('Y-m-d', $r[updatetime])}
    {/get}
    3、带分页,示例(调用栏目ID为1通过审核的10条信息,标题长度不超过25个汉字,显示更新日期,带分页):
    {get sql="select * from phpcms_content where catid=1 and status=99 order by updatetime desc" rows="10" page="$page"}
    标题:{str_cut($r[title], 50)} URL:{$r[url]} 更新日期:{date('Y-m-d', $r[updatetime])}
    {/get}
    分页:{$pages}
    4、自定义返回变量,示例(调用栏目ID为1通过审核的10条信息,标题长度不超过25个汉字,显示更新日期,返回变量为 $v):
    {get sql="select * from phpcms_content where catid=1 and status=99 order by updatetime desc" rows="10" return="v"}
    标题:{str_cut($v[title], 50)} URL:{$v[url]} 更新日期:{date('Y-m-d', $v[updatetime])}
    {/get}
    5、调用同一帐号下的其他数据库,示例(调用数据库为bbs,分类ID为1的10个最新主题,主题长度不超过25个汉字,显示更新日期):
    {get dbname="bbs" sql="select * from cdb_threads where fid=1 order by dateline desc" rows="10"}
    主题:{str_cut($r[subject], 50)} URL:http://bbs.phpcms.cn/viewthread.php?tid={$r[tid]} 更新日期:{date('Y-m-d', $r[dateline])}
    {/get}
    6、调用外部数据,示例(调用数据源为bbs,分类ID为1的10个最新主题,主题长度不超过25个汉字,显示更新日期):
    {get dbsource="bbs" sql="select * from cdb_threads where fid=1 order by dateline desc" rows="10"}
    主题:{str_cut($r[subject], 50)} URL:http://bbs.phpcms.cn/viewthread.php?tid={$r[tid]} 更新日期:{date('Y-m-d', $r[dateline])}
    {/get}

    不知道有没有朋友在使用中遇到这几种方法不能满足需求的时候呢?

    例如:取出评论数最多的第3条到第10条记录,有人说我是多此一举,一般取最多评论没理由不取第一和第二条,因为PHPCMS的缩略图对4:3这样的尺寸比较好,对长条形(如3:4)的图片缩略效果不好,为了自己手动更新评论最多的第一和第二条记录,故此不想自动更新读取前两条。

    关键点就在 order by B.comments desc LIMIT 3,7 (表示从第3条记录开始,向下读取7条数据)这个在MYSQL是经常用,我抱着试试看的想法,结果是可以的。

    效果如下:

    希望做PHPCMS开发的朋友共同学习和分享

    phpcms V9 保留了2008的get标签的使用方法

    它包括了2种方式一种是内部数据,另一种是外部数据

    我们先分析下内部数据的使用方法

    1、内部数据的调用

    {pc:get sql="SELECT * FROM `XX` WHERE fid =$ltid AND digest =2 AND ifupload =1 ORDER BY tid DESC" num="2" cache= "3600" return="data" }
    {loop $data $r}

    。。。。。

    {/loop}{/pc}

    由此可以看出 get 语句支持num的用法但是不支持 limit 5,5.这样的用法

    实在是很遗憾

    num是调用的条数

    2、外部数据的调用

    { pc : get sql = "SELECT * FROM phpcms_member" cache = "3600" page = "$page" dbsource = "discuz" return = "data" }

      { loop $data $key $val }

      { $val [ username ]}

      { /loop}

      ul >

      { $pages }

      {/ pc }

      一个是数据源,一个是产生的pages翻页效果

      本文来自转载 http://www.itokit.com/2012/0119/73007.html

  • 声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。