您现在的位置是:首页 > cms教程 > phpcms教程phpcms教程
phpcms的pc标签使用方法说明
千兰2025-05-20phpcms教程已有人查阅
导读这个pc后面的content是模块名,即之前文章提到的“m=”后面跟的值。即phpcms\modules\下的文件夹的名字,即模块,模块中的php文件为控制器,即mvc中的C;
phpcms v9的pc标签如下
action跟的值其实是content模块中名为index.php的控制器的方法的名字,即之前文字提到的"a="一样,至于为啥没有明示index.php是因为若不写则默认为index,就像若"a"不写就默认访问的是"a=init"一样。
cache是缓存。
num是每一页显示多少条记录的意思。
return是这条语句执行完返回的句柄或者说内容。
page是分页,这个"$page"其实也可以改写成"$_GET['page']"因为它就是取的地址栏上你提交的你想查看的页码(默认是第一页)
一般pc标签下会跟loop循环标签,取出返回的数据。
之后phpcms会封装好一个不错的分页的导航条
{pc:content action="lists" cache="3600" num="20" return="$data" page="$page"}{/pc}
这个pc后面的content是模块名,即之前文章提到的“m=”后面跟的值。即phpcms\modules\下的文件夹的名字,即模块,模块中的php文件为控制器,即mvc中的C;action跟的值其实是content模块中名为index.php的控制器的方法的名字,即之前文字提到的"a="一样,至于为啥没有明示index.php是因为若不写则默认为index,就像若"a"不写就默认访问的是"a=init"一样。
cache是缓存。
num是每一页显示多少条记录的意思。
return是这条语句执行完返回的句柄或者说内容。
page是分页,这个"$page"其实也可以改写成"$_GET['page']"因为它就是取的地址栏上你提交的你想查看的页码(默认是第一页)
一般pc标签下会跟loop循环标签,取出返回的数据。
之后phpcms会封装好一个不错的分页的导航条
<div id="pages">{$pages}</div>
例子:
<!-- 第0-7篇文章 -->
{php $i=0;}
{pc:content action="lists" catid="$catid" limitt="0,7" order="id DESC"}
<ul class="erji_center_content">
{loop $data $r}
<li><a href="{$r[url]}">{$r[title]}</a></li>
{/loop}
</ul>
<span class="border-cx"></span>
{/pc}
<!-- 第7-14篇文章 -->
{php $i=0;}
{pc:content action="lists" catid="$catid" limitt="7,7" order="id DESC"}
<ul class="erji_center_content">
{loop $data $r}
<li><a href="{$r[url]}">{$r[title]}</a></li>
{/loop}
</ul>
<span class="border-cx"></span>
{/pc}
<!-- 第14-21篇文章 -->
{php $i=0;}
{pc:content action="lists" catid="$catid" limitt="14,7" order="id DESC"}
<ul class="erji_center_content">
{loop $data $r}
<li><a href="{$r[url]}">{$r[title]}</a></li>
{/loop}
</ul>
<span class="border-cx"></span>
{/pc}
/**
* 列表页标签:主要返回的是主表中数据与附表中数据
* @param $data
*/
public function lists($data) {
$catid = intval($data['catid']); //pc标签中catid属性
//加上这行代码即可
$data['limit'] = (isset($data['limitt'])&& (!empty($data['limitt'])))?$data['limitt']:$data['limit'];
//pc标签中limit属性,此行代码由weiyanhui添加
if(!$this->set_modelid($catid)) return false; //会根据栏目id->对应的模型id->对应的模型表
if(isset($data['where'])) { //如果pc标签中设置了where属性,一般情况下不存在
$sql = $data['where'];
} else { //如果pc标签中没有设置where属性
$thumb = intval($data['thumb']) ? " AND thumb != ''" : ''; //如果有thumb属性
if($this->category[$catid]['child']) { //当前栏目下是否存在子栏目
$catids_str = $this->category[$catid]['arrchildid']; //所有子栏目id,包括当前栏目自身id
$pos = strpos($catids_str,',')+1;
$catids_str = substr($catids_str, $pos); //所有子栏目id,不包括当前栏目自身id
$sql = "status=99 AND catid IN ($catids_str)".$thumb; //拼接成一个sql语句
} else {
$sql = "status=99 AND catid='$catid'".$thumb; //如果当前栏目下不存在子栏目
}
}
$order = $data['order']; //pc标签中order属性
//$sql作为一个条件出现,调用的是model.calss.php文件中的select方法,返回结果集数组,并按照键名'id'排序
$return = $this->db->select($sql, '*', $data['limit'], $order, '', 'id');//从数据库中获取主表数据,使用的也是sql语句查询
//注意:修改了$data['limit']为$data['limitt']了,修改于2012年09月21日 19:15
//如果需要在前台显示类别名称,可添加如下代码
$TYPES = getcache('type_content','commons');//获取类别缓存文件,此文件缓存了所有与类别信息相关的信息
foreach ($return as $key=>$v) {
$return[$key][typename]=$TYPES[$v['typeid']][name];//给$return中的每篇文章追加一个类别字段
}
//echo "<pre>";
//print_r($return);
//调用副表的数据
if (isset($data['moreinfo']) && intval($data['moreinfo']) == 1) { //如果pc标签中设置了moreinfo属性:是否调用附表数据
$ids = array();
//$return为返回的主表数据
foreach ($return as $v) { //循环主表中的记录信息:$v-主表中的每条记录
if (isset($v['id']) && !empty($v['id'])) {
$ids[] = $v['id']; //ids[]是主表中排序完成的文章id数组
} else {
continue;
}
}
if (!empty($ids)) {
$this->db->table_name = $this->db->table_name.'_data'; //副表名
$ids = implode('\',\'', $ids); //以逗号拼接成一个字符串
$r = $this->db->select("`id` IN ('$ids')", '*', '', '', '', 'id');//查询与主表中数据有关的副表中的数据
if (!empty($r)) {
foreach ($r as $k=>$v) { //副表中的数据
//$return:返回的主表中的数据,主表中的id字段值与附表中的id字段值是对应的,也就是说一篇文章在主表中存储的id跟在附表中存储的id的值是相等的
if (isset($return[$k])) $return[$k] = array_merge($v, $return[$k]);//主表中数据与副表中数据合并
}
}
}
}
return $return;
}
本文标签:
很赞哦! ()
上一篇:PHPCMSv9模板标签使用说明
图文教程
phpcms上传提示500错误怎么解决
之前没动过源码,其它用PHPCMS做的网站是能够正常上传图片的,服务器是阿里云的,空间足够,图片也不大,问题出现的时间在选择完图片之后点击上传的那一刻,除了
phpcms安装使用说明
解决问题 :是浏览器的缓存问题 浏览器记住安装之前的页面地址 ,而安装完之后 /install/目录程序自动删除 再次访问就会出错,所以清除浏览器缓存即可.安装时候记住要
phpcms和php格式化时间戳写法示例
用PHPCMS V9 建站时,经常会用到时间标签,它是通用标签调用-日期时间格式化,适用全站。一、日期时间格式化显示:二、PHP时间戳函数获取指定日期的unix时间戳
PHPCMS程序目录结构分析介绍
想熟练的使用PHPCMS做出一个优秀的网站,那必须对PHPCMS十分了解和熟悉,PHPCMS程序的目录并不是很多,而且目录结构和功能分类清晰明了,这里介绍一下PHPCMS程序的目录结构
相关源码
-
(PC+WAP)绿色环保建筑设备通用行业pbootcms源码下载通过模块调整可适配园林景观、装配式建筑、绿色装修等生态建设相关领域。预制绿色建材展示、能耗模拟等专业模块,集成项目案例、环保工艺等建筑行业特色内容结构,测试数据包含LEED认证体系查看源码 -
pbootcms模板(PC+WAP)微信小程序开发公司网站本模板为微信小程序开发代理、软件开发公司等企业设计,基于PbootCMS内核开发,支持PC+WAP双端响应式布局,数据实时同步,适用于多行业快速建站。查看源码 -
(自适应响应式)化妆美容口红唇膏化妆品模板pbootcms源码下载基于PbootCMS开发的响应式模板,为化妆品品牌、美容机构打造,通过优雅的视觉呈现提升产品展示效果与品牌调性。采用时尚杂志排版风格,色卡系统规范产品展示。微交互动画增强用户体验,智能推荐算法提升产品关联展示效果。查看源码 -
(自适应手机端)seo博客网站模板新闻资讯网站源码下载本模板为SEO博客及新闻资讯类平台深度定制,采用PbootCMS内核开发。通过模块化设计实现多行业快速适配,仅需替换图文内容即可转型为医疗、教育、科技等领域网站。响应式布局确保在手机、平板等设备上获得一致浏览体验。查看源码 -
(PC+WAP)蓝色钢材加工建筑装修施工材料网站模板下载为钢材加工企业设计的PbootCMS响应式模板,采用PC+WAP双端适配技术,数据实时同步。简洁大气的蓝色工业风格设计,突出钢材加工行业特性,其他制造业用户更换图文内容即可快速应用。查看源码 -
响应式高端家居家具装修类pbootcms模板网站源码家居装修、空间设计企业打造的营销型网站解决方案,基于PbootCMS内核深度开发。采用前沿响应式架构,适配手机端与PC端浏览体验查看源码
| 分享笔记 (共有 篇笔记) |
