最近看到群里的小伙伴在问如何用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做多语言中英文网站也并不难的,看完这篇文章是不是觉得很简单呢,还是希望大家理解这个思路然后自己多多动手去实践,相信你一定可以的。
文章来源小郭博客,原文链接: