Home >Backend Development >PHP Tutorial >Methods and steps for implementing Chinese and English navigation functions in DedeCMS (pictures)

Methods and steps for implementing Chinese and English navigation functions in DedeCMS (pictures)

黄舟
黄舟Original
2017-04-01 09:51:371809browse

This article mainly introduces the steps of DedeCMS in realizing Chinese and English Navigation functions. This article gives detailed operation steps and related implementation codes. Friends in need can refer to the following

Today I saw a friend in the group who needs to implement the function of Chinese and English column names (as shown below). Let’s take a look at how to implement the powerful Dreamweaver CMS!

dedecms template download address: m.sbmmt.com/xiazai/code/dedecms

First add a field to the dede_arctype table in the database, the front The table prefix is ​​the name of your site, not necessarily dede_

. The effect after adding is as shown above. The specific adding method will not be detailed again. Among them, typenameng is the field I added. The name is a bit long. Of course, you can also change it to a name you like. This is harmless.
Find catalog_edit.htm in the dede\templets directory

Find the

code as follows:

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

Add the

code below:

<tr>
              <td class=&#39;bline&#39; height="26" style="padding-left:10px;">栏目英文名称:</td>
             <td class=&#39;bline&#39;>
             <input name="typenameng" type="text" id="typenameng" size="30" value="<?php echo $myrow[&#39;typenameng&#39;]?>" class="iptxt" /></td>
</tr>

Finally, we opened dede\catalog_edit.php

and found the code

as follows:

$upquery = "UP
DATE
 `#分隔符@arctype` 
SET
     iss
end
=&#39;$issend&#39;,
     
sort
rank=&#39;$sortrank&#39;,
     typename=&#39;$typename&#39;,
    typenameng=&#39;$typenameng&#39;,
     type
dir
=&#39;$typedir&#39;,
     isdefault=&#39;$isdefault&#39;,
     defaultname=&#39;$defaultname&#39;,

Add the red part and remove the three characters of the separator by yourself. The addition is now complete.

Calling method:

{dede:field name=&#39;typenameng&#39;/}

If you want to use it in channel, for example,

the code is as follows:

{dede:channel type=&#39;son&#39; row=&#39;10&#39; typeid=&#39;1&#39;}
                    <li><a href=&#39;[field:typeurl/]&#39;>[field:typename/][field:typenameng/]</a></li>
{/dede:channel}


you still need to modify it A file, find include\taglib\channel.lib.php

First place:

The code is as follows:

if
($type==&#39;
top
&#39;)
    {
        $sql = "SELECT id,typename,typenameng,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath
          From `#分隔符@arctype` WHERE reid=0 And ishidden<>1 order by sortrank asc limit 0, $line ";
    }
    
else
 if($type==&#39;son&#39;)
    {
        if($typeid==0) 
return
 &#39;&#39;;
        $sql = "SELECT id,typename,typenameng,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath
          From `#分隔符@arctype` WHERE reid=&#39;$typeid&#39; And ishidden<>1 order by sortrank asc limit 0, $line ";
    }
    else if($type==&#39;self&#39;)
    {
        if($reid==0) return &#39;&#39;;
        $sql = "SELECT id,typename,typenameng,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath
            FROM `#分隔符@arctype` WHERE reid=&#39;$reid&#39; And ishidden<>1 order by sortrank asc limit 0, $line ";
    }

Second place:

The code is as follows:

//如果用子栏目模式,当没有子栏目时显示同级栏目
    if($type==&#39;son&#39; && $reid!=0 && $totalRow==0)
    {
        $sql = "SELECT id,typename,typenameng,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath
            FROM `#分隔符@arctype` WHERE reid=&#39;$reid&#39; And ishidden<>1 order by sortrank asc limit 0, $line ";
        $dsql->SetQuery($sql);
      $dsql->Execute();
    }

Add the query field to use it in the channel, and the type, channelartlist and other tabs are in the corresponding lib class Adding query fields will be described in detail here due to space limitations.

//Process the style of the current column in the same level column. Call in currentstyle, include\taglib\channel.lib.php line 140 $linkOkstr = str_replace("~typename~",$row['typename'],$linkOkstr); add
$linkOkstr = str_replace(" ~typenameeng~",$row['typenameeng'],$linkOkstr); that's it.

The above is the detailed content of Methods and steps for implementing Chinese and English navigation functions in DedeCMS (pictures). For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn