您现在的位置是:首页 > 学无止境 > PHPPHP
YzmCMS如何做多语言网站,YzmCMS做多语言网站实现思路
AndyGuo2020-09-06 12:09:13【PHP】1794人已围观
简介最近看到群里的小伙伴在问如何用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做多语言中英文网站也并不难的,看完这篇文章是不是觉得很简单呢,还是希望大家理解这个思路然后自己多多动手去实践,相信你一定可以的。
- 版权申明:此文如未标注转载均为本站原创,自由转载请表明出处《小郭博客》。
- 本文网址:http://www.d163.net/html/php/112.html
- 上篇文章:分享一个YzmCMS通用内页栏目分类且高亮的代码
- 下篇文章:MYSQL数据从一个表复制到另一个表,网站数据转移
YzmCMS标签大全
最新发表
标签云 更多
-
SAP(1)
奥运会(1)
短视频(1)
杨倩(1)
提拉米苏(1)
大家财险机动车辆保险(1)
王一博(1)
肖战(1)
苏炳添(1)
刘德华(1)
小鹏汽车(1)
高考(4)
阿里云(1)
HR(1)
邓伦(1)
李莎(1)
杜淳(2)
PHP教程(7)
陈好(1)
playhouse(1)
fopen(1)
山村疯狂(1)
第二书包(0)
69乐园(1)
牡丹江民心网(1)
授课到天亮(1)
天天综合(2)
好人岛(1)
符印巨树(1)
男子汉图库(1)
采花小绵羊(1)
涡卷花束(1)
一方嘉通(1)
李心草(2)
半藏森林不带套(2)
王镁幼(2)
嫦娥五号(3)
周冬雨(1)
黄晓明(1)
金鸡奖获奖名单(3)
网页计数器(2)
成都大学(1)
中科创星(1)
马拉多纳(4)
世界互联网大会(2)
porndao(1)
web前端(6)
网站优化(6)
cookie(2)
session(2)
301重定向(1)
headerlocation(1)
百度站内搜索(1)
爱奇艺(2)
爱奇艺弹幕开关不见了(1)
制作网页教程(4)
刘诗昆(1)
react(1)
linear-gradient(1)
旅游网站建设方案(1)
我爱自学网(2)
诺贝尔(1)
笔记(1)
居里夫人(1)
郭德纲(1)
杨紫(2)
蚂蚁金服上市时间(3)
爱琴海(1)
李连杰(1)
陈佩斯(1)
梁静茹(2)
个人网站模板(0)
个人网站制作(3)
个人网站(3)
网页制作(10)
帝国CMS(6)
百度地图API(2)
伪静态(2)
jizhicms(6)
1024(3)
去除bom(1)
Git(2)
中国人民志愿军(2)
麒麟9000(2)
Mate40(2)
新冠病毒(15)
摩天轮(1)
布达佩斯(1)
div居中(2)
新冠疫苗最新消息(12)
新冠疫苗(6)
昆仑饭店(2)
赵丽颖(6)
正面照(2)
石原里美(2)
店员(1)
理发(2)
十几万(1)
伊能静(1)
京东(4)