phpcms2008制作标签以及标签模板教程
<p><span>标签设置教程 </span><br><span>我们从简单到复杂 </span><br><br><strong>第一种:中文标签</strong><span> </span><br><span>这种再简单不过了,就是通过后台设置标签参数调用 </span><br><span>通过选择读取段来进行调用,这里设置都是中文字,我们都是中国人,也就不多说了。 </span><br><span>栏目 常用变量表示 $catid 可以用这个变量调用,也可以指定到某个栏目下面,用变量调用,它会根据当前页面的栏目来获取id从而根据你的标签设置条件来进行显示 </span><br><span>类别 常用变量表示:$typeid 也一样 </span><br><span>地区 常用变量表示:$areaid </span><br><span>缩略图 常用变量表示:$thumb 这个是选择条件,你选择了就是调用图片文章,信息类的 </span><br><span>发布人 常用变量表示:$userid 调用指定会员的,也可以在查看某个会员的东西时用到 </span><br><span>更新时间 常用变量表示:$updatetime 发布时间 常用变量表示:$inputtime 调用指定某一天的 </span><br><span>推荐位 常用变量表示:$posids 推荐位置,在发布文章的时候有推荐位置选择,在这里就可以调用了 </span><br><span>排序方式 按ID,时间,浏览次数等等调用,这根据不同的位置选择不同的调用方式。如:排行,就用浏览次数,最新就按发布时间降序 </span><br><span>分页显示 调用条数 这个不用说,看字会意就知道了 </span><br><span>标签模板 这里是该标签你将要调用哪个标签模板,以什么样的形式调用,新加的标签模板也会显示到这里的。如:我新建的标签模板叫tag_content_w3zz.html,里面保存我要显示的样式,这里就可以选择调用这个模板了 </span><br><span>自定义变量 这就是2008的强大之处,连变量我们都可以自己定义了。你想要哪样的变量就定义哪样的,但是你要记得这里的变量就是你标签模板里面用来判断的变量,如:字数,是否显示,链接打开方式,时间格式等等 </span><br><span>在这里设置的自定义字段一定要记住,务必要与标签模板里面的对应,否则无显示。 </span><br><br><strong>第二种:通过自定义SQL调用</strong><span> </span><br><span>这种只要懂SQL的就应该完全没有问题 </span><br><span>现在我以例子来说明怎么写这样的SQL </span><br><span>第一种,调用一个数据表的内容: </span><br><span>如:调用图片栏目的图片 </span></p>
<div>
<p>
<span><u>复制代码</u></span></p>
<p>
代码如下:</p>
</div>
<p>
<br>
SELECT contentid,title,style,thumb,url FROM `phpcms_content` WHERE `status`=99 AND `thumb`!='' ORDER BY contentid DESC" </p>
<p>
<br><span>这里我查询了内容ID,标题,样式,缩略图,链接地址这里的字段可以在后台系统设置--系统工具--数据字典里面查看各个数据表的字段加以理解,这里也可以对照,通过后台设置标签参数调用的字段来写 </span><br><span>select是PHP查询函数 </span><br><span>contentid这些是你要查询出来的东西,如果你要全部查询就用*,把全部字段内容都查询出来 </span><br><span>from 'phpcms_content' 这是从数据表'phpcms_content'里面查询,你要查询哪个数据表就写哪个数据表 </span><br><span>WHERE `status`=99 AND `thumb`!='' 这个是查询条件,status是状态,如:审核通过 AND是连接多个查询条件,是并且的关系,同时满足才可以,还有一个是or是或者,满足多个条件之中的一个就可以了。 </span><br><span>ORDER BY contentid DESC 这个是排序方式,这里也可以对照,通过后台设置标签的排序方式就可以了。desc是降序,asc是升序 </span><br><span>第二种:查询两个数据表 </span></p>
<div>
<p>
<span><u>复制代码</u></span></p>
<p>
代码如下:</p>
</div>
<p>
<br>
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 </p>
<p>
<br><span>其实相对于第一种情况,也差不多,就是对数据表进行处理,同时查询两个表 </span><br><span>看懂了第一种,这种也简单,就是将表`pc_content`定义成a,pc_c_product定义成 b,然后分别查询这两个表里面你所需要的字段,如a.contentid,,b.price </span><br><span>a.contentid=b.contentid 条件这个就是这两个表相关的字段,也就是因为这样,所以才用这样的SQL进行相关查询,最重要的也就是这点。可以说这种SQL就是一种相关查询。 </span><br><span>标签模板教程 </span><br><span>以我新建如图效果的标签模板为例 </span><br><span>标签模板的代码:(分析一下标签模板) </span><br><span>{loop $data $n $r} </span><br><span>循环,很多人拿起就问 $data $n $r这三个参数是什么意义,因为他没有看程序,就单看这里我也不知道是什么意义。所以我看程序了。 $data就是程序通过查询,也就是标签设置里面设置出来的SQL查询出来的结果就以数组的形式保存在这个里面。 $n是列数,08是从第1条开始的,这个与07的有点不同,07的是从0开始的,所以如果下面要写关于这个的判断就得注意了。如:我要隔5条显示一条线的判断就要写成{if $n%5==1}<hr>{/if}. $r就是你将循环出来的值保存的变量,这个和后面的显示就相关了,所以这里的变量一定要注意和后面的对应。 </span></p>
<blockquote>
<ol>
<li>
<span><span><li><a href=</span><span>"{$r}"</span><span> target=</span><span>"{$target}"</span><span>><img src=</span><span>"{thumb($r, $width, $height)}"</span><span> width=</span><span>"{$width}"</span><span> height=</span><span>"{$height}"</span><span> alt=</span><span>"{$r}"</span><span> /></a> </span></span>
</li>
</ol>
</blockquote>
<p>
<span>显示图片{thumb($r, $width, $height)}缩略图函数,三个参数分别是,图片,宽度,高度 </span></p>
<blockquote>
<ol>
<li>
<span><span><a href=</span><span>"{$r}"</span><span> target=</span><span>"{$target}"</span><span>>{</span><span>if</span><span> $r}<span </span><span>class</span><span>=</span><span>"{$r}"</span><span>>{str_cut($r, $titlelen,</span><span>''</span><span>)}</span>{</span><span>else</span><span>}{str_cut($r, $titlelen,</span><span>''</span><span>)}{/</span><span>if</span><span>}</a> </span></span>
</li>
</ol>
</blockquote>
<p>
<br><span>标题显示{if $r}这个判断是判断你添加的时候是否给了样式,就是颜色和加粗,如果有给就按这个样式显示出来,否则就按CSS文件显示。{str_cut($r, $titlelen,'')}截取标题,按照我们在自定义字段那里加的titlelen来截取,系统的是{str_cut($r, $titlelen)}这样会显示省略号,如果你不想要省略号就用我的这里的。 </span></p>
<div>
<p>
<span><u>复制代码</u></span></p>
<p>
代码如下:</p>
</div>
<p>
<br>
{if $showprice}<br>
¥{$r}元/{$r}{/if}{if $showcart}</p>
<p>
<br><span>显示价格 {if $showprice}判断是否显示 showprice在自定义字段里面设置一个非0的值 </span></p>
<blockquote>
<ol>
<li>
<span><span><a href=</span><span>"{SITE_URL}order/create.php?num=1&name={urlencode($r)}&price={$r}&url={$r}&unit={urlencode($r)}&verify={md5(AUTH_KEY.$r.$r.$r.$r)}"</span><span>><img src=</span><span>"{SITE_URL}images/xx1.gif"</span><span> alt=</span><span>"订购产品"</span><span> style=</span><span>"margin:8px"</span><span>/></a><a href=</span><span>"{$r}"</span><span>><img src=</span><span>"{SITE_URL}images/xx2.gif"</span><span> style=</span><span>"margin:8px"</span><span> /></a>{/</span><span>if</span><span>}</li> </span></span>
</li>
<li>
<span>显示购买的那两个图片,链接,这些都参照内容页的购买设置就可以了。 </span>
</li>
</ol>
</blockquote>
<p>
<br><span>{/loop} </span><br><span>结束循环,这个不能少哟,少了就无法更新了,注意完整,在哪里都应该注意 </span></p>
<div>
<p>
<span><u>复制代码</u></span></p>
<p>
代码如下:</p>
</div>
<p>
<br>
{if $pages}<p id="pages">{$pages}</p>{/if} </p>
<p>
<br><span>是否分页显示,这个在标签设置处设置 </span><br><span>其实我就是给默认的产品标签模板加了几个判断显示而已,其它的产品标签同样也可以用我这个显示想要的内容 </span><br><span>我的自定义字段是: </span><br><img style="max-width:100%!important;height:auto!important;"title="phpcms2008制作标签以及标签模板教程" alt="phpcms2008制作标签以及标签模板教程" src="https://zhuji.jb51.net/uploads/img/202305/bdf1a31a7a6a6685b779964c55e4d9bf.jpg"><span> </span><br><span>这样我的标签就出来了。 </span><br><span>看起来很简单吧 </span><br><span>但是标签模板也设计到写css,这一块就不说了,因为我对CSS也不是很了解,呵呵。略懂,再加上每个人的需求不同,就不固定人的思维了。</span></p>
頁:
[1]