Maison >développement back-end >tutoriel php >PHPCMS2008制造标签以及标签模板

PHPCMS2008制造标签以及标签模板

WBOY
WBOYoriginal
2016-06-13 11:16:531050parcourir

PHPCMS2008制作标签以及标签模板

标签设置教程

我们从简单到复杂

第一种:中文标签

这种再简单不过了,就是通过后台设置标签参数调用

通过选择读取段来进行调用,这里设置都是中文字,我们都是中国人,也就不多说了。

栏目   常用变量表示 $catid   可以用这个变量调用,也可以指定到某个栏目下面,用变量调用,它会根据当前页面的栏目来获取id从而根据你的标签设置条件来进行显示

类别 常用变量表示:$typeid 也一样

地区     常用变量表示:$areaid

缩略图 常用变量表示:$thumb       这个是选择条件,你选择了就是调用图片文章,信息类的

发布人   常用变量表示:$userid       调用指定会员的,也可以在查看某个会员的东西时用到

更新时间   常用变量表示:$updatetime 发布时间   常用变量表示:$inputtime   调用指定某一天的

推荐位   常用变量表示:$posids          推荐位置,在发布文章的时候有推荐位置选择,在这里就可以调用了

排序方式 按ID,时间,浏览次数等等调用,这根据不同的位置选择不同的调用方式。如:排行,就用浏览次数,最新就按发布时间降序

分页显示 调用条数 这个不用说,看字会意就知道了

标签模板 这里是该标签你将要调用哪个标签模板,以什么样的形式调用,新加的标签模板也会显示到这里的。如:我新建的标签模板叫tag_content_w3zz.html,里面保存我要显示的样式,这里就可以选择调用这个模板了

自定义变量   这就是2008的强大之处,连变量我们都可以自己定义了。你想要哪样的变量就定义哪样的,但是你要记得这里的变量就是你标签模板里面用来判断的变量,如:字数,是否显示,链接打开方式,时间格式等等

在这里设置的自定义字段一定要记住,务必要与标签模板里面的对应,否则无显示。

第二种:通过自定义SQL调用

这种只要懂SQL的就应该完全没有问题

现在我以例子来说明怎么写这样的SQL

第一种,调用一个数据表的内容:

如:调用图片栏目的图片

SELECT contentid,title,style,thumb,url FROM `content` WHERE   `status`=99   AND   `thumb`!=''   ORDER BY contentid DESC"

这里我查询了内容ID,标题,样式,缩略图,链接地址这里的字段可以在后台系统设置--系统工具--数据字典里面查看各个数据表的字段加以理解,这里也可以对照,通过后台设置标签参数调用的字段来写

select是PHP查询函数

contentid这些是你要查询出来的东西,如果你要全部查询就用*,把全部字段内容都查询出来

from 'phpcms_content' 这是从数据表'phpcms_content'里面查询,你要查询哪个数据表就写哪个数据表

WHERE   `status`=99   AND   `thumb`!=''   这个是查询条件,status是状态,如:审核通过 AND是连接多个查询条件,是并且的关系,同时满足才可以,还有一个是or是或者,满足多个条件之中的一个就可以了。

ORDER BY contentid DESC 这个是排序方式,这里也可以对照,通过后台设置标签的排序方式就可以了。desc是降序,asc是升序

第二种:查询两个数据表

SELECT a.contentid,a.title,a.style,a.thumb,a.updatetime,b.unit,b.price,a.description,a.inputtime,b.stars,a.url FROM `pc_content` a, `pc_c_product` b WHERE a.contentid=b.contentid AND   `status`=99   AND   `thumb`!=''   ORDER BY a.contentid DESC

其实相对于第一种情况,也差不多,就是对数据表进行处理,同时查询两个表

看懂了第一种,这种也简单,就是将表`pc_content`定义成a,pc_c_product定义成 b,然后分别查询这两个表里面你所需要的字段,如a.contentid,,b.price

a.contentid=b.contentid 条件这个就是这两个表相关的字段,也就是因为这样,所以才用这样的SQL进行相关查询,最重要的也就是这点。可以说这种SQL就是一种相关查询。

标签模板教程

以我新建如图效果的标签模板为例

PHPCMS2008制作标签以及标签模板 - 萧寒 - 回忆录

标签模板的代码:(分析一下标签模板)

{loop $data $n $r}      

循环,很多人拿起就问 $data $n $r这三个参数是什么意义,因为他没有看程序,就单看这里我也不知道是什么意义。所以我看程序了。 $data就是程序通过查询,也就是标签设置里面设置出来的SQL查询出来的结果就以数组的形式保存在这个里面。 $n是列数,08是从第1条开始的,这个与07的有点不同,07的是从0开始的,所以如果下面要写关于这个的判断就得注意了。如:我要隔5条显示一条线的判断就要写成{if $n%5==1}


{/if}. $r就是你将循环出来的值保存的变量,这个和后面的显示就相关了,所以这里的变量一定要注意和后面的对应。

  • {$r[title]}

    显示图片{thumb($r[thumb], $width, $height)}缩略图函数,三个参数分别是,图片,宽度,高度

    {if $r[style]}{str_cut($r[title], $titlelen,'')}{else}{str_cut($r[title], $titlelen,'')}{/if}

    标题显示{if $r[style]}这个判断是判断你添加的时候是否给了样式,就是颜色和加粗,如果有给就按这个样式显示出来,否则就按CSS文件显示。{str_cut($r[title], $titlelen,'')}截取标题,按照我们在自定义字段那里加的titlelen来截取,系统的是{str_cut($r[title], $titlelen)}这样会显示省略号,如果你不想要省略号就用我的这里的。

    {if $showprice}
    ¥{$r[price]}元/{$r[unit]}{/if}{if $showcart}

    显示价格 {if $showprice}判断是否显示 showprice在自定义字段里面设置一个非0的值

    订购产品PHPCMS2008制造标签以及标签模板{/if}

  • 显示购买的那两个图片,链接,这些都参照内容页的购买设置就可以了。

    {/loop}

    结束循环,这个不能少哟,少了就无法更新了,注意完整,在哪里都应该注意

    {if $pages}

    {$pages}

    {/if}

    是否分页显示,这个在标签设置处设置

    其实我就是给默认的产品标签模板加了几个判断显示而已,其它的产品标签同样也可以用我这个显示想要的内容

    我的自定义字段是:

    PHPCMS2008制作标签以及标签模板 - 萧寒 - 回忆录

    这样我的标签就出来了。

    看起来很简单吧

    Déclaration:
    Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn