有的同学不管什么语言下,内容页只想显示某个语言的内容,比如你有中文、英语、或者俄文、那么详情页 内容页 只想显示某个语言的内容这样的效果。以下是简单的分享 希望对你有帮助!
首先打开\extend
function.php 文件 添加以下PHP代码:
if (!function_exists('diy_Content')) {
function diy_Content($aid = null, $model = null)
{
if (is_null($aid)) {
$aid = request()->param('aid', 0);
}
$aid = intval($aid);
if ($aid <= 0) {
return '';
}
$channelMap = [
1 => 'article', // 1对应文章模型
2 => 'product', // 2对应产品模型
3 => 'images', // 3对应图片模型
4 => 'download', // 4对应下载模型
5 => 'media' // 5对应媒体模型
];
try {
$channel = db('archives')
->where('aid', $aid)
->value('channel');
} catch (\Exception $e) {
return '';
}
$channel = intval($channel);
if (!isset($channelMap[$channel])) {
return '';
}
$modelName = $channelMap[$channel];
$tableName = $modelName . '_content_en';
try {
$content = db($tableName)
->where('aid', $aid)
->value('content');
} catch (\Exception $e) {
$content = '';
}
return is_string($content) ? trim($content) : '';
}
}
前端调用标签为:原来的:{$zan.field.content} 替换为
详情页:{$field.aid|diy_Content|html_msubstr=###,0,150,true}
内容页:{$zan.field.aid|diy_Content|html_msubstr=###,0,1000,true}
红色en是语言标识,按照自己只读取的哪个语言自己修改。

PS上面这样设置将不管你切换任何语言 只显示调用的语言标识的内容效果。 如果不是这个需要效果 请谨慎使用