今天给各位分享phpcmsnum的知识,其中也会对进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、phpcms {pc:special listorder="2" num="3"}中的当listorder值为1,2,3时都代表什么
- 2、PHPcms分2组调用子栏目,第二次调用时order="id DESC LIMIT 2,3--"感觉这里的2没有起着用,怎么破?
- 3、phpcms标签的pc怎么使用limit
- 4、phpcms文章描述标签什么?
- 5、关于PHPCMS V9样式循环的问题,求高手解惑
1、phpcms {pc:special listorder="2" num="3"}中的当listorder值为1,2,3时都代表什么
当listorder取值为0,1,2,3,分别对应id ASC,id DESC,listorder ASC,listorder DESC
2、PHPcms分2组调用子栏目,第二次调用时order="id DESC LIMIT 2,3--"感觉这里的2没有起着用,怎么破?
原因分析:
在phpcms模板中栏目标签数据的获取方式跟文章列表等标签的获取方式有所不同,它并非读取数据库而来,而是直接调用栏目信息的缓存文件(一个存在缓存文件中的大数组)来根据标签中指定的属性条件来过滤最后返回你指定的数据。
而在上面提到的它的过滤过程中,并没有使用到order属性,于是,你在order里写的数量限制条件就无效了因为根本没用。
解决办法:
在给出解决办法之前先给予你现在代码的几个修改意见,也会在后面解决办法里面用到:
第一点,栏目数据中并没有id字段。栏目数据表的主键字段为catid,所以你在order条件中以id为排序字段是无效的。
第二点,limit条件写在order属性中是不规范的。这种写法在别的标签里使用时屏蔽了num属性的作用理论上可行,但是不符合phpcms的标签规范的,order属性用于指定获取数据的排序方式,我们使用num属性来指定获取数据的数量,可以使用属性start指定读取数据的起始位置。
根据以上两点,我们使用get万能标签来达到读取数据库获取栏目信息的目的:
{pc:get sql="select * from phpcms_category where parentid=46 order by catid desc" num="3" start="2"}
!--sql命令中数据表前缀直接写phpcms_即可,系统会自动替换为有效前缀,不能在sql里写limit条件,要使用num和start属性指定--
{loop $data $n $x}
a href="{$x[url]}" title="{$x['catname']}" class="sunb"{$x[catname]}/a
{/loop}
{/pc}
PS:
在loop标签中看到你使用了title字段,在栏目的数据中没有这个字段所以这里调用它是无效的,一般我们在调用文章列表时使用它,虽然不会影响当前讨论的问题但也提一下以便你优化。
更多pc标签使用方法和属性详解可以参考phpcms的官方手册以及iphpcms的pc标签全面总结视频教程有全面深入的讲解。
如果你有php程序开发基础,也可以自己定义开发新的栏目标签来解决,内容模块自定义标签文件:/phpcms/modules/content/classes/content_tag.class.php
3、phpcms标签的pc怎么使用limit
pc标签中使用num属性来指定获取数据的条数,比如:
{pc:content action="lists" catid="1" num="8" order="id desc"}
!--num属性指定获取8条数据,相当于sql命令中的"limit 0,8"--
...
{/pc}
当然,如果你指定获取的数据不是从0开始的,那么可以使用start属性配合指定从第几条开始读,演示如下:
{pc:content action="lists" catid="1" start="3" num="8" order="id desc"}
!--start属性指定起始位置,相当于sql命令中的"limit 3,8"--
...
{/pc}
PS:更多phpcms标签使用方法可以参考官方开发手册以及iphpcms的详细视频教程。
4、phpcms文章描述标签什么?
phpcms常用标签
guml
php开发
顶级栏目名称:{$CATEGORYS[$top_parentid][catname]}
顶级栏目url:{$CATEGORYS[$top_parentid][url]}
顶级栏目id:{$CATEGORYS[$top_parentid][catid]}
其他字段只需要改动xxx:{$CATEGORYS[$top_parentid][xxx]}
父栏目名称:{$CATEGORYS[$CAT[parentid]][catname]}
父栏目url:{$CATEGORYS[$CAT[parentid]][url]}
父栏目id:{$CATEGORYS[$CAT[parentid]][catid]}
其他字段只需要改动xxx:{$CATEGORYS[$CAT[parentid]][xxx]}
**************************
内容页:
{$CAT[catid]}//调用上一级 栏目id
{$CAT[catname]}//调用上一级 栏目名称
{$CAT[url]}//调用上一级 栏目url
*****************************
{go($catid,$id)} 获取当前页面链接 {$url}在静态时不正常
{$CATEGORYS[$catid][url]} 显示当前栏目链接
{$CATEGORYS[$catid][catname]} 显示当前栏目名称
{$CATEGORYS[$r[catid]][catname]}循环内显示栏目
{if $r[thumb]}img src="{thumb($r[thumb],120,90)}"
alt="{$r[title]}" width="120" height="90" /{/if}有图显示图 没图不显示
截取:{str_cut($r[title],46,'')}
{str_cut(strip_tags($r[content]),400)} 列表页调取内容 过滤html标签 需要加moreinfo="1"
{date('Y-m-d H:i:s', $r['inputtime'])} 列表页调取发布时间
{date('Y-m-d',strtotime($inputtime))} 或者 {date('Y-m-d',time($inputtime))} 内容页调取发布时间
**********************************************************************
phpcms 调用当前栏目下的子栏目
category.html 写以下代码:
{loop subcat($catid) $r}
ul
lia href="{$r[url]}" title="{$r[catname]}"{$r[catname]}/a/li
/ul
{/loop}
list.html 写以下代码:
{loop subcat($catid) $r}
ul
lia href="{$CATEGORYS[$r[catid]][url]}"{$CATEGORYS[$r[catid]][catname]}/a/li
/ul
{/loop}
********************************************************************************
div class="pindaoright" {if $r[thumb]==""} style="width:100%;" {/if}
如果图片不存在 则执行某某
********************************
{if $r['catid']==$catid} class="newclass" {/if} 导航栏当前栏目增加class
*********************************************************
phpcms分页代码
style type="text/css"
.text-c {margin:10px 0;}
.text-c a {padding:5px;margin:0 8px;border:1px solid #ccc;background-color:#eee;}
/style
centerdiv id="pages" class="text-c"{$pages}/div/center
****************************************************************
phpcms v9列表页默认分页页码为10页,下面为分页页码条数的修改方法:
打开phpcms\libs\functions\global.func.php文件,
找到function pages函数(在672行左右)
修改下面代码中红色数字(10)为你想要显示的页码条数即可。
function pages($num, $curr_page, $perpage = 20, $urlrule = '', $array = array(),$setpages =?10)
---------------------
手机端图片自适应大小和居中 文章缩进
style type="text/css"
.part img {
width:100%!important;
height: auto!important;
display: table-cell!important;
}
.part p {
text-indent: 2em;
}
/style
-------------------------------------
第一个是图 剩下的是列表
{pc:content action="lists" catid="7" order="listorder DESC" thumb="1" num="1"}
{php $imgarr=array();$count=0;}
{loop $data $r}
{php array_push($imgarr,$r[id]);}
h4
a href="{$r[url]}" target="_blank" title="{$r[title]}"{str_cut($r[title],60,'')}/a
/h4
a href="{$r[url]}" target="_blank" title="{$r[title]}"
img src="{thumb($r[thumb],100,70)}" width="100" height="70" alt="{$r[title]}"
/a
p{str_cut($r[description],90)}/p
{/loop}
{/pc}
/div
ul
{pc:content action="lists" catid="7" order="listorder DESC" num="5"}
{loop $data $r}
{if $count4!in_array($r[id],$imgarr)}
{php $count++;}
lia href="{$r[url]}" target="_blank" title="{$r[title]}"{str_cut($r[title],57,'')}/a/li
{/if}
{/loop}
{/pc}
*********************************************
phpcms调用sql实例
{pc:get sql="select * from v9_news where catid=$catid and id!=$id order by updatetime desc" num="10"}
{loop $data $r}
li
a target="_blank" href="{$r[url]}" style="color:#333333;"{$r[title]}/a
span style="margin-left: 30px;color: #666;font-size: 14px;"{date('Y-m-d', $r[updatetime])}/span
/li
{/loop}
{/pc}
{pc:get sql="SELECT * FROM `v9_news` WHERE thumb!='$thumb' Order by id DESC " num="50"} 调用有图片的最新新闻
{loop $data $r}
织梦调用sql实例
{dede:sql sql="select * from dede_archives where typeid=5 and id!=~id~"}
li
a href="[field:id function=IDReturnURL(@me)/]" class="step-link"[field:title/]/a
/li
{/dede:sql}
5、关于PHPCMS V9样式循环的问题,求高手解惑
首先我们注意的一个问题是,作为循环,if判断的条件不能是“==”,因为是“==”的话当走到5之后就永远不会符合条件了,所以第五个后面的就不会被显示了,我们可以用求余作为条件式来作为循环条件,例如第二个:
{if $num%5==2}
a href="{$r[url]}"
li style="background:#83d0c0;"
div class="temai_icon11"
p class="bom_c11"img src="{thumb($r[thumb],110,0)}"//p
/div
div class="temai_font11"
h1{str_cut($r[title],20)}/h1
h2职业类型:{str_cut($r[type],20)}/h2
h3职业介绍:{str_cut($r[description],90)}/h3
/div
div class="clear"/div
/li
/a
{/if}
ok,以上是第一步,解决掉你的循环不能显示问题,那么咱们再来优化一下你的代码吧:
在phpcms的loop标签中,已经默认生成一个叫做$n的变量来给你计数每次循环的序号了,所以你大可不必再自己开启一个计数变量$num,直接调用$n就可以。
其实我们在每次循环只是想判断一下第几个来改一下背景颜色而已,那么没必要叠加那么多代码,所以整个循环我们可以写成这样:
{php $color=array(1='#fb7a65',2='#83d0c0',3='第三个颜色',4='第四个颜色',5='第五个颜色')}
{pc:content action="lists" catid="$catid" num="10" order="id DESC" page="$page"}
{loop $data $r}
{php $index=$n%5;}
a href="{$r[url]}"
li style="background:{$color[$index]};"
div class="temai_icon11"
p class="bom_c11"img src="{thumb($r[thumb],110,0)}"//p
/div
div class="temai_font11"
h1{str_cut($r[title],20)}/h1
h2职业类型:{str_cut($r[type],20)}/h2
h3职业介绍:{str_cut($r[description],90)}/h3
/div
div class="clear"/div
/li
/a
{/loop}
div id="pages"{$pages}/div
{/pc}
PS:有兴趣可以分析下phpcms的标签解析类中的方法来更好的了解它的标签(phpcms/modules/content/class/content_tag.class.php),我在iphpcms中的标签教程中也有详细讲解可以参考。
phpcmsnum的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于、phpcmsnum的信息别忘了在本站进行查找喔。