欢迎来到资源库(www.zyku.net)

DedeCMS

当前位置:首页 > CMS教程 > DedeCMS > 自定义字段

DedeCMS v5.7SP1栏目添加自定义字段的方法

时间:2017-02-27|栏目:DedeCMS|点击:|我要投稿

1.添加一个栏目别名为例,首先进入phpmyadmin 来建立数据库字段。进入这个数据库进行如下图操作:

DedeCMS v5.7SP1栏目添加自定义字段的方法

ALTER TABLE dede_arctype ADD typename2 VARCHAR(255);

这个SQL语句,也是可以直接创建这个字段的

2.点击进入以后进行下图的操作,红色框内要注意一下。(在页面的下面):

DedeCMS v5.7SP1栏目添加自定义字段的方法

3.会出现一个这个图形界面,红色框内是你要填写的:保存以后数据库字段就算建立好了!

DedeCMS v5.7SP1栏目添加自定义字段的方法

4.下面要做后台的表单部分

打开:\dede\templets\模板下的catalog_add.htm这个文件,最好用DW之类的网页编辑器去打开编辑。

找到如下代码:

<tr>
  <td class='bline' height="26" style="padding-left:10px;"><font color='red'>栏目名称:</font></td>
  <td class='bline'><input name="typename" type="text" id="typename" size="30" class="iptxt" /></td>
</tr>

在下面添加:

<tr>
  <td class='bline' height="26" style="padding-left:10px;"><font color='red'>栏目别名:</font></td>
  <td class='bline'><input name="typename2" type="text" id="typename2" size="30" class="iptxt" /></td>
</tr>

打开:\dede\templets\模板下的catalog_edit.htm这个文件,最好用DW之类的网页编辑器去打开编辑。

找到以下代码:

<tr>
  <td class='bline' height="26" style="padding-left:10px;"><font color='red'>栏目名称:</font></td>
  <td class='bline'><input name="typename" type="text" id="typename" size="30" value="<?php echo $myrow['typename']?>" class="iptxt" /></td>
</tr>

在下面加:

<tr>
  <td class='bline' height="26" style="padding-left:10px;"><font color='red'>栏目别名:</font></td>
  <td class='bline'><input name="typename2" type="text" id="typename" size="30" value="<?php echo $myrow['typename2']?>" class="iptxt" /></td>
</tr>

5.PHP部分的修改:

打开:\dede\catalog_add.php文件,最好用DW之类的网页编辑器去打开编辑.

找到:

  $queryTemplate = "INSERT INTO `#@__arctype`(reid,topid,sortrank,typename,typedir,isdefault,defaultname,issend,channeltype,tempindex,templist,temparticle,modname,namerule,namerule2,ispart,corank,description,keywords,seotitle,moresite,siteurl,sitepath,ishidden,`cross`,`crossid`,`content`,`smalltypes`)
  VALUES('~reid~','~topid~','~rank~','~typename~','~typedir~','$isdefault','$defaultname','$issend','$channeltype','$tempindex','$templist','$temparticle','default','$namerule','$namerule2','0','0','','','~typename~','0','','','0','0','0','','')";

在typename后面增加一个typename2 也就形成了以下代码:

  $queryTemplate = "INSERT INTO `#@__arctype`(reid,topid,sortrank,typename,typename2,typedir,isdefault,defaultname,issend,channeltype,tempindex,templist,temparticle,modname,namerule,namerule2,ispart,corank,description,keywords,seotitle,moresite,siteurl,sitepath,ishidden,`cross`,`crossid`,`content`,`smalltypes`)
  VALUES('~reid~','~topid~','~rank~','~typename~','~typename2~','~typedir~','$isdefault','$defaultname','$issend','$channeltype','$tempindex','$templist','$temparticle','default','$namerule','$namerule2','0','0','','','~typename~','0','','','0','0','0','','')";

继续往下找,找到:

  $queryTemplate = "INSERT INTO `#@__arctype`(reid,topid,sortrank,typename,typename2,typedir,isdefault,defaultname,issend,channeltype,tempindex,templist,temparticle,modname,namerule,namerule2,ispart,corank,description,keywords,seotitle,moresite,siteurl,sitepath,ishidden,`cross`,`crossid`,`content`,`smalltypes`)
  VALUES('~reid~','~topid~','~rank~','~typename~','~typename2~','~typedir~','$isdefault','$defaultname','$issend','$channeltype','$tempindex','$templist','$temparticle','default','$namerule','$namerule2','0','0','','','~typename~','0','','','0','0','0','','')";

依然是在typename 后加一个 typename2 形成了以下代码:

  $in_query = "INSERT INTO `#@__arctype`(reid,topid,sortrank,typename,typename2,typedir,isdefault,defaultname,issend,channeltype,tempindex,templist,temparticle,modname,namerule,namerule2,ispart,corank,description,keywords,seotitle,moresite,siteurl,sitepath,ishidden,`cross`,`crossid`,`content`,`smalltypes`)
  VALUES('$reid','$topid','$sortrank','$typename','$typename2','$typedir','$isdefault','$defaultname','$issend','$channeltype','$tempindex','$templist','$temparticle','default','$namerule','$namerule2','$ispart','$corank','$description','$keywords','$seotitle','$moresite','$siteurl','$sitepath','$ishidden','$cross','$crossid','$content','$smalltypes')";

找到:

$sql = str_replace('~typename~',$toptypename,$sql);

下面添加:

$sql = str_replace('~typename2~',$toptypename,$sql);

找到:

$sql = str_replace('~typename~',$v,$sql);

下面添加:

$sql = str_replace('~typename2~',$v,$sql);

打开\dede\catalog_edit.php文件,最好用DW之类的网页编辑器去打开编辑

找到:

typename='$typename',

下面添加:

typename2='$typename2',

找到第二处:

typename='$typename',

下面添加:

typename2='$typename2',

找到:

<tr>
  <td class='bline' height="26" align="center"><font color='red'>栏目名称:</font></td>
  <td class='bline'><input name="typename" type="text" id="typename" size="30" value="<?php echo $myrow['typename']?>" class="iptxt" /></td>
</tr>

下面添加:

<tr>
  <td class='bline' height="26" align="center"><font color='red'>栏目别名:</font></td>
  <td class='bline'><input name="typename2" type="text" id="typename2" size="30" value="<?php echo $myrow['typename2']?>" class="iptxt" /></td>
</tr>

大功告成!下面是调用方法!

比如你以前栏目的调用方法是:

{dede:channel type='top' row='13'}
  <li><a href='[field:typeurl/]'>[field:typename/]</a></li>
{/dede:channel}

现在就要换成SQL模式的调用方法了

{dede:sql sql="SELECT typename,typedir,typename2 FROM dede_arctype"}
  <a href="[field:typedir function='str_replace("{cmspath}","",@me)'/]" alt="[field:typename2/]"  >[field:typename/]</a>
{/dede:sql}

(资源库 www.zyku.net)

上一篇:DedeCMS提示userlogin.class.php on line 21错误的解决办法

栏    目:DedeCMS

下一篇:DedeCMS解决分页列表显示去掉li的方法

本文标题:DedeCMS v5.7SP1栏目添加自定义字段的方法

本文地址:https://www.zyku.net/dedecms/993.html

关于我们 | 版权申明 | 寻求合作 |

重要申明:本站所有的文章、图片、评论等内容,均由网友发表或上传并维护或收集自网络,仅供个人学习交流使用,版权归原作者所有。

如有侵犯您的版权,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:95148658 | 邮箱:mb8#qq.com(#换成@)

苏ICP备2020066115号-1

本网站由提供CDN加速/云存储服务