php发展

首页 » 常识 » 预防 » YzmCMS如何做多语言网站,YzmCM
TUhjnbcbe - 2024/9/1 17:05:00
yzmcms如何做多语言网站

最近看到群里的小伙伴在问如何用yzmcms做中英文网站,同一个yzmcms后台管理内容,今天小郭就给大家分享一下具体的实现方法与步骤:

首先,我们在分类表(yzm_category),文章内容表(yzm_article)增加一个字段l_code用来存放所属语言如cn,en,增加字段的可以进phpmyadmin或者用NavicatPremium软件管理,具体的操作方法在这里就不多说了,可自行百度。

第二步,后台栏目管理控制器,application/admin/controller/category.class.php增加如下代码:

/***栏目列表*/publicfunctioninit(){  /*....此处为省略代码...*/$where[l_code]=isset($_GET[lang])?$_GET[lang]:cn;$lang=isset($_GET[lang])?$_GET[lang]:cn;//$data修改下面代码$data=$this-db-field(catidASid,catnameASname,parentid,type,modelid,listorder,member_publish,pclink,display)-where($where)-order(listorderASC,catidASC)-select();

再找到添加栏目函数

/***添加栏目*/publicfunctionadd(){  $modelid=isset($_GET[modelid])?intval($_GET[modelid]):1;  $catid=isset($_GET[catid])?intval($_GET[catid]):0;  $type=isset($_GET[type])?intval($_GET[type]):intval($_POST[type]);//下面增加$lang=isset($_GET[lang])?$_GET[lang]:cn;

第三步,后台添加栏目模板文件,application/admin/view/category_add.html

divclass=rowcldivclass=col-xs-8col-sm-9col-xs-offset-4col-sm-offset-2    inputtype=hiddenname=statusvalue=1    //在这下面添加    inputtype=hiddenname=l_codevalue=?phpecho$lang;?    buttonname=dosubmitclass=btnbtn-primaryradiustype=submitonclick=set_status(1)iclass=Hui-iconfont#xe;/i立即发布/button    buttonname=dosubmitclass=btnbtn-secondaryradiustype=submitonclick=set_status(0)iclass=Hui-iconfont#xe;/i保存草稿/button    buttononclick=yzm_content_close()class=btnbtn-defaultradiustype=buttonnbsp;nbsp;关闭nbsp;nbsp;/button  /div/div

第四步,后台栏目列表模板文件,application/admin/view/category_list.html

//修改添加栏目ahref=javascript:;onclick=layui_open(添加栏目,?phpechoU(add,array(type=0,lang=$lang));?,,)class=btnbtn-primaryradiusiclass=Hui-iconfont#xe;/i添加栏目/a

至此,后台基本就可以添加内容的时候区分不同语言,默认添加内容为中文

我们再看前端如何做模板,首先我们复制application文件夹下的mobile文件夹,也就是复制手机版模块拿来修改,先将文件夹名改为en,

然后里面相应的代码也稍微改下,具体的代码就不贴出来了,只要有点基础的的应该都会改的,

然后改模板文件,这个就简单了,在所有模板标签调用的地方增加where这个参数,

如导航栏标签:

ulliahref={U(en/index/index)}{if!isset($catid)}class=current{/if}home/a/li  {m:navfield=mobname,catid,type,pclinkwhere=parentid=0ANDl_code=enlimit=20return=nav_data}  {loop$nav_data$v}  li    a{ifisset($catid)$v[catid]==$catid}class=current{/if}href={if$v[type]!=2}{U(en/index/lists,array(catid=$v[catid]))}{else}{$v[pclink]}{/if}{$v[mobname]}/a  /li  {/loop}/ul

其他的也是类似全部加上where这个参数就可以了。

好啦,yzmcms做多语言中英文网站也并不难的,看完这篇文章是不是觉得很简单呢,还是希望大家理解这个思路然后自己多多动手去实践,相信你一定可以的。

文章来源小郭博客,原文链接:

1
查看完整版本: YzmCMS如何做多语言网站,YzmCM