m_Orchestrate learning system---网站的语言选择功能(中文英文)
m_Orchestrate learning system---网站的语言选择功能(中文英文)
一、总结
一句话总结:有两种方法,一是session+js端代码,而是session+php端代码。
推荐使用session+php端代码
用函数最方便,最简便,就是不要忘记引入函数
二、网站的语言选择功能
功能描述截图如下:

方法一:session+js端代码实现
1、选择语言,设置session
//选择语言总界面
public function index()
{
$fry_language_type=input('fry_language_type');
if($fry_language_type){
session('fry_language_type',$fry_language_type);
$this->success('Success(成功)!!','index/index');
}
return view();
}
2、js端利用session选择语言
<!--语言选择的js-->
<script>
function chooseLanguage(){
$('.fry_language_item').hide();
$('.fry_language_hk').show();
var fry_language_type="{$Think.session.fry_language_type}";
//console.log(fry_language_type);
if(fry_language_type=="fry_language_hk"){
$('.fry_language_item').hide();
$('.fry_language_hk').show();
}else if(fry_language_type=="fry_language_cn"){
$('.fry_language_item').hide();
$('.fry_language_cn').show();
}else if(fry_language_type=="fry_language_en"){
$('.fry_language_item').hide();
$('.fry_language_en').show();
}
}
chooseLanguage();
</script>
<!--END 语言选择的js-->
3、具体页面位置的语言设置
<span class="fry_language_item fry_language_hk">個人中心</span><span class="fry_language_item fry_language_en">Personal</span>
比如导航部分
<!-- 首頁的中間導航部分 -->
<!-- 中部導航部分 -->
<div class="pet_circle_nav">
<ul class="pet_circle_nav_list">
<li><a href="{:url('personal/index')}"
class="iconfont pet_nav_xinxianshi "></a><span class="fry_language_item fry_language_hk">個人中心</span><span class="fry_language_item fry_language_en">Personal</span></li>
<li><a href="{:url('engage/index')}"
class="iconfont pet_nav_zhangzhishi "></a><span class="fry_language_item fry_language_hk">活動啟發</span><span class="fry_language_item fry_language_en">WeEngage</span></li>
<li><a href="{:url('explore/index')}" class="iconfont pet_nav_kantuya "></a><span class="fry_language_item fry_language_hk">活動探索</span><span class="fry_language_item fry_language_en">WeExplore</span></li>
<li><a href="{:url('analyze/index')}" class="iconfont pet_nav_mengzhuanti "></a><span class="fry_language_item fry_language_hk">活動分析</span><span class="fry_language_item fry_language_en">WeAnalyze</span></li>
<li><a href="{:url('weexplain/index')}" class="iconfont pet_nav_meirong "></a><span class="fry_language_item fry_language_hk">活動演示</span><span class="fry_language_item fry_language_en">WeExplain</span></li>
<li><a href="{:url('reflect/index')}" class="iconfont pet_nav_yiyuan "></a><span class="fry_language_item fry_language_hk">活動反思</span><span class="fry_language_item fry_language_en">WeReflect</span></li>
<li><a href="{:url('forum.forum/index')}" class="iconfont pet_nav_dianpu "></a><span class="fry_language_item fry_language_hk">全站討論</span><span class="fry_language_item fry_language_en">Forum</span></li>
<li><a href="javascript:;" class="iconfont pet_nav_gengduo "></a><span class="fry_language_item fry_language_hk">更多</span><span class="fry_language_item fry_language_en">More</span></li>
</ul>
</div>
<!-- 中部導航部分 -->
<!-- 首頁的中間導航部分 -->
4、这种方法优缺点
优点:
a、简便,要设置语言的时候直接在写语言的位置直接复制下面这段代码设置即可
<span class="fry_language_item fry_language_hk">個人中心</span><span class="fry_language_item fry_language_en">Personal</span>
<div class="am-u-sm-6">
<div class="am-form-group">
<select data-am-selected="{btnSize: 'sm'}" name="a_type" id="student_note_type_choose">
<option value="1" note_type="student_note_type_article">
<span class="fry_language_item fry_language_hk">文章類</span><span class="fry_language_item fry_language_en">Article</span>
</option>
<option value="2" note_type="student_note_type_picture">
<span class="fry_language_item fry_language_hk">圖片類(畫畫)</span><span class="fry_language_item fry_language_en">Image</span>
</option>
<option value="3" note_type="student_note_type_audio">
<span class="fry_language_item fry_language_hk">音訊類</span><span class="fry_language_item fry_language_en">Audio</span>
</option>
<option value="4" note_type="student_note_type_video">
<span class="fry_language_item fry_language_hk">視頻類</span><span class="fry_language_item fry_language_en">Video</span>
</option>
</select>
</div>
</div>
方法二:session+php端代码实现
第一步和上面是一样的,只是语言选择从js操作变成了php操作
1、选择语言,设置session
//选择语言总界面
public function index()
{
$fry_language_type=input('fry_language_type');
if($fry_language_type){
session('fry_language_type',$fry_language_type);
$this->success('Success(成功)!!','index/index');
}
return view();
}
2、php(thinkphp5)利用session选择语言
switch语句实现
<select data-am-selected="{btnSize: 'sm'}" name="a_type" id="student_note_type_choose">
<option value="1" note_type="student_note_type_article">
<?php $fry_language_type=session('fry_language_type');?>
{switch name="$fry_language_type"}
{case value="fry_language_hk"} 文章類 {/case}
{case value="fry_language_en"} Article {/case}
{default /}
{/switch}
</option>
</select>
if语句实现
{if condition="session('fry_language_type')=='fry_language_hk'"}圖片類(畫畫){elseif condition="session('fry_language_type')=='fry_language_en'"/}Image{/if}
<select data-am-selected="{btnSize: 'sm'}" name="a_type" id="student_note_type_choose">
<option value="2" note_type="student_note_type_picture">
{if condition="session('fry_language_type')=='fry_language_hk'"}圖片類(畫畫){elseif condition="session('fry_language_type')=='fry_language_en'"/}Image{/if}
</option>
</select>
函数实现
这长段php代码完全可以写个函数代替:
<select data-am-selected="{btnSize: 'sm'}" name="a_type" id="student_note_type_choose">
<option value="1" note_type="student_note_type_article">
{:chooseLanguage("文章類","Article");}
</option>
<option value="2" note_type="student_note_type_picture">
{:chooseLanguage("圖片類(畫畫)","Image");}
</option>
<option value="3" note_type="student_note_type_audio">
{:chooseLanguage("音訊類","Audio");}
</option>
<option value="4" note_type="student_note_type_video">
{:chooseLanguage("視頻類","Video");}
</option>
</select>
对应函数:
//語言選擇函數
function chooseLanguage($fry_language_hk,$fry_language_en){
$fry_language_type=session('fry_language_type');
if($fry_language_type=="fry_language_hk") echo $fry_language_hk;
if($fry_language_type=="fry_language_en") echo $fry_language_en;
}
3、优缺点
因为是在php端操作,所以上述js方法出现的问题这里都不会出现,但是感觉修改一处代码太长不简洁,可能用if标签会好点
其实也差不多,if标签和switch标签的长度
用函数最方便,最简便,就是不要忘记引入函数
m_Orchestrate learning system---网站的语言选择功能(中文英文)的更多相关文章
- CPLEX IDE 菜单栏语言设置( 中文 英文 韩文 等多国语言 设置)
http://www-01.ibm.com/support/docview.wss?uid=swg21573032 Technote (FAQ) Question How to change the ...
- m_Orchestrate learning system---十三、thinkphp的验证器支持多语言么
m_Orchestrate learning system---十三.thinkphp的验证器支持多语言么 一.总结 一句话总结:支持,不仅验证器支持,其它的插件应该都支持 不仅thinkphp支持多 ...
- m_Orchestrate learning system---三十六、如何修改插件的样式(比如ueditor)
m_Orchestrate learning system---三十六.如何修改插件的样式(比如ueditor) 一.总结 一句话总结:所有的js,html插件,修改样式无非是两种,一是直接修改css ...
- m_Orchestrate learning system---二十七、修改时如何快速找到作用位置
m_Orchestrate learning system---二十七.修改时如何快速找到作用位置 一.总结 一句话总结:找人,找起作用的位置真的重要,找到就事半功倍了 加载页面的时候观察在f12的e ...
- m_Orchestrate learning system---十、解决bug最根本的操作是什么
m_Orchestrate learning system---十.解决bug最根本的操作是什么 一.总结 一句话总结:多学多练,遇到bug超级轻松 1.如何查看js代码的异常? 开发者选项里面可以查 ...
- Learning Spark: Lightning-Fast Big Data Analysis 中文翻译
Learning Spark: Lightning-Fast Big Data Analysis 中文翻译行为纯属个人对于Spark的兴趣,仅供学习. 如果我的翻译行为侵犯您的版权,请您告知,我将停止 ...
- Machine Learning - 第6周(Advice for Applying Machine Learning、Machine Learning System Design)
In Week 6, you will be learning about systematically improving your learning algorithm. The videos f ...
- m_Orchestrate learning system---二十九、什么情况下用数据库做配置字段,什么情况下用配置文件做配置
m_Orchestrate learning system---二十九.什么情况下用数据库做配置字段,什么情况下用配置文件做配置 一.总结 一句话总结: 配置文件 开发人员 重置 数据库 非开发人员 ...
- m_Orchestrate learning system---二十八、字體圖標iconfont到底是什麼
m_Orchestrate learning system---二十八.字體圖標iconfont到底是什麼 一.总结 一句话总结: 阿里巴巴 图标库 iconfont-阿里巴巴矢量图标库 1.表格的t ...
随机推荐
- move_uploaded_file() 函数
定义和用法 move_uploaded_file() 函数将上传的文件移动到新位置. 若成功,则返回 true,否则返回 false. 语法 move_uploaded_file(file,newlo ...
- MyBatis 的真正强大在于它的映射语句 如果有一个独立且完美的数据库映射模式,所有应用程序都可以使用它
mybatis – MyBatis 3 | Mapper XML 文件 http://www.mybatis.org/mybatis-3/zh/sqlmap-xml.html mybatis – My ...
- iptables,lokkit,ebtables,arptables---logrotate
iptables,lokkit,ebtables,arptables logrotate 这五个位置也被称为五个钩子函数(hook functions),也叫五个规则链. 1.PREROUTING ...
- D. Little Artem and Dance---cf669D(模拟)
题目链接:http://codeforces.com/problemset/problem/669/D 给你n个数,一开始是1 2 3 4 5 6 ... n 这样的 现在有两个操作,第一个操作是所有 ...
- (1.1)DML增强功能-CTE
1.CTE的通用形式 WITH temp_name as ( CTE查询结果集 ) 释义: (1)with/as :关键字 (2)temp_name:为CTE临时使用名称,可以看初学者做是一个临时表 ...
- centos shell脚本编程1 正则 shell脚本结构 read命令 date命令的用法 shell中的逻辑判断 if 判断文件、目录属性 shell数组简单用法 $( ) 和${ } 和$(( )) 与 sh -n sh -x sh -v 第三十五节课
centos shell脚本编程1 正则 shell脚本结构 read命令 date命令的用法 shell中的逻辑判断 if 判断文件.目录属性 shell数组简单用法 $( ) 和$ ...
- [3D]第一人称相机类Camera
自己根据C++ D3D的源码改写一个相机类(第一人称). using System; using System.Collections.Generic; using System.Linq; usin ...
- [py]class的特殊方法
类方法 解释 hasattr hasattr(class) getattr - setattr - delattr - - - __getattr__ __setattr__ __delattr__ ...
- gitlab卸载
1.停止gitlab gitlab-ctl stop 2.卸载gitlab(注意这里写的是gitlab-ce) rpm -e gitlab-ce 3.查看gitlab进程 ps aux | grep ...
- 工作记录之开发HRM项目总结
开发HRM项目的步骤: 1:首先保留HRM项目中的两张表(Employee,Position)把这两张表中的数据内容复制到Operator-Portlet这个项目中,这两张表的service.xml配 ...