J5_10多语言

weeya11个月前JTBC教程339

多语言

/Public/console/common/language/sel_lang.jtbc
增加节点

不同语言不同模板
Public/common/diplomat/index.php
修改return Jtbc::take('index.index');这一句为:
$lang = intval($this -> getParam('lang'));
if(!empty($lang)) return Jtbc::take('index.index_'.$lang);
else return Jtbc::take('index.index');
然后添加对应的模板节点 index_1,默认模板依然是index不用改。

切换到英文添加分类跑到中文解决方法:
数据库universal_category分类模块的字段lang注释{"required":false,"format":"int"}
改成 {"mode":"manual","required":false,"format":"int"}

{$=$take('index.banner-slogan', 'lng')}
调用当前模块index.jtbc语言文件

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
默认语言是中文,怎么让非当前语言的链接发给客户能自动判断访问
现在是中文,发给客户这个链接是英文的数据,中文是没有这个数据会报错。
/Public/product/common/diplomat/index.php文件
1、第3行增加
use Jtbc\Env;
2、第77行$model -> where -> lang = $lang;前面加//屏蔽掉
//$model -> where -> lang = $lang;
3、第88行$rsTitle = strval($rs -> title);上面增加以下代码
$res -> cookie -> set('language', Env::getLanguageByID($rs -> lang));
      if($lang != $rs -> lang){
        $res -> cookie -> set('language', Env::getLanguageByID($rs -> lang));
        $res -> header -> set('location', './?type=detail&id=' . $id);
      }
另外,你的多语言要注意这个文件里的语言对应关系。/Config/Env.php
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

相关文章

J5_01安装相关

JTBC5.0笔记jtbc模板里只要理解3个东西就完事儿了1个叫 $take1个叫 $render另外1个叫 $fetch/Config/DB/MySQL.php,数据库链接~~~~~~~~~~~~~...

J5模块首页-列表分类-文章页面自定义TDK

J5模块首页-列表分类-文章页面自定义TDK方法1、模块添加字段,后台开发维护》模块管理》右边的设置,在模块设置界面,点击右上角添加新字段按钮添加3个字段,用来存储自定义的TDK数据seotitle,...

J5增加tag标签自定义URL

1、index.php文件detail节点$rsTag = strval($rs -> tag);//增加tag模块管理-添加字段tag,16标签输入框。2、tag/矿山副井井筒装备安装/htt...

J5列表中获取当前分类的父分类ID

以新闻模块为例子。打开/news/common/diplomat/index.php找到public function list(Request $req, Response $res)函数修改以下内...

J5_05产品新闻详情页

1、头尾模板调用代码{$=$take('global.communal.header')}{$=$take('global.communal.footer')}{$ti...

J5增加PDF附件下载功能

1、模块管理增加att字段,选择29附件管理器2、模板代码<table class="table table-striped m-0"><tbody><...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。