• <xmp id="acwsw"><menu id="acwsw"></menu>
    <nav id="acwsw"><code id="acwsw"></code></nav>
  • <xmp id="acwsw"><menu id="acwsw"></menu>
  • <xmp id="acwsw">
    <optgroup id="acwsw"><optgroup id="acwsw"></optgroup></optgroup>
    ?
    当前位置:石家庄seo > 营销知识 > 织梦建站教程 > 织梦CMS栏目添加自定义字段教程,如英文名称

    织梦CMS栏目添加自定义字段教程,如英文名称

    发布时间:2021-01-03 22:00   浏览次数: 次   作者:admin

    正在制造织梦模板的进程中常常会用到一些默许织梦不的字段,比方,你想正在首页导航上挪用对于应的英文称号,能够你想写逝世,可是如许的话前面的人用起来就会费事了很多,为此做了一个对于织梦自界说字段的增加以及自界说字段正在织梦模板中的挪用办法。


    功用需要

    • 背景可针对于对于应的栏目填写英文称号

    • 前台能够正在导航栏上挪用对于应的英文称号

    触及到数据库的修正

    • 翻开数据库,找到名为 dede_arctype 表,最初一行增加一个新的字段,字段称号本人爱好啥就取啥。

    • 比方我如今需求增加一个导航英文展现的字段 englishtype

    0200531184113.jpg

    触及到文件的修正

    1. 正在改以前起首亲们需求找到以下的文件

    • 背景办理模板文件修正:/dede/templets

      • catalog_add.htm

      • catalog_edit.htm

    • 背景用做数据交互文件:/dede/

      • catalog_add.php

      • catalog_edit.php

    • channel标签库修正 /include/taglib/

      留意,正在改以前必定要把以前的备份下,否则一没有当心改错了,欠好恢复哟

      • channel.lib.php

    2. catalog_edit.htm 文件的修正

    <!-- 找到以下代码:由于咱们需求增加的便是一个复杂的字段以是咱们复制下栏目称号的HTML排版好了 -->
    <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>
    <!-- 正在上述代码上面增加以下代码:需求将name,id,value外面的值换成方才正在数据库外面增加的字段名englishtype -->
    <tr> 
        <td class='bline' height="26" style="padding-left:10px;"><font color='red'>栏目英文:</font></td>
        <td class='bline'><input name="englishtype" type="text" id="englishtype" size="30" value="<?php echo $myrow['englishtype']?>" class="iptxt" /></td>
    </tr>

    3. catalog_add.htm 文件的修正

    <!-- 找到以下代码:由于咱们需求增加的便是一个复杂的字段以是咱们复制下栏目称号的HTML排版好了 -->
    <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>
    <!-- 正在上述代码上面增加以下代码:需求将name,id外面的值换成方才正在数据库外面增加的字段名englishtype -->
    <tr>
        <td class='bline' height="26" style="padding-left:10px;"><font color='red'>栏目英文:</font></td>
        <td class='bline'><input name="englishtype" type="text" id="englishtype" size="30" class="iptxt" /></td>
    </tr>

    4. catalog_edit.php 文件的修正

    找到以下代码,而后依照正文的请求停止修正

    $upquery = "UPDATE `dede_arctype` SET
        issend='$issend',
        sortrank='$sortrank',
        typename='$typename',
        typedir='$typedir',
        isdefault='$isdefault',
        defaultname='$defaultname',
        issend='$issend',
        ishidden='$ishidden',
        channeltype='$channeltype',
        tempindex='$tempindex',
        templist='$templist',
        temparticle='$temparticle',
        namerule='$namerule',
        namerule2='$namerule2',
        ispart='$ispart',
        corank='$corank',
        description='$description',
        keywords='$keywords',
        seotitle='$seotitle',
        moresite='$moresite',
        `cross`='$cross',
        `content`='$content',
        `crossid`='$crossid',
        `smalltypes`='$smalltypes',
        `englishtype`='$englishtype'
        $uptopsql
    WHERE id='$id' ";
    // 正在字段最初增加方才咱们正在数据库外面增加的字段便可 `englishtype`='$englishtype'

    5. catalog_add.php 文件的修正

    以后文件第一处修正,找到以下代码,并依照正文的请求停止修正

    $queryTemplate = "INSERT INTO `dede_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`,`englishtype`)
    VALUES('~reid~','~topid~','~rank~','~typename~','~typedir~','$isdefault','$defaultname','$issend','$channeltype',
    '$tempindex','$templist','$temparticle','default','$namerule','$namerule2','0','0','','','~typename~','0','','','0','0','0','','','$englishtype')";
    // $queryTemplate 的最初一个增加 englishtype 字段, VALUES 的最初一个也加之 englishtype 字段

    以后文件第二处修正

    $in_query = "INSERT INTO `dede_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`,`englishtype`)
    VALUES('$reid','$topid','$sortrank','$typename','$typedir','$isdefault','$defaultname','$issend','$channeltype',
    '$tempindex','$templist','$temparticle','default','$namerule','$namerule2',
    '$ispart','$corank','$description','$keywords','$seotitle','$moresite','$siteurl','$sitepath','$ishidden','$cross','$crossid','$content','$smalltypes','$englishtype')";
    // $in_query 的最初一个增加 englishtype 字段,VALUES 的最初一个也加之 englishtype 字段

    实现当前则能够经过{dede:field name='englishtype'/} 停止挪用了,可是你会发明正在channel中没法挪用,咱们接着往下看 ↓↓↓

    6. 若何完成正在导航中停止挪用,业余点儿就说正在channel中的运用

    6-1. 上述的体式格局实现当前,你会发明正在channel中挪用没有进去,比方以下的挪用,是没有感化的。

    {dede:channel type='son' row='2' typeid='1'}
    <a href="[field:typeurl/]">[field:typename/][field:englishtype/]</a>
    {/dede:channel}

    6-2. channel.lib.php文件修正

    第一处修正,找到以下代码,依照正文中的内容停止修正便可

    if($type=='top')
    {
        $sql = "SELECT id,typename,englishtype,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath
            From `dede_arctype` WHERE reid=0 And ishidden<>1 order by sortrank asc limit 0, $line ";
    }
    // 正在 typename 前面添加一个字段 englishtype
    else if($type=='son')
    {
        if($typeid==0) return '';
        $sql = "SELECT id,typename,englishtype,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath
            From `dede_arctype` WHERE reid='$typeid' And ishidden<>1 order by sortrank asc limit 0, $line ";
    }
    // 正在 typename 前面添加一个字段 englishtype
    else if($type=='self')
    {
        if($reid==0) return '';
        $sql = "SELECT id,typename,englishtype,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath
            FROM `dede_arctype` WHERE reid='$reid' And ishidden<>1 order by sortrank asc limit 0, $line ";
    }
    // 正在 typename 前面添加一个字段 englishtype

    第二处修正

    //假如用子栏目形式,当不子栏目时表现同级栏目
    if($type=='son' && $reid!=0 && $totalRow==0)
    {
        $sql = "SELECT id,typename,englishtype,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath
            FROM `dede_arctype` WHERE reid='$reid' And ishidden<>1 order by sortrank asc limit 0, $line ";
        $dsql->SetQuery($sql);
        $dsql->Execute();
    }
    // 正在 typename 前面添加一个字段 englishtype

    添加查问字段就能够正在channel中运用了,另有type,channelartlist等标签页是正在响应的lib类中增加查问的字段,就没有详细细说了。

    6-3. 附加:处置同级栏目中,以后栏目标款式,currentstyle中的挪用(实在便是高亮)

    $linkOkstr = str_replace("~typename~",$row['typename'],$linkOkstr);
    // 找到上述代码,而后另起一行增加以下代码便可
    $linkOkstr = str_replace("~englishtype~",$row['englishtype'],$linkOkstr);
    ?
    大公鸡七星彩7.2.9下载安装