Home >CMS Tutorial >DEDECMS >How DedeCMS implements Chinese and English navigation functions

How DedeCMS implements Chinese and English navigation functions

藏色散人
藏色散人Original
2019-12-17 09:41:022184browse

How DedeCMS implements Chinese and English navigation functions

How does DedeCMS implement Chinese and English navigation functions?

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!

Recommended learning: 梦Weavercms

How DedeCMS implements Chinese and English navigation functions

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

How DedeCMS implements Chinese and English navigation functions

. 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 ## below

#The code is as follows:

<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 open dede\catalog_edit.php

Find

The code is as follows:

$upquery = "UPDATE `#分隔符@__arctype` SET
issend=&#39;$issend&#39;,
sortrank=&#39;$sortrank&#39;,
typename=&#39;$typename&#39;,
typenameng=&#39;$typenameng&#39;,
typedir=&#39;$typedir&#39;,
isdefault=&#39;$isdefault&#39;,
defaultname=&#39;$defaultname&#39;,

Add the red part, remove the 3 characters of the separator, and the addition is completed.

Calling method: {dede:field name='typenameng'/}

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}

Then you need to modify a file and find include\taglib\channel.lib.php

The 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();
}

You can add query fields in the channel It is used in , and the type, channelartlist and other tabs are used to add query fields in the corresponding lib classes. Due to space limitations, it is best to describe them in detail here.

//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 = below str_replace("~typenameeng~",$row['typenameeng'],$linkOkstr); That's it.

The above is the detailed content of How DedeCMS implements Chinese and English navigation functions. 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