当前位置: 首页 > news >正文

PC标签 phpcmsv9

Java代码   收藏代码
  1. {pc:content action="lists" catid="25" num="$pagesize" page="$page" return="data"}  
  2. <ul>  
  3. {loop $data $n $r}  
  4. <li><a href="{$r[url]}">{$r[title]}</a></li>  
  5. {/loop}  
  6. </ul>  
  7. {/pc}  

pc标签起作用需要在数据库module表中注册,pc:content PC 标签中{pc:}冒号之后跟随的为模块名,表示class content_tag, 前台模板文件产生的phpcms\templates\default,静态页的调试.tag标签编译后的效果,也是后台调用的方法

Java代码   收藏代码
  1. <?php  
  2. $content_tag = pc_base::load_app_class("content_tag""content");  
  3. if (method_exists($content_tag, 'lists')) {  
  4. $pagesize = 4;$page = intval($page) ? intval($page) : 1;  
  5. if($page<=0){$page=1;}$offset = ($page - 1) * $pagesize;  
  6. $content_total = $content_tag->count(array('catid'=>$catid,'order'=>'id DESC','limit'=>$offset.",".$pagesize,'action'=>'lists',));  
  7. $pages = pages($content_total, $page, $pagesize, $urlrule);  
  8. $data = $content_tag->lists(array('catid'=>$catid,'order'=>'id DESC','limit'=>$offset.",".$pagesize,'action'=>'lists',));  
  9. }  
  10. ?>  

标签中的参数变量是前提控制类提供,参数的调用,写page参数是会调用count($data) 

Java代码   收藏代码
  1. {pc:comment action="get_comment" commentid="$commentid"}  
  2. {php $comment = $data;}  
  3. {/pc}  

 

 

Java代码   收藏代码
  1. public function lists($data) {  
  2.     $where = '1';  
  3.     if ($data['limit']) $where .= " AND `num`='".$data['limit']."'";  
  4.     if ($data['catid']) $where .= " AND `catid`!=''";  
  5.     $listorder = array('`id` ASC''`id` DESC''`listorder` ASC''`listorder` DESC');  
  6.     $result = $this->c->select($where, '*', $data['limit'], $listorder[$data['listorder']]);  
  7.     if (is_array($result)) {  
  8.         foreach($result as $k => $r) {  
  9.             if ($r['curl']) {  
  10.                 $content_arr = explode('|', $r['curl']);  
  11.                 $r['url'] = go($content_arr['1'], $content_arr['0']);  
  12.             }  
  13.             $res[$k] = $r;  
  14.             //$res['num']=  $this->count($data);  //记录总条数  
  15.            }  
  16.     } else {  
  17.         $res = array();  
  18.     }  
  19.     return $res;  
  20. }  

下表为PC标签保留参数表,几乎所有的PC标签都支持这些保留参数设置

变量名

默认值

说明

actionnull本参数的值表示为操作事件,模型类PC标签必须使用包含本参数,以说明要进行的操作。

cache

0

缓存存储时间(单位秒)

num

20

获取记录的条数,最后会被模板引擎处理成limit 传送到处理函数中。

page

null

当前分页。一般填写为$_GET[page]

urlrule

null

URL规则

return

data

返回数据变量名

没有page参数$data['limit']=pagesize,有page参数$data['limit']=page,pagesize;

 

该标签解析类是在每个模块下面的classes/的以“模块名_tag.class.php”的文件

单行PHP解析语法{php $i=1;}{if $n%5==0}<li class="dashed_line"></li>{/if}

Java代码   收藏代码
  1. {pc:get sql="SELECT * FROM phpcms_member" cache="3600" page="$page" dbsource="discuz" return="data"}  

 

Java代码   收藏代码
  1. {pc:xml url="http://www.yourname.com/asdfasdf.xml " cache="3600"}{/pc}  

 

Java代码   收藏代码
  1. {pc:json url="http://www.yourname.com/asdfasdf.json" cache="3600"}{/pc}  

为什么用模板标签?需要一些参数来控制页面的显示效果,参数自己可以手动加,如num,cache,page

Java代码   收藏代码
  1. {pc:get   sql="SELECT * FROM  wechenews  ORDER BY id desc" num="7" start="23"}  
  2. {loop $data $r}  
  3.  <li><span>[{getMore($r[catid])}]&nbsp;</span><a href="{$r[url]}" class="title" title="{$r[title]}">{str_cut($r[title],32,'')}</a></li>  
  4. {/loop}  

 num调用条数   start起始输出的位置

v9的标签函数像2008那样支持limit="0,5"这样的写法

Java代码   收藏代码
  1. {pc:content  action="limit"  type="lists"  catid="54"  thumb=""  order="listorder DESC"  step="3,5"}  
  2. {loop $data $r}  
  3. <li>&middot;<a href="{$r[url]}" title="{$r[title]}">{$r[title]}</a></li>  
  4. {/loop}{/pc}  

type:定义 的是类别:可选lists或者position(目前支持普通列表和推荐位)
catid:选择 了lists的类别才需要填写这个值
position:选择了position的类别才需要填写这个值
thumb:不分类 别都可以
order:排序方式 
step:传说中的limit
试验结果可行

将内容模型标签的class类文件 找出:文件地址 phpcms\modules\content\classes\content_tag .class.php
添加标签函数:

Java代码   收藏代码
  1. /** 
  2. * limit页标签 
  3. * @param $data 
  4. */  
  5. public function limit($data){  
  6. $data['limit']=$data['step'];  
  7. return $this->$data['type']($data);  
  8. }  

phpcms文章列表页如何获取文章的分类名称及分类链接:

效果如:

程序如下:

{pc:content action="lists" catid="$catid" num="25" order="updatetime DESC" page="$page" moreinfo="1"}

{loop $data $r}

<a href="{$CAT['url']}">{$CAT[catname]}</a>

{/loop}

{/pc}

 

相关文章:

  • YII 验证和消息
  • Postgresql数据库运维笔记
  • C#中箱子、扳手、闪电等含义
  • 转载: #pragma pack(push,1) #pragma pack(pop)
  • 【转】Android 防破解技术简介
  • Go 环境变量
  • 使用LocalBroadcastManager
  • exif信息对照
  • 前端学习笔记--9/5~13/5 Ajax, jQuery
  • 【COCOS2DX-LUA 脚本开发之二】LUA语言基础
  • OC语言大总结(下)
  • Lucene5学习之使用MMSeg4j分词器
  • PostgreSQL 9.6 攻克金融级多副本可靠性问题
  • 1.3 中国云创行业地图
  • cacti系列之安装篇 LNMP+cacti+spine (一)
  • python3.6+scrapy+mysql 爬虫实战
  • [ 一起学React系列 -- 8 ] React中的文件上传
  • 4. 路由到控制器 - Laravel从零开始教程
  • Android开发 - 掌握ConstraintLayout(四)创建基本约束
  • Docker容器管理
  • Eureka 2.0 开源流产,真的对你影响很大吗?
  • HashMap ConcurrentHashMap
  • jdbc就是这么简单
  • KMP算法及优化
  • laravel with 查询列表限制条数
  • PHP CLI应用的调试原理
  • RxJS 实现摩斯密码(Morse) 【内附脑图】
  • SAP云平台运行环境Cloud Foundry和Neo的区别
  • V4L2视频输入框架概述
  • vue从创建到完整的饿了么(18)购物车详细信息的展示与删除
  • 服务器之间,相同帐号,实现免密钥登录
  • 机器人定位导航技术 激光SLAM与视觉SLAM谁更胜一筹?
  • 聊聊directory traversal attack
  • 名企6年Java程序员的工作总结,写给在迷茫中的你!
  • 前端知识点整理(待续)
  • 如何胜任知名企业的商业数据分析师?
  • 腾讯优测优分享 | 你是否体验过Android手机插入耳机后仍外放的尴尬?
  • 怎么将电脑中的声音录制成WAV格式
  • MyCAT水平分库
  • ​​​​​​​Installing ROS on the Raspberry Pi
  • #include到底该写在哪
  • #调用传感器数据_Flink使用函数之监控传感器温度上升提醒
  • #我与Java虚拟机的故事#连载17:我的Java技术水平有了一个本质的提升
  • (Redis使用系列) SpringBoot中Redis的RedisConfig 二
  • (ZT)北大教授朱青生给学生的一封信:大学,更是一个科学的保证
  • (八)Docker网络跨主机通讯vxlan和vlan
  • (二) Windows 下 Sublime Text 3 安装离线插件 Anaconda
  • (附源码)ssm考生评分系统 毕业设计 071114
  • (免费领源码)python#django#mysql校园校园宿舍管理系统84831-计算机毕业设计项目选题推荐
  • (十一)JAVA springboot ssm b2b2c多用户商城系统源码:服务网关Zuul高级篇
  • (四)七种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB
  • (原创)攻击方式学习之(4) - 拒绝服务(DOS/DDOS/DRDOS)
  • (转)程序员疫苗:代码注入
  • .Mobi域名介绍
  • .NET delegate 委托 、 Event 事件