
这个其实很简单,在我们使用pc标签获取数据时很多地方我们都可以使用catid属性来指定数据的栏目范围,当然也包括调用推荐位时,演示代码如下:
{pc:content action="position" posid="10" catid="110" order="listorder desc" num="3"}{/pc}
这样,我们获取的就是栏目id为110的那个栏目下的推荐到id为10的推荐位的文章的数据了。
ps: pc标签可以说是phpcms模板中最大也是最重要的一个标签,负责获取各种数据,对应的属性也相对多而复杂,详细可以查阅官方手册以及iphpcms的视频教程。
如果你是在单网页栏目模板中获取单网页内容,直接输出$content变量即可,即{$content}。因为程序控制器程序中已经给你生成了与对应字段同名的变量携带了相关信息。
如果是在其它模板中,没有直接的变量或表签可供使用,但是可以使用get万能标签直接读取数据表就行,单网页内容存放在page数据表content字段里,我们假设你的这个单网页栏目catid号为1,那么演示如下:
{pc:get sql="select from phpcms_page where catid=1" num="1"}{loop $data $v}
<div class="content">{$v['content']}</div>
{/loop}
{/pc}<!--万能标签是一个非常好用的标签,在你有一对sql命令的基础下,可以获取数据库中的任何信息,避免了偏僻数据没有标签可直接使用调取的问题。相关phpcms标签的使用学习可以查看phpcms的官方手册以及iphpcms的详细实战视频教程-->
利用sql查询category表 条件 找所有有子栏目的栏目即 child=1 得到arrchild字段,该字段为mediumtext ,里面的值例如 75,76,77,78,79,80,81,82,83,84,85
第一个 ID75为本栏的ID,剩余的位该栏目下的所有子栏目的id 顺序从小到大,将字符串改成数组。数组中,第二个就是该栏目的第一个子栏目了。
{pc:get sql="select from v9_category where catid=75 and child =1 and siteid = 1 order by catid asc"}
{loop $data $r}
<php
$thiscatid = $r['arrchildid'];
$arrids = explode(',', $thiscatid);
echo "<pre>";
var_dump($arrids[1]);
>
{/loop}
{/pc}
打印结果为 76 。
看看是不是你要的。
在前台模板中使用phpcms标签调取文章列表:
{pc:content action="lists" catid="1" num="10" order="inputtime desc"}<!--使用catid制定栏目,使用order属性设置添加时间倒序获取最新文章-->
{loop $data $v}
<a href="{$v['url']}">{$v['title']}</a>
{/loop}
{/pc}
在后端php程序里获取最新文章列表,引入文章模型,select方法读取列表数据:
$db = pc_base::load_model("content_model");$db->set_catid($catid); //$catid代表栏目id
$datas = $db->select(array('catid'=>$catid,'status'=>99),"",10,'inputtime desc'); //$datas便是文章列表数组数据了
PS:标签与二次开发的使用可参看phpcms官方使用手册以及iphpcms的视频教程。
1用GET写入:
{pc:get sql="SELECT FROM shanku_page where catid=单网页ID号"} {loop $data
$val} {str_cut(strip_tags($val[content]),860,"")}
{/loop} {/pc}
这是正解。
2如果不想有连接,可直接写把:{str_cut(strip_tags($val[content]),860,"")}
替换成:{str_cut(strip_tags($val[content]),860,"")}
3其中还看到一段代码和上面差不多,不过此代码把源文件符号也一起调用了,不建议使用
{pc:get sql="SELECT FROM v9_page where catid=所要调用的catid号"} {loop $data
$key $val} {str_cut($val[content],500,'')} 此处少了strip_tags {/loop} {/pc}
4phpcms v9 频道页调用单网页内容
{pc:get sql=”SELECT FROM phpcms_page where catid=19″ cache=”3600″
return=”data”}
举个例子 自己改改
1、调用最新文章,带所在版块;{pc:get sql="SELECT atitle, acatid, bcatid, bcatname, aurl as turl ,burl as curl,aid FROM `v9_news` a, `v9_category` b WHERE acatid = bcatid ORDER BY `a``id` DESC "num="15" cache="300"}
{loop $data $r}
[{$r[catname]}] {str_cut($r['title'],26)}
{/loop}
{/pc}
2、截取调用标题长度;
{str_cut($v['title'],34)} -----超出用 代替
{str_cut($v['title'],34, '')}-----超出用 代替
{str_cut($v['title'],34,'')}-----超出不用任何字符代替
3、格式化时间调用;
{date('Y-m-d H:i:s',$r[inputtime])}-----2013-07-25:11:22:33
{date('m-d',$v['inputtime'])}------07-25
4、多栏目调用&多推荐位调用调用需求:文章范围为59 60 61三个栏目,并且推送到了27 和28两个推荐位;从第三条开始,连续调用7篇文章。
{pc:get sql="SELECT FROM v9_news WHERE id IN (SELECT id FROM v9_position_data WHERE posidin(27,28) and catid in(59,60,61)) order by listorder DESC" cache="3600" start="3" num="7"return="data" }
{loop $data $n $r}
·{str_cut($r[title],22,'')}
{/loop}
{/pc}
5、显示栏目名称;
{$catname}-----只显示名称不带链接
{$CATEGORYS[$r['catid']]['catname']}-----显示栏目名称和链接
6、获取父栏目id/获取父栏目名称;
{$CATEGORY[$catid][parentid]}-----父栏目ID
{$CATEGORYS[$CAT[parentid]][catname]}-----父栏目名称
以上就是关于请问下phpcms里面怎么调用指定栏目下的推荐文章啊全部的内容,包括:请问下phpcms里面怎么调用指定栏目下的推荐文章啊、phpcms v9 首页如何获取单网页内容、phpcms如何调用最后一级第一个子栏目(比如我有三级栏目我要获取到第三级的第一个栏目)等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)