php 循环抓取网页内容(CMS模块内容设计分为主表和附表的操作方法介绍 )
优采云 发布时间: 2021-12-15 18:06php 循环抓取网页内容(CMS模块内容设计分为主表和附表的操作方法介绍
)
cms模块内容设计分为主表和附表
主表:存储的字段用于列表循环和搜索
附表:存储的字段用于内容页面展示(原则上不能出现在列表展示中)
设计附表是为了减轻主表的查询压力,把一些不常用于列表的字段放在附表中;
如果非要把附表字段用在列表循环里面,就违背了附表的设计理念,这样想法是不效率的,非要做的话有两种解决方法
比如新闻模块的日程表的内容字段,我想在列表中显示
方法一、通过PHPmyadmin工具手动修改主表的内容(需要有数据库基础,没有技术基础请看下面方法)
操作数据库需要提前备份数据,避免数据不可逆丢失。
1、进入cms自定义字段,找到内容字段的id号
2、dr_field 表,通过内容的id号找到内容字段的数据
将 0 更改为 1
3、进入模块主表的数据表dr_1_xxxx,新建内容字段
4、 然后进入模块附表数据dr_1_xxxx_data_0,将附表数据复制到主表的content字段:
UPDATE `dr_1_xxxx` a, `dr_1_xxxx_data_0` b SET b.`content` = a.`content` WHERE a.id = b.id;
如果有多个schedule,执行多个后缀_1,_number
5、 然后手动删除附表dr_1_xxxx_data_0的content字段,删除
6、 然后输入cms 后台更新缓存
方法 二、 并没有禁用自己的内容字段,更改列表循环标签:
join=1_news_data_0 on=id
比如列表循环时添加的效果
{module catid=$catid join=1_news_data_0 on=id order=updatetime page=1}
此写入方法仅限于 50,000 以内的数据
这种方法的效率远不如方法一
方法 3:在循环中第二次调用内容标签。这种写法效率最低,会影响整个页面的查询速度
{module module=news ******* return=r}
{content module=news id=$r.id}
标题:{$t.title}
内容:{$t.content}
{/content}
{/module}