KINGCMS栏目那里加个字段

时间: 2010-02-09 / 分类: 网站制作技术 / 浏览次数: 2,669 views / 0个评论 发表评论

做了个站,需要在栏目列表的每个栏目名称下加个英文名称,原来的想法是把标题或者关键词什么的改成那个字段,后来觉得还是练练手改改看

先到数据库里king_list添加个字段kenname,我是按照

char(100) utf8_general_ci ? NULL

然后就是修改后台程序了,找到portal下面的manage.php,再找到这个函数king_edt(),这个函数就是编辑栏目的

然后$_sql=后面的一串读取数据库里的字段里面添加上我们刚添加的字段kenname,我是直接添加在kkeywords的前面~方便以后管理

然后再往下就是生成后台编辑表单的代码,找到

?//kkeywords
?$_array=array(
??array(‘kkeywords’,0,0,100),
?);

在前面按葫芦画瓢添加

?//kenname 小货添加,英文名字
?$_array=array(
??array(‘kenname’,0,1,100),
?);
?$s.=$king->htmForm($king->lang->get(‘portal/label/kenname’).’ (1-100, ‘.$king->lang->get(‘portal/label/kenname1′).’)’,'<input type=”text” name=”kenname” value=”‘.htmlspecialchars($data[‘kenname’]).'” maxlength=”100″ />’,$_array,’EnName’);

注意$king->lang->get(‘portal/label/kenname’)的意思是读取语言文件,有个问题是这个kenname是我们新添加的,原来的语言文件肯定没有,所以我们必须到语言文件里补全

找到语言文件portal\language\zh-cn.xml

在<label>后面加上我们新添加的词汇

??<kenname>栏目英文名</kenname>
??<kenname1>在导航下面显示的英文名</kenname1>

然后回到manage.php,刚才设置的是读取数据库,并显示成表单,现在是入库,可以往下搜索

??$_array=array(
???’modelid’=>($modelid?$modelid:0),
???’listid1’=>$data[‘listid1’],
???’klistname’=>$data[‘klistname’],
???’ktitle’=>$data[‘ktitle’],

然后在后面添加我们要入库的字段

?’kenname’=>$data[‘kenname’],

那么后台就修改完成了

但是前台显示的时候直接调用{king:enname/}是啥都不显示的~因为我们没有将这个字段放到模板引擎里

找到portal/core.class.php

找到这个函数public function getField($type1,$type2)

然后把我们需要显示的字段加进下面这行去

???’field’=>array(‘ktitle’,’klisttitle’,’klistname’,’kkeywords’,’klistpath’,’kdescription’,’kimage’,’kcontent’,’klanguage’),//字段

然后刷新~终于在前台可以显示了

发表评论

你必须 登录后 才能留言!