博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
phpcms 如何获取文章
阅读量:6715 次
发布时间: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

你可能感兴趣的文章
改变自己(2)
查看>>
Redis Error
查看>>
paip.c++ qt 目录遍历以及文件操作
查看>>
银行对账
查看>>
剑指 offer set 16 数字在排序数组中出现的次数
查看>>
.a 库文件信息查看
查看>>
2014年全球SEO行业调查报告
查看>>
VS2010使用静态编译的qt库(Qt 5)
查看>>
使pre的内容自动换行(转)
查看>>
Git详解之Git分支
查看>>
如何判断一个GPS点是否在以另一个GPS点为圆心100米为半径的圆内(Java代码)
查看>>
【淡墨Unity3D Shader计划】五 圣诞用品: Unity在Shader三种形式的控制&混合操作编译...
查看>>
.net接口开发远程调试
查看>>
在线影音页面的制作方法
查看>>
shell 随机从文件中抽取若干行
查看>>
Android 6.0 Changes
查看>>
Animated progress view with CAGradientLayer(带翻译)<待更新>
查看>>
MySQL具体解释(5)-----------函数超全总结
查看>>
论C++与三国
查看>>
让linux history命令显示命令的运行时间、在哪个机器运行的这个命令
查看>>