迅睿CMS在列表中怎么显示内容字段(列表循环中怎么调用模块附表字段)

CMS模块内容设计分为主表和附表

主表:存储的字段用于列表循环和搜索

附表:存储的字段用于内容页显示(原则上不能出现在列表显示)

设计附表是为了减轻主表的查询压力,把一些不常用于列表的字段放在附表中;
如果非要把附表字段用在列表循环里面,就违背了附表的设计理念,这样想法是不效率的,非要做的话有两种解决方法

例如news模块的附表的content字段,我想在列表显示

方法一、通过PHPmyadmin工具手动把content改为主表(需要有数据库基础,没有技术基础请看下面的方法)

操作数据库需要提前备份数据,以免数据丢失不可逆转。

1、进入cms自定义字段里面,找到content字段的id号

迅睿CMS在列表中怎么显示内容字段(列表循环中怎么调用模块附表字段)

2、dr_field表,通过content的id编号,找到content字段的数据

迅睿CMS在列表中怎么显示内容字段(列表循环中怎么调用模块附表字段)

把0改成1

3、进入模块主表的数据表 dr_1_xxxx,新建一个content字段

迅睿CMS在列表中怎么显示内容字段(列表循环中怎么调用模块附表字段)

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;

如果有多个附表就执行多次后缀_1,_数字

5、然后再手动删除附表dr_1_xxxx_data_0的content字段,删掉

6、然后进入cms后台更新缓存即可

方法二、不禁用本身的content字段,列表循环标签改一下:

join=1_news_data_0 on=id

例如列表循环时,加上的效果

{module catid=$catid join=1_news_data_0 on=id order=updatetime page=1}

这个写法仅限于5万以内的数据

这个方法效率远远没有方法1高

方法三:在循环中进行二次调用content标签,这种写法效率最低,会影响整个页面的查询速度

{module module=news ******* return=r}

{content module=news id=$r.id}
标题:{$t.title}
内容:{$t.content}
{/content}

{/module}
本文地址:https://www.xunruicms.com/doc/678.html
收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

石家庄网络营销有限公司 技术支持 迅睿CMS在列表中怎么显示内容字段(列表循环中怎么调用模块附表字段) https://www.5051688.com/6684.html

迅睿CMS在列表中怎么显示内容字段(列表循环中怎么调用模块附表字段)
下一篇:

已经没有下一篇了!

常见问题

相关文章

官方客服团队

为您解决烦忧 - 24小时在线 专业服务

迅睿CMS在列表中怎么显示内容字段(列表循环中怎么调用模块附表字段)-海报