K9 通用版 博客版 主题版 地方门户版 企业版 |   企业(ASP) 分类 使用 分享 疑问 模板 建议 帮助 错误 其他
+新建主题 [Ajax]
填写帐号密码即可完成注册
+新建话题 最新回复排序 最新主题排序 精华帖子

这两天一直研究kingcms(PHP)版本,说下心得体会吧

1Next >

糊涂 发表于:11-06-10 15:09 编辑于:06-11 19:55 [添加收藏] 楼主 [回复] #Top#
糊涂 人气:42 积分:22 金币:769
  虽然自己是程序员。说真的看起来Kingcms也很费劲。如要如下:
  1.官方的文档太少了,太不完整。我们无法获取更多的信息。
  2.遇到问题没有很好的帮助。也没有特别大牛的人。除了官方以外。

  不过还是有收获的!
  这两天把原来自己写的重新写了一下基本实现了能糅合在一起。
  应该是从前天开始写吧。工作不是很忙了。突然想着把原来写的东西糅合下。因为接触kc没多长时间。对他的功能原理什么都不是很清楚。。
 我做的小功能是在线订单:其实代码基本是拷贝和修改。。仅提供思路
  (一)前台页面  一个订单页面,就是你提交东西,输入的地方,这个自然利用kc的后台生成。例如是http://localhost/kingcms/index.php/list-8.html这个地址,我要提交到dinggou.php里。dinggou.php我是放在了portal这个文件夹里(自由嘛),在这个dinggou.php里写入的代码就是
<?php

require_once('../global.php');//

function king_def()
{
 global $king; // 定义一个全局
 $king->Load('portal');
 // 取得传递的值
 $array = array(
   'prod'=>$_POST['prod'],
   'order_count' =>$_POST['order_count'],
   'order_name'  =>$_POST['order_name'],
   'order_time' =>time(), 
 );
 
 $king->db->insert('%s_order',$array);
 //成功返回提示
  //我想显示订单详情模板    
 $s=$king->openForm($king->lang->get('online/name'),'',0);
$s.=$king->htmForm($king->lang->get('feedback/label/title'),'*');
 $s.=$king->htmForm($king->lang->get('feedback/label/name'),'*');
 $s.=$king->htmForm($king->lang->get('feedback/label/email'),'*');
 $s.=$king->htmForm($king->lang->get('feedback/label/qq'),'');
 $s.=$king->htmForm($king->lang->get('feedback/label/phone'),'');
 $s.=$king->htmForm($king->lang->get('feedback/label/content'),'');
 $s.=$king->closeForm('none');
 //$s=kc_f_get_contents(strtolower($king->config('templatepath').'/default.htm'));
 //print_r($s);
 //print_r($king->config('templatepath'));
 $tmp=new KC_Template_class($king->config('templatepath').'/default.htm',$king->config('templatepath').'/inside/online[page]/content.htm');
 $tmp->assign('content',$s);
 

 $tmp->assign('order_name','1');
 $tmp->assign('order_count','2'); 
 $tmp->assign('order_prod','3');
 //$tmp->assign('type',kc_formatdate(time()));

 echo $tmp->output();

}

?>
代码不详细解析了。最主要的是要包含进来global.php 和写一个king_def()这个函数。从$king->db->insert('%s_order',$array);后开始区分上面是插入到数据库里新的数据,下面是现实提交成功后的界面。在这里我讲下kc_Template_class主要是用于解析模板。应该是前台页面的现实。KC_Skin_class是用于后台界面(测试可能不完全正确,但目前测试就是这样),这样就完成了订单的提交。

(二)后台在线订单
后台的在线订单,我是先建立了个文件夹online,里面包括一个language文件夹,core.class.php和manage.php函数。在core.class.php里主要是定义一个online_class类,里面的内容你可以仿feedback的core.class.php。manage.php里主要有个king_def(),king_view(),king_ajax_read()用于读取(这个功能没实现郁闷),king_ajax_delete(),
写好这些函数后就去后台点开工具=>模块管理=>添加在里面输入你文件夹的名字,记得大小写都要一直。我看好像都是要小些。呵呵。。在这里就用到了kc_skin_class这个类。
(三)应该是对上面下订单的一个补充,应该先去数据库里建立一个表,因为要把数据插入到里面。
其他的就感觉没什么了,不过在我看来。如果实在不会的话。就去死活看feedback 和block这俩模块。为啥呢?feedback涉及到前台留言。所以你写前台的时候可以看看。block主要是后台的应用。不知道我理解的对不对。
   不过我在取值的过程中发现个问题就是我数据表设置的是下单时间的数据类型是timestamp生成的格式是'2011-6-10 15:20:33'这个对于11()这个js不认。有些郁闷。我看了下官方的写法是用time()取得值。然后通过kc_formatdate()来输出,诚实讲官方的做法是对的呵呵。也许因为类型不一样导致11()这函数判断我的取值有问题导致不能显示吧!郁闷。

气象万千 发表于:11-06-10 21:10 沙发 [回复] #Top#
气象万千 人气:140 积分:978 金币:4255
KC元老
好像官方的帮助文档一直为人诟病
lanrennet 发表于:11-06-11 19:48 板凳 [回复] #Top#
lanrennet 人气:113 积分:949 金币:5089
KC元老
kanjiange hui biancheng de ren
糊涂 发表于:11-06-11 21:09 4楼 [回复] #Top#
糊涂 人气:42 积分:22 金币:769
呵呵。谢谢。我也是拷贝官方的东西。真是写代码的时候不用费那么大劲
zongxiao08 发表于:11-06-13 00:14 5楼 [回复] #Top#
zongxiao08 人气:145 积分:1159 金币:3553
呵呵  很好啊
rekoe 发表于:11-06-15 00:13 6楼 [回复] #Top#
rekoe 人气:11 积分:70 金币:322
呵呵。。。帮助 帮助 帮助。。。
bleach 发表于:11-06-15 07:08 7楼 [回复] #Top#
bleach 人气:87 积分:32 金币:1003
KC元老
能分享就很好。
LYY 发表于:12-05-01 19:07 9楼 [回复] #Top#
LYY 人气:0 积分:10 金币:0
学习了,感谢分享。
yxb1988 发表于:12-05-04 20:15 10楼 [回复] #Top#
yxb1988 人气:18 积分:64 金币:126
555,看不懂耶,正则?

1Next >

发表回复

帐号 匿名发布 审核后可见 [加载完整在线编辑器]
内容
验证码
KingCMS 内容管理系统

关于我们 联系我们 广告报价 付款方式 站点导航

Copyright © 2004-2015 Focuznet All rights reserved.

广州唯众网络科技有限公司 粤ICP备08008106号