博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
phpcms 如何获取文章
阅读量:6712 次
发布时间:2019-06-25

本文共 1603 字,大约阅读时间需要 5 分钟。

请求地址

先来判断地址对应的数据表

查阅phpcms v9 数据表结构手册 

           可以获知我们要取出news,v9_news_data 两个表中的数据

下一步就要理解数据是如何取出的

相关的控制器如下

 

这个比较简单就是调用 content模块下index控制器的show方法 数据表结构手册

下一步介绍下show()方法如何操作数据库的

请求参数catid=6&id=6

而我们已经知道文章存储在 文章模型表 news,news_data表id=6这一行,

catid为栏目id 查询数据表结构手册 或者打开数据库 可以找到_category栏目表可以轻易发现

每个栏目的文章模型 由modelid字段定义

再查手册可以确认modelid对应表model

所以请求参数在show()转化为参数modelid=1&id=6

至此我们知道要获取表news,news_data中=6的信息

下面就是操作数据库了

$tablename = $this->db->table_name = $this->db->db_tablepre.$MODEL[$modelid]['tablename'];		$r = $this->db->get_one(array('id'=>$id));		if(!$r || $r['status'] != 99) showmessage(L('info_does_not_exists'),'blank');				$this->db->table_name = $tablename.'_data';		$r2 = $this->db->get_one(array('id'=>$id));		$rs = $r2 ? array_merge($r,$r2) : $r;

 取出主表内容和附表内容

其中get_one方法在 mysql.class.php 数据库实现类

 $content_output = new content_output($modelid,$catid,$CATEGORYS);

  $data = $content_output->get($rs);判断是否有缓存有的话读取缓存没有输出$rs
  extract($data);这个是php本身的函数将本函数用来将变量从数组中导入到当前的符号表中

"blue", "size" => "medium", "shape" => "sphere");extract($var_array, EXTR_PREFIX_SAME, "wddx");echo "$color, $size, $shape, $wddx_size\n";?>
blue, large, sphere, medium

 再去看模板文件就比较简单了

首页
> {catpos($catid)} 正文

{$title}
{$inputtime}   来源:{$copyfrom}   评论:0 点击:

{if $description}
{$description}
{/if}
{if $allow_visitor==1} {$content}

 

 

 

 

 

 

 

 

转载于:https://www.cnblogs.com/majin/p/3804599.html

你可能感兴趣的文章
随笔-文件的读写
查看>>
tcp 状态以及三次握手
查看>>
Linux 打开文件数1024限制的原理以及解决办法
查看>>
我的友情链接
查看>>
Install IIS from Windows Server 2008 R2
查看>>
Lync Server 2010迁移至Lync Server 2013部署系列 Part7:配置Office Web App 02
查看>>
我的友情链接
查看>>
WAITED TOO LONG FOR A ROW CACHE ENQUEUE LOCK!的分析
查看>>
nginx禁止ip直接访问
查看>>
hadoop常用服务管理命令
查看>>
10.28 rsync工具10.29-10.30 rsync选项10.31 rsync通过ssh同步
查看>>
Fault,Error and Failure
查看>>
Go语言的通道(1)-无缓冲通道
查看>>
spring oauth从请求中获取token
查看>>
6.18docker(一)Compose 模板文件
查看>>
每天学点GDB 9
查看>>
前端静态资源缓存控制策略浅析
查看>>
不同模式打开文件的完全列表
查看>>
Jackson将json字符串转换成泛型List
查看>>
jsp,el表达式
查看>>