CMS模块内容设计分为主表和附表
主表:存储的字段用于列表循环和搜索
附表:存储的字段用于内容页显示(原则上不能出现在列表显示)
设计附表是为了减轻主表的查询压力,把一些不常用于列表的字段放在附表中,如果非要把附表字段用在列表循环里面,就违背了附表的设计理念,这样想法是不效率的,非要做的话有两种解决方法:
例如news模块的附表的content字段,我想在列表显示
方法一、通过PHPmyadmin工具手动把content改为主表(需要有数据库基础,没有技术基础请看下面的方法)
操作数据库需要提前备份数据,以免数据丢失不可逆转。
1、进入cms自定义字段里面,找到content字段的id号
2、dr_field表,通过content的id编号,找到content字段的数据
把0改成1
3、进入模块主表的数据表dr_1_xxxx,新建一个content字段
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}
感谢您阅读这篇迅睿CMS如何在列表循环中调用模块附表内容字段:content文章,希望可以帮助您解决使用迅睿cms途中的问题,更多相关迅睿cms教程关注我们万条网吧。
文章原文链接:https://www.wantiao.net/35196.html,转载请注明出处。免责声明:本站资源均来自互联网,仅供研究学习使用,禁止违法违规使用,产生法律纠纷本站概不负责!本站信息来源于网络,版权争议与本站无关。如有侵权请邮件与我们联系处理,敬请谅解!
请先
!