最近看到群里的小伙伴在问如何用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"></i> 立即发布</button> <button name="dosubmit" class="btn btn-secondary radius" type="submit" onclick="set_status(0)"><i class="Hui-iconfont"></i> 保存草稿</button> <button onclick="yzm_content_close()" class="btn btn-default radius" type="button"> 关闭 </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"></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做多语言中英文网站也并不难的,看完这篇文章是不是觉得很简单呢,还是希望大家理解这个思路然后自己多多动手去实践。
声明:
1、本网站名称:乐源屋 - 资源分享平台
2、本站永久网址:https://leyuanwu.com/
3、分享是一种美德,转载请保留原链接。
4、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
5、本站资源大多存储在云盘,如发现链接失效,请联系我们我们会第一时间更新。
1、本网站名称:乐源屋 - 资源分享平台
2、本站永久网址:https://leyuanwu.com/
3、分享是一种美德,转载请保留原链接。
4、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
5、本站资源大多存储在云盘,如发现链接失效,请联系我们我们会第一时间更新。