diff --git a/extend/seven/Seven.php b/extend/seven/Seven.php new file mode 100644 index 00000000..61d80b46 --- /dev/null +++ b/extend/seven/Seven.php @@ -0,0 +1,72 @@ + + * @Since: 2018/1/25 22:40 + */ + +namespace seven; + +use fast\Form; +use app\admin\model\Sites; + +class Seven +{ + /** + * 生成多国语言版本的选择项 + * @param string $name input名称 + * @param string $type input类型(radio|checkbox) + * @param null $selected 选定项 + * @param array $options 扩展选项 + * @return string + */ + public static function build_langs($name, $selected=null, $options=[]) + { + $request = request(); + $MultiLanguages = include EXTEND_PATH.'seven/multilanguage.php'; + $list = []; + + $siteid = isset($options['siteid'])?$options['siteid'] : ''; + $type = isset($options['type'])? $options['type'] : 'radio'; + + //从站点后台进入,只显示当前站点允许的语言版本 + if (!empty($siteid) || !empty($request->param('domain'))) { + if(!empty($siteid)) { + $domain = Sites::get(['id' => $siteid]); + }else{ + $domain = Sites::get(['domain' => $request->param('domain')]); + } + $langs = explode(',', $domain['lang']); + foreach ($langs as $k => $v) { + $list[$v] = $MultiLanguages[$v]; + } + } else { + foreach ($MultiLanguages as $k => $v) { + $list[$k] = $v; + } + } + + $html=[]; + $selected = empty($selected) ? 'zh-cn' : $selected; + //$class = empty($class)? $type.'-inline' : $class; + if ($type == "checkbox") { + $name .= substr($name, -2) != '[]' ? '[]' : ''; + $selected = is_null($selected) ? [] : $selected; + $selected = is_array($selected) ? $selected : explode(',', $selected); + foreach ($list as $k => $v) + { + $html[] = sprintf(Form::label("{$name}-{$k}", "%s {$v}"), Form::checkbox($name, $k, in_array($k, $selected), ['id' => "{$name}-{$k}"])); + } + return '