帝国cms教程之灵动标签附加SQL条件调取关联商品ID
0
阅: - 评:0 - 积分:摘要:
帝国cms灵动标签非常强大,支持sql条件语句的时候,如果语句出错,就看不到我们想要的效果。在调用关联商品ID时,如果直接粘贴id in ($navinfor[shoplinkid])是会出现错误的,而解决的方法是......
一、起因
周一夜晚(2016-07-04),qq一小伙伴@PoroPro问我关于帝国cms如何实现不同商品属性不同价格,有什么技巧?的问题并发来了个帝国cms官方教程地址:http://bbs.phome.net/ShowThread/?threadid=293747&forumid=13
。
二、过程
当时艺灵点进去把第5条反复看了几遍后,愣是没有明白什么意思。后来在本地安装了个安装包,然后折腾了一个小时左右才成功调出,然后似乎明白了什么。有关id in ($navinfor[shoplinkid])的内容,艺灵在网上搜索了下,除了阉割版的回复就是无意义的回复,连一个完整的演示案例都没有!!!这让很多新手根本就无法使用这个功能,艺灵也是踩过坑,自己摸索了1个小时才解决问题。现在将写一篇完整的实例教程,以便看官遇到此问题时可快速解决。
三、教程开始
可能还有一部分看官跟艺灵一样,无法理解教程中的第5条描述。
5、如何实现不同商品属性不同价格,有什么技巧?
答:建议采用增加多个商品信息来实现不同价格。内容页显示相关信息,可增加一个关联ID字段,比如“shoplinkid”,这样内容模板里就可以通过这个字段调用相关联ID的信息:
标签附加sql条件设置:"id in ($navinfor[shoplinkid])"
既然现在不能理解,那我们先放一放,还是先来完成案例再说吧。
3.1、在商城表中添加关联ID字段
步骤:
1、登录自己的帝国cms后台;(如果看官有兴趣,可以在本机上安装下环境,本地安装教程→→帝国cms建站之安装篇)
2、进入后台后;
3、点击系统;
4、点击数据表与系统模型;
5、管理数据表;
6、点击商城系统数据表后管理字段;
7、增加字段;
8、字段名处填写shoplinkid--字段标识处填写关联商品ID--字段类型选择大数据值型,长度为10,下面的不用修改;
9、点击提交,此时会提示添加成功。
为了照顾部分看官,此处对上述步骤配图一张:
3.2、编辑页面没有显示该字段
刚我们添加了字段,但在添加商品的时候会发现:编辑页面没有显示刚添加的字段,为什么呢?
3.3、更新系统模型的表单
没有显示是因为我们没有更新系统模型表单,此处我们要按以下步骤操作:
1~5同3.1的操作;
6、点击商城系统数据表后的管理系统模型;
7、点击修改;
8、找到关联商品ID这一行,打上后面的一堆勾,这个根据你自己的需求;
9、勾选录入表单模板这一项;
10、点击下面的提交按钮,此时提示修改成功
上述步骤配图一张:
此时我们再去添加商品就可以看到关联商品ID这一个选项了。
3.4、如果理解关联商品ID
一切都进展的非常顺利,那这个关联商品ID,应该怎么使用呢?
按艺灵揣测帝国CMS官方描述后的理解是这样的:比如有一件衣服,有不同颜色的款式。比如说:红色款100块、灰色款88块、白色款20块等等。此时我们在后台要添加3个商品,虽然是3个商品,但其实除了颜色不同外,并没有什么差别。用户在浏览红色款的时候,可能会问有没有白色款或其它颜色款,那么此款下面会显示关于这款商品的其它几个色调的链接,这样用户就可以更快的看到其它色款的商品。
感觉应该是这个意思,不知道到底是不是。我们还是接着把这个案例做完吧!
3.5、添加几个商品
添加商品的步骤:
1、点击导航上的信息;
2、点击左侧的网上商城;
3、选择一个栏目,比如:手机数据;
4、点击右侧的增加信息;
5、填写信息并提交。注意关联商品ID都要写一样,因为等会是要调用同一款产品!!!
6、继续刚才的操作,多添加几款测试商品。
上述添加商品步骤配图:
3.6、如何使用灵动标签
在继续向下讲之前,艺灵觉得有必要说下灵动标签(e:loop)如何调用的问题。
生成灵动标签的步骤:
1、点击导航上的模板;
2、点击左上角的自动生成标签;
3、点击选择标签后的下拉框,并选择灵动标签;
4、下面就是一些操作了,选择你要调用的表及条件;
5、点击输出标签;
6、复制下方文本域中的标签代码,粘贴到你想要展示的模板页面中保存发布即可。部分模板需要更新数据的哦。
关于生成灵动标签的步骤,此处配图一张:
3.7、灵动标签附加SQL调用关联商品ID误区
其实前面的步骤都是热身,这里才是核心关键!!!因为很多不懂php程序语言的看官不会使用这个附加SQL条件。因为官方给出的是这样的回答是:标签附加sql条件设置:"id in ($navinfor[shoplinkid])"。如果我们直接粘贴进去,大致代码如下:
灵动标签
- 【e:loop={'shop',10,18,0,'id in ($navinfor【shoplinkid])','newstime DESC'}】
- <a href="<?=$bqsr【'titleurl'】?>" target="_blank"><?=$bqr【'title'】?></a> <br>
- 【/e:loop】
- <!--注意!复制代码后,请在英文状态下输入【、】、?-->
发布后,在前台会看到SQL Error: select ......错误信息,配图:
艺灵相信,这个错误,很多帝国站友都遇到过吧!
怎么修改呢?
刚才我们在添加商品的时候,故意将关联商品ID填写为1,那是不是把上面的shoplinkid
替换成1就可以了呢?
如果看官这样想过,那要恭喜看官,错了......
如果不信,自己动手去修改后看前台显示什么。
3.8、灵动标签附加SQL调用关联商品ID的正确方法
调单个的方法
- 【e:loop={'shop',10,18,0,'
shoplinkid=1 ','newstime DESC'}】- <a href="<?=$bqsr【'titleurl'】?>" target="_blank"><?=$bqr【'title'】?></a> <br>
- 【/e:loop】
- <!--注意!复制代码后,请在英文状态下输入【、】、?-->
注意上面代码中黄色高亮部分,这个颜色非常显眼,就是为了告诉你,你要注意它,它才是答案!!!
此时,我们再刷新前台,可以看到已经将关联商品ID为1的4件商品成功调出,配图:
怎么样,是不是很简单,就这样调出来了,有没有很激动???
3.9、灵动标签附加SQL调用多个不同的关联商品ID
虽然上面案例中,我们成功了。但总是不能满足某些看官呀!因为有特殊需求!!!比如说:我现在想调用关联商品ID为1和2的,也就是要调用多个,那怎么办呢?
显然,如果还用上面的方法,肯定是不正确的。毕竟现在是调多个,相当于数组了吧。
调多个的方法
- 【e:loop={'shop',10,18,0,'
shoplinkid in (1,2) ','newstime DESC'}】- <a href="<?=$bqsr【'titleurl'】?>" target="_blank"><?=$bqr【'title'】?></a> <br>
- 【/e:loop】
- <!--注意!复制代码后,请在英文状态下输入【、】、?-->
还是要注意上面黄色亮瞎眼的地方,因为这个是答案!此时效果配图:
如果想调用其它的,只需要将(1,2)
修改成其它数值即可,注意 多个时要用逗号分开,是英文逗号!
四、说明
这篇文章纯属艺灵个人折腾一个多小时后的收获,可能在语言描述及观点方法存在误区,但好在最终实现了效果。
五、结束
好了,花了两个小时完成了这篇教程。如果看官正在被此问题困扰,请一定要仔细看教程中的3.8和3.9这两个关键性的步骤!!!
----------完----------
转载声明:
若亲想转载本文到其它平台,请务必保留本文出处!
本文链接:/xwzj/2016-07-07/420.html
若亲不想直保留地址,含蓄保留也行。艺灵不想再看到有人拿我的技术文章到他的地盘或者是其它平台做教(装)程(B)而不留下我的痕迹。文章你可以随便转载,随便修改,但请尊重艺灵的劳动成果!谢谢理解。
亲,扫个码支持一下艺灵呗~
Tag: 帝国cms教程 帝国cms建站系统 灵动标签 SQL条件语句 关联商品ID SQL错误 帝国cms商城系统
上一篇: 服务器异常及杀毒软件误报等都会引起网站无法访问 下一篇: h5实战中的坑点之ios禁用了自动播放