YzmCMS如何做多语言网站,YzmCMS做多语言网站实现思路

摘要:

最近看到群里的小伙伴在问如何用yzmcms做中英文网站,同一个yzmcms后台管理内容,今天小郭就给大家...

描述:

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

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

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

/*** 栏目列表*/	public function init() {	/*  ....   此处为省略代码  ... */$where['l_code'] = isset($_GET['lang']) ? $_GET['lang'] : 'cn';$lang = isset($_GET['lang']) ? $_GET['lang'] : 'cn';// $data 修改下面代码$data = $this->db->field('catid AS id,catname AS name,parentid,type,modelid,listorder,member_publish,pclink,display')->where($where)->order('listorder ASC,catid ASC')->select();

再找到添加栏目函数 

/** * 添加栏目*/public function add() {		$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

<div class="row cl">	<div class="col-xs-8 col-sm-9 col-xs-offset-4 col-sm-offset-2">		<input type="hidden" name="status" value="1">		// 在这下面添加		<input type="hidden" name="l_code" value="<?php echo $lang;?>">		<button name="dosubmit" class="btn btn-primary radius" type="submit" onclick="set_status(1)"><i class="Hui-iconfont">&#xe603;</i> 立即发布</button>		<button name="dosubmit" class="btn btn-secondary radius" type="submit" onclick="set_status(0)"><i class="Hui-iconfont">&#xe632;</i> 保存草稿</button>		<button onclick="yzm_content_close()" class="btn btn-default radius" type="button">&nbsp;&nbsp;关闭&nbsp;&nbsp;</button>	</div></div>

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

//修改添加栏目<a href="javascript:;" onclick="layui_open('添加栏目','<?php echo U('add', array('type'=>0,'lang'=>$lang));?>',800,500)" class="btn btn-primary radius"><i class="Hui-iconfont">&#xe600;</i> 添加栏目</a>

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

我们再看前端如何做模板,其实很简单,

首先我们复制application文件夹下的mobile文件夹,也就是复制手机版模块拿来修改,先将文件夹名改为en,

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

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

如导航栏标签:

<ul>	<li><a href="{U('en/index/index')}" {if !isset($catid)} class="current" {/if}>home</a></li>	{m:nav field="mobname,catid,type,pclink" where="parentid=0 AND l_code='en'" limit="20" return="nav_data"}	{loop $nav_data $v}	<li>		<a {if isset($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做多语言中英文网站也并不难的,看完这篇文章是不是觉得很简单呢,还是希望大家理解这个思路然后自己多多动手去实践。

THE END
版权声明 1、本网站名称:黑猫查查网 - 查你所需,知你所想,资源分享平台
2、本站永久网址:https://www.hmccw.com
3、分享是一种美德,转载请保留原链接。
4、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
5、本站资源大多存储在云盘,如发现链接失效,请联系我们我们会第一时间更新。
文章不错?点个赞呗
点赞 0 赞赏 分享 收藏
评论 共 0 条

请登录后发表评论

暂无评论内容