phpcms教程

PHPCMS二次开发多栏目调用方法

我的站长站 2019-03-23 人阅读

如果你的是一个小型的网站,只有一级分类,不存在子分类,那很简单,上代码

PHPCMS单个栏目调用方法

{pc:get sql="SELECT * FROM v9_news WHERE catid in(1,3,5) ORDER BY id DESC" num="10"}
{loop $data $v}
<li><a href="{$v[url]}">{$v[title]}</a></li>
{/loop}
{/pc}

这里我调用了分类ID为1,3,5的最新文章。

但是,如果是一个稍大一些的网站,有的存在子分类,有的不存在,那该如何调用呢?

在PHPCMS中只能调用直接分类下的文章,也就是说如果指定一个分类ID存在子分类,那么将无法调出文章。所以我们要做的是如果是直接分类那么直接显示分类id,如果存在子分类,那么显示所有子分类id,最后再把他们用逗号连起来,就实现了相同的效果。

phpcms二次开发多栏目调用方法

<?php
$assigncatid=array(23,24,19);
$str =array();
foreach($assigncatid as $row){
$str[]=$CATEGORYS[$row][arrchildid];
}
$finalcatid= implode(',', $str);
?>
{pc:get sql="SELECT * FROM v9_news WHERE catid in($finalcatid) ORDER BY id DESC" num="14"}
{loop $data $v}
<li><a href="{$v[url]}">{$v[title]}</a></li>
{/loop}
{/pc}

这里我选了3个指定的分类id,其中23,24没有子栏目,19有很多子栏目。$CATEGORYS[$row][arrchildid] 这一句很重要,如果没有子分类直接显示该分类id,如果有子分类,就会以1,2,3,4,5这种格式显示所有子分类,数组中有3个值,所以foreach后会形成3个数组,分别为 23、24、以及19,43,44 其中43,44为19的子分类id.

把这3组数据赋值给一个数组,然后在循环外用逗号切割成字符串,拼起来就是 23,24,19,43,44 到这里是不是已经一目了然了,该实现的功能都实现了,enjoy!

网上查了些资料,发现也有人这样来获取子分类ID

{loop subcat(15)  $k $v}
{php $subcatid[] = $k;}
{/loop}
{php $subcatid  = implode(',', $subcatid);}

然后在读取SQL的条件中这样写 WHERE catid in($finalcatid)

其实个人觉得这种做法纯属鸡肋,要获取一个指定栏目下的所有子栏目ID,直接用 $CATEGORYS[$catid][arrchildid]不就好了,其中$catid可以改成指定的父分类ID

相关推荐
  • phpcms二次开发
  • phpcms二次开发常用数组

    代码:$_userid 用户id $_username 用户名 $_areaid 地区id $_groupid 用户组id $_modelid $_amount 用户资金 $_point 用户点数 $_message $_email 用户email有关模型信息变量:代码:$MODEL[$modelid][modelid] 模型id $MODEL[$modelid][name] 模型名...

    phpcms教程 269 7年前
  • PHPCMS二次开发教程标签页调用缩略图的方法

    PHPCMS v9 tag标签页调用缩略图的修改方法:打开 \phpcms\modules\content\tag.php 文件找到$res = $this->db->get_one(array(&#39;id&#39;=>$contentid), &#39;title, description, url, inputtime, style&#39;);修改为$res = $this->db->get_on...

    phpcms教程 374 8年前
  • phpcms二次开发用拼音作为tags列表页路径的方法

    PHPCMS V9中TAGS列表页中文的路径到底利不利于优化,众说纷纭,到底用拼音还是中文呢?今天先把方法分享给大家,希望对需要的朋友有帮助,本文只是将路径中的中文修改为拼音,未涉及伪静态问题,你可以在修改为拼音后参考CMS集中营下面这篇文章来设置伪静态。下面...

    phpcms教程 234 5年前
最新更新
  • phpcms SEO优化自定义HTML文件名教程

    自定义生成HTML文件名对于SEO优化非常有好处,不过phpcms V9版本没有这个功能,但是可以修改,下面是方法。1、修...

    phpcms教程 2年前
  • phpcms多选字段使用方法

    phpcms v9拥有强大的字段功能,后台模型内容可以任由自己改,是目前最好的二次开发的开源cms。今天我的站长站就...

    phpcms教程 3年前
  • phpcms修改标题长度方法

    phpcms默认文章标题最长为80个字符,往往我们在添加文章的时候,可能会超过这个限制,会导致标题显示不完整。phpc...

    phpcms教程 3年前
  • PHPCMS v9安全设置教程

    一、目录权限设置很重要:可以有效防范黑客上传木马文件.如果通过 chmod 644 * -R 的话,php文件就没有权限访问...

    phpcms教程 4年前
  • PHPCMS V9结构说明

    PHPCMS V9 结构目录说明|–api 结构文件目录|–caches 缓存文件目录|– configs 系统配置文件目录|– cach...

    phpcms教程 4年前