迅睿CMS如何在列表循环中调用模块附表内容字段:content

文章详情

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

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

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


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


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


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


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


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

迅睿CMS如何在列表循环中调用模块附表内容字段:content

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

迅睿CMS如何在列表循环中调用模块附表内容字段:content


  把0改成1


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

迅睿CMS如何在列表循环中调用模块附表内容字段: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}


收藏:0
来源:网站建设网

版权:所有文章为演示数据,版权归原作者所有,仅提供演示效果!

转载请注明出处:https://wzjianshe.com/gzwt/6151.html

相关推荐
迅睿CMS如何获取数据POST和GET写法
迅睿CMS如何获取数据POST和GET写法:1、$_GET写法\Phpcmf\Service::L('input')->get('变量名'); // 会进行xss安全过滤\Phpcmf\Service::L('input')->get('变量名', false); ...
2024-11-11
37
迅睿CMS在后台列表增加链接二维码的功能
可以用于查验等场景中,生成一对一二维码,扫码进行结果查验。修改细节本教程基于XunRuiCMS官方免费版,如果您的是官方OEM版本,请根据自己定制路径修改。本次使用了jquery.qrcode.min.js组件,未改动PHP系统文件。具体页面路径为dayrui/Fc...
2024-11-11
87
迅睿cms如何使用自定义字段作为内容url?
使用迅睿cms时,可能会遇到类似需求,比如我自定义了一个编号字段为:bianhao,然后将这个字段作为url链接的关键字。实例:实际的链接地址:/news/编号.html欲实现链接地址:/news/ss0001.html1、首先创建字段,这个就不用讲,cms的基础功...
2024-11-11
101
迅睿CMS发送手机验证码开发教程
用在二次开发时,处理验证码发送程序,适合精通php的程序员模板代码: 图片验证 {dr_code(120, 35)} 短信验证 获取手机验证码 id传递手机号码程序判断部分:$code = \Ph...
2024-11-10
72
发表评论