get 标签调用文章
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])} 摘
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])}
摘要:$r[description]
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}
@7天内的点击排行榜
- {str_cut($r[title], 88)}
{get sql="SELECT * FROM `phpcms_content` c,`phpcms_content_count` n WHERE updatetime>'.TIME.'-7*86400 and c.contentid=n.contentid AND c.`status`=99 and catid='$catid' '.get_sql_catid($catid).' ORDER BY n.hits DESC" rows="8"}
{/get}
@7天内的评论排行榜
- {str_cut($r[title], 88)}
{get sql="SELECT * FROM `phpcms_content` c,`phpcms_content_count` n WHERE updatetime>'.TIME.'-7*86400 and c.contentid=n.contentid AND c.`status`=99 and catid='$catid' '.get_sql_catid($catid).' ORDER BY n.comments DESC" rows="8"}
{/get}
{get sql="SELECT * FROM `phpcms_content` a, `phpcms_c_news` b WHERE a.contentid=b.contentid AND `status`=99 AND `thumb`!='' AND a.`contentid` IN(SELECT `contentid` FROM `phpcms_content_position` WHERE `posid`='10') ".get_sql_catid($catid)." ORDER BY a.contentid DESC" rows="3"}
{/get}
- {$r[supports]}{str_cut($r[title], 88)}
{get sql="SELECT * FROM phpcms_content c,phpcms_digg d WHERE c.contentid=d.contentid AND c.status=99 ORDER BY d.supports DESC" rows="8"}
{/get}
@只调用新闻模型且推荐ID为7的新闻
- {str_cut($r[title], 88)}
{get sql="SELECT * FROM phpcms_content c,phpcms_c_news n,phpcms_content_position p WHERE c.contentid=n.contentid and c.contentid=p.contentid and posid=7 and `status`=99 ORDER BY inputtime DESC" rows="6"}
{/if}
@调用相关新闻
{get sql="SELECT * FROM phpcms_content c,phpcms_content_tag t WHERE c.contentid!='$contentid' and c.contentid=t.contentid and c.status=99 AND t.tag IN('.get_sql_in($r[keywords]).') ORDER BY c.contentid DESC" rows="6"}
{/get}
相对于其它CMS来说,phpcms更为专业,功能也更为强大。但,对于站长的入门要求也就稍微的高了一些。 特别是对根基比较差的站长,很多都是看的一头雾水。我个人接触PHPCMS2008 也就两周多。看了论坛的几篇教程,今天想想,我决定自己写下一些使用过程中的心得,以方便广大新手站长能够轻松入门,并打造出属于自己的网站。【前提声明:个人水平有限,有不足和不对的地方还望大家多多指教。】
2. get常用调用方式
我觉得这种方式的灵活性很强大。个人推荐。下面将重点说一下,get的几种常用调用方式,个人认为,做PHPCMS的模板,了解了get基本上就够用了。
(1)调用一个栏目下的最新,带缩略图的文章,同时调用出起内容简介(多个栏目ID调用)
{get sql="select*from phpcms_content where catid>=79 and catid
{/get}
说明: phpcms_content 这是数据库里边数据表的名称,如果你的数据表前缀进行了修改,这里也必须进行修改。如果你在安装phpcms的时候设置的为woshi_. 那么这里就应该是woshi_content
catid>=79 and catid posids=1 文章类型为首页推荐
status=99 文章已经通过审核
`thumb`!='' 缩略图不为空,也就是必须要有缩略图
{$r[url]} 内容页的地址
{str_cut($r[title], 40)} 文章标题,长度限制为40
{thumb($r[thumb], 110, 75)} 缩略图地址 缩略图大小限制为width=110px height=75px
{str_cut($r[description],100) 文章简介调用 简介长度为100
通过上面的调用及模板语句(div li ),我通过css的控制可得出如下test.gif。 具体的css部分,我们后面在讲。
(2)调用多个栏目ID,(栏目ID为不连续ID) 也就是说我们在栏目建立初期有栏目ID75 76 77 78 79 80 81 82 83 84 85。 而在建立了其它栏目之后,我们有在这个栏目添加了一个新的栏目,产生了一个新的ID。比如ID 95. 那么我们应该怎么样使用get来调用啦?
在(1)中我们使用了catid>=XX and catid{get sql="select*from phpcms_content where catid>=79 and catid{/get}
如果说我们这里调用的是文章标题列表 数量为6 那么我们要在div中循环的就应该是li了。具体如下
这里说明一点updatetime 的排序方式。 比如说我们想按照文章录入的时间来进行降序排列(也就是吧最新的排前面),在使用updatetime之后,我们会发现,编辑一前的文章之后,这篇文章被调用到了列表的最前面。所以updatetime是文章编辑或修改时间,如果我们不想以这种方式进行排序,而是想以文章录入时间进行降序排列,可以吧这里的updatetime改为inputtime
(3)使用get调用 栏目名及其相对应的栏目地址
在使用get 的sql查询时,我们通常都会查询phpcms_content这个表,在这个表里边包括了所有的文章及下载等内容信息,但栏目只有id却没有栏目名,所有的栏目信息都在 phpcms_category 这个表里边,其实打开数据库一看,我们就一目了然了。所以在调用栏目名及其地址的时候我们需要借助{str_cut($CATEGORY[$r[catid]][catname],4)} 这种方式来进行参数传递,呵呵,我索性连栏目名长度截取也加上,方便大家吧。呵呵。 有够BT ,呵呵 具体示例如下:
{get sql="select*from phpcms_content where catid>=52 and catid
[{str_cut($CATEGORY[$r[catid]][catname],4)}]
{str_cut($r[title], 38)}{/get}
这个get调用的栏目ID分别为52 53 54 55 77 78 活学活用 呵呵!
{$CATEGORY[$r[catid]][url]} 栏目地址
{str_cut($CATEGORY[$r[catid]][catname],4)} 栏目名 长度为4 根据自己需要调整吧~
(4)如何调用后台设置的标题颜色???
其实这个东东 一点都不神秘。 只是个而已! 呵呵 接下来就直接示例吧!
- [{date('m-d', $r[updatetime])}] {if $r[style]} {str_cut($r[title], 22)}{else}{str_cut($r[title], 22)}{/if}
{get sql="select*from 99inet_content where catid=40 and status=99 order by updatetime desc" rows="7"}
{/get}
{get}部分俺就不说了,上面基本上都说了~ [{date('m-d', $r[updatetime])}] 这个地方调用的是文章日期
在这个小部分,大家注意我标出来的蓝色代码和量个绿色代码,有人会问:为什么调用两次标题里?? 呵呵 别急 接下来告诉大家为什么。
{if $r[style]} {str_cut($r[title], 22)}{else}{str_cut($r[title], 22)}{/if}
其实这段代码好简单奥,有html基础地人都能看明白。{if$r[style]} 如果数据库相对应的文章的style字段不为空(也就是有内容),就生成 {str_cut($r[title], 22)} ,也就是说如果这篇文章你设置了标题颜色或者效果(加粗、斜体等),那么最终生成的html页应该是这样的
网站标题 其实class的指是官方设置好的,这里的b是标题加粗。 其值我们在这里不深究。
如果说在后台没有给标题加任何效果。你们生成的html就是
- [{date('m-d', $r[updatetime])}] {if $r[style]}{str_cut($r[title], 22)}{else}{str_cut($r[title], 22)}{/if}
{get sql="select*from phpcms_content where catid=39 and status=99 order by updatetime desc limit 2,7"}
{/get}
调用栏目id为39并且通过审核的文章,从第二条起的连续7条信息。 这个里边就使用了上面讲的调用后台设置的标题颜色。
简单 简单 相当的简单。 这次真的完了。 奥对了,在使用limit是 不可同时使用row ,至于为什么?你想想就明白了
(6)如何使用get在栏目首页调用所有文章模型的文章 (这个是模型的全部)
{get sql="SELECT contentid,catid,typeid,areaid,title,style,thumb,keywords,description,userid,updatetime,inputtime,url FROM `yimi_content` WHERE status=99 ".get_sql_catid($cid)." ORDER BY contentid DESC" rows="40"}
{/get}
可惜是模型的全部 大家可以试验一下 给个思路 研究中...
(7)最近发现一个问题,哪就是在get的使用过程中 大家比较困惑的是id的取值,这点是我没想到的,呵呵,所以我今天增加了栏目首页调用所有子栏目内容的说明。同时也提一下,id的另一种赋值方法。
{get sql="SELECT * FROM `phpcms_content` c,`phpcms_content_count` n WHERE c.contentid=n.contentid AND c.`status`=99 and catid in (39,40,41,42,43,44,45,46,47,48,66,68,69,70,71,72,73,74,75,76) ORDER BY contentid DESC" rows="10"}
{/get}
用哪种方法就看自己喜好吧,反正个人认为能达到目的就行。
注意在(6)和(7)中的 `phpcms_content` 这个符号是``而不是'' 搞错了没办法执行奥
最后编者注:其实很多人都说,你用的是get ,我不了解或者不懂那个东西。 其实我觉得,我基本上吧get使用中的大部分遇到的情况都已经列出来了,如果你愿意仔细的花点时间来看和研究,我认为应该不是一件很难的事。因为,确实真的很简单....
本教程暂时告一段落,接下来就是div+css部分了!
上一篇: 标准-PHP计算道路拥堵率,求解答
推荐阅读
-
python调用Matplotlib绘制分布点并且添加标签
-
destoon文章模块调用企业会员资料的方法
-
jQuery调用AJAX时Get和post公用的乱码解决方法实例说明
-
vue项目中如何在外部js文件中直接调用vue实例——比如说this-个人文章-SegmentFault思否
-
smarty中先strip_tags过滤html标签后truncate截取文章运用
-
Angular 实现输入框中显示文章标签的实例代码
-
a标签调用js的方法总结
-
教你如何给你的文章打上原创标签(抄袭者绝对不敢抄袭了)
-
wordpress置顶文章按需调用:全文输出或列表输出
-
微信公众号文章怎么按照标签选择推送对象?