webgm | 发表于:11-07-07 18:36 编辑于:07-07 23:12 [添加收藏] 楼主 [回复] #Top# | |||
---|---|---|---|---|
人气:40
积分:18
金币:385
|
在写这个文章之前,已经关注KINGCMS超过2年了。
很早很早就开始自己测试KINGCMS了。 现在手上一个站点准备用KINGCMS来制作。 现在站点基本OK了。就是一个问题解决不了。 我已经GOOGLE 、论坛翻阅资料等等查了一个星期啊!!!! 我只想实现一个简单的判断啊!!!!!! 模板里用PHP代码不行, 我以前发的帖子:http://www.kingcms.com/forums/u12458/ 各种难题。。。。。。。。。。。。。。 最后只要自己修改核心代码。 临时测试的代码完全通过 <?php $abc=" and kkk=123"; $xl_a="a=22"; $xl_b=explode('=',$xl_a); if (!empty($xl_b[1])){ $abc.=" and ".$xl_a; } echo $abc; ?> $xl_a="a=值" 这个值没有的话, 输出 and kkk=123 这个值如果有的话 输出 and kkk=123 and a=22 但是放到核心代码里!!! //SQL扩展属性where,这个功能是标签解析不稳定的隐患功能。 if(isset($attrib['where'])){ $where.=" and ".$attrib['where']; } //为了尽量不修改系统代码,不修改上面的代码了 //添加修改:将where="a=条件1 and b=条件2",修改成 where="a=条件1" where1="b=条件2" $xl_a=''; $xl_b=''; $xll_a=''; $xll_b=''; if(isset($attrib['where1'])){ $xl_a=$attrib['where1']; $xl_b=explode('=',$xl_a); if (!empty($xl_b[1])){ $where.=" and ".$attrib['where1']; } } if(isset($attrib['where2'])){ $xll_a=$attrib['where2']; $xll_b=explode('=',$xll_a); if (!empty($xll_b[1])){ $where.=" and ".$attrib['where2']; } } ------------------------------ 模板调用 {king:portal.tyzp type="list" where="k_zpzl='(GET:s1/)'" where1="k_zpxl='(GET:s2/)'"} {king:title/} {/king:portal.tyzp} {king:pagelist/} 按照代码如果 GET:s2 为空的话,应该只查询GET:s1才对。。 可是如果 GET:s2为空,就没有任何输出。,。。 天啊。。。我真受不了了!!!!!!! KINGCMS如果就做普通站绝对是效率高,超简单。。。。 可是文档太简略,使用方法说的不够。甚至连 {}里的标签应该用()都是搜索得到的。 还有文档里说的那个
请问到底有没有这功能,如果没有就不要写上去啊!!! ------------------------------------------------------------------------我是分隔符 午夜时分。。。。。。。。。。。。。。。。。。。。。。。。。 很高兴的告诉大家,我的那个问题解决了。 <?php $abc=" and kkk=123"; $xl_a="a=22"; $xl_b=explode('=',$xl_a); if (!empty($xl_b[1])){ $abc.=" and ".$xl_a; } echo $abc; ?> $xl_a="a=值" 这个值没有的话, 输出 and kkk=123 这个值如果有的话 输出 and kkk=123 and a=22 这个测试是没错的,可以用empty来判断数组中的某个键值是否为空。 但是到了kingcms的核心代码就不行了。 var_dump了一下,发现虽然值表面看起来为空,实际上还是有2个字符,然后我修改了一下。用字符数量判断,同时为了防止SQL注入,也限制了字符数量。 if(isset($attrib['where1'])){ $xl_a=$attrib['where1']; $xl_b=explode('=',$xl_a); if (strlen($xl_b['1'])>2 and strlen($xl_b['1'])<20){ $where.=" and ".$attrib['where1']; } } if(isset($attrib['where2'])){ $xll_a=$attrib['where2']; $xll_b=explode('=',$xll_a); if (strlen($xll_b['1'])>2 and strlen($xll_b['1'])<20){ $where.=" and ".$attrib['where2']; } } 到此为止完美结束。 在此,还是衷心希望K老大能更加的完善一下标签的使用方法,
Ta最近还发表过
[疑问]
对KINGCMS ,忍无可忍了
(17-04-12)
[使用]
正在制作中的小东西
(15-04-12)
[疑问]
栏目无法删除
(12-11-29)
[错误]
缩略图默认不是从中部截取?
(11-12-22)
[疑问]
请问那个标签内部的 next如何使用
(11-07-13)
随机阅读
[帮助]
发布地方门户模板blue
(15-07-30)
[分享]
可以安装到子目录下的 KINGCMS 5.1 ASP 版打包下载
(14-05-13)
[错误]
出现SyntaxError:invalid redular这个错误怎样解决
(14-05-08)
[使用]
KINGCMS-PHP版本没有数据备份工具么?
(13-12-07)
[其他]
我居然从论坛的第一页一页的翻到最后一页。
(13-08-13)
|
无聊的飞翔 | 发表于:11-07-07 20:24 沙发 [回复] #Top# |
---|---|
人气:402
积分:1720
金币:20053
|
1.你不了解kingcms
2.kingcms没这功能 就这2答案而已,不要这样激动 |
webgm | 发表于:11-07-07 20:27 板凳 [回复] #Top# |
---|---|
人气:40
积分:18
金币:385
|
你在说笑吗?
如果没有这功能,帮助文档里怎么有? 怎么样才算了解KINGCMS? |
无聊的飞翔 | 发表于:11-07-07 21:21 编辑于:07-07 21:22 4楼 [回复] #Top# |
---|---|
人气:402
积分:1720
金币:20053
|
我没有说笑,这点我可以很负责人的告诉你
至于怎么样才算了解KINGCMS:时间,足够的时间,当然还需要你足够的耐性 |
freehzw | 发表于:11-07-07 21:23 5楼 [回复] #Top# |
---|---|
人气:43
积分:76
金币:1284
|
只能说你使用kingcms php版本有点深度了,我在使用时,kingcms调用php代码,确实也碰到意想不到的结果,当然,也有可能是我水平有限。
不急不躁,等待新版本的推出。再说KingCMS是完全免费的,门户版才收费的,二者不一样的。 |
webgm | 发表于:11-07-07 22:14 6楼 [回复] #Top# |
---|---|
人气:40
积分:18
金币:385
|
一个简简单单用PHP代码1分钟就能实现的东西。
而我用KINGCMS1个星期都没搞定- -! 心里这个火啊~~~~ 标签不支持和代码混合输出,这是最大的遗憾啊!!! |
webgm | 发表于:11-07-07 22:15 7楼 [回复] #Top# |
---|---|
人气:40
积分:18
金币:385
|
KINGCMS不是免费的吧,对于商用。
我本来以为顺顺利利交货,然后再买授权的。。 |
z | 发表于:11-07-07 22:30 8楼 [回复] #Top# |
---|---|
人气:9
积分:481
金币:86
|
肯定不支持标签和代码混合的.为何楼主不用纯代码实现?php版完全可以在模板写php.另外,楼主要实现的是什么调用?说出具体需求,看有没有其它办法实现?
|
紫花地丁 | 发表于:11-07-07 22:47 9楼 [回复] #Top# |
---|---|
人气:249
积分:1955
金币:14564
|
好像还好了
|
webgm | 发表于:11-07-07 23:15 10楼 [回复] #Top# |
---|---|
人气:40
积分:18
金币:385
|
Reply: 8楼
就是一些商品,需要N多分类。。。。 然后我想做成通过GET传递数值来进行分类。 但是我把 KINGCMS帮助上的,以及论坛上的,GOOGLE搜索到的一些方法都试过了,都不行。 你说我为什么不直接用PHP SQL在模板里实现。 我想如果我这么做了,那么下一次肯定还要这么做。 如果能够通过其他方法,直接通过KING 标签来实现。这不是很完美吗? |