Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
纵之格
ShopXO
提交
5929e209
ShopXO
项目概览
纵之格
/
ShopXO
通知
394
Star
16
Fork
11
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
ShopXO
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
5929e209
编写于
3月 22, 2023
作者:
G
gongfuxiang
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
多语言后台控制
上级
dbffca02
变更
14
隐藏空白更改
内联
并排
Showing
14 changed file
with
139 addition
and
25 deletion
+139
-25
app/admin/controller/Appconfig.php
app/admin/controller/Appconfig.php
+11
-6
app/admin/controller/Common.php
app/admin/controller/Common.php
+1
-1
app/admin/controller/Site.php
app/admin/controller/Site.php
+7
-0
app/admin/lang/en.php
app/admin/lang/en.php
+1
-0
app/admin/lang/zh.php
app/admin/lang/zh.php
+1
-0
app/admin/view/default/appconfig/app.html
app/admin/view/default/appconfig/app.html
+1
-1
app/admin/view/default/appconfig/index.html
app/admin/view/default/appconfig/index.html
+1
-1
app/admin/view/default/site/siteset/extends.html
app/admin/view/default/site/siteset/extends.html
+35
-0
app/lang/en.php
app/lang/en.php
+15
-0
app/lang/zh.php
app/lang/zh.php
+15
-0
app/service/ConfigService.php
app/service/ConfigService.php
+4
-0
app/service/MultilingualService.php
app/service/MultilingualService.php
+27
-1
app/service/NavigationService.php
app/service/NavigationService.php
+16
-11
app/service/OrderAftersaleService.php
app/service/OrderAftersaleService.php
+4
-4
未找到文件。
app/admin/controller/Appconfig.php
浏览文件 @
5929e209
...
...
@@ -55,12 +55,17 @@ class AppConfig extends Base
*/
public
function
Save
()
{
// 空字段处理
$field_list
=
[
'common_user_onekey_bind_mobile_list'
,
'common_user_address_platform_import_list'
,
];
return
ApiService
::
ApiDataReturn
(
ConfigService
::
ConfigSave
(
ConfigService
::
FieldsEmptyDataHandle
(
$_POST
,
$field_list
)));
$params
=
$_POST
;
if
(
isset
(
$this
->
ress
[
'nav_type'
])
&&
$ssss
[
'nav_type'
]
==
'app'
)
{
// 空字段处理
$field_list
=
[
'common_user_onekey_bind_mobile_list'
,
'common_user_address_platform_import_list'
,
];
$params
=
ConfigService
::
FieldsEmptyDataHandle
(
$params
,
$field_list
);
}
return
ApiService
::
ApiDataReturn
(
ConfigService
::
ConfigSave
(
$params
));
}
}
?>
\ No newline at end of file
app/admin/controller/Common.php
浏览文件 @
5929e209
...
...
@@ -398,7 +398,7 @@ class Common extends BaseController
// 多语言
$assign
[
'multilingual_default_code'
]
=
MultilingualService
::
GetUserMultilingualValue
();
$assign
[
'multilingual_data'
]
=
MultilingualService
::
MultilingualData
()
;
$assign
[
'multilingual_data'
]
=
(
MyC
(
'admin_use_multilingual_status'
)
==
1
)
?
MultilingualService
::
MultilingualData
()
:
[]
;
// 模板赋值
MyViewAssign
(
$assign
);
...
...
app/admin/controller/Site.php
浏览文件 @
5929e209
...
...
@@ -191,6 +191,8 @@ class Site extends Base
'second_nav_list'
=>
MyLang
(
'site.second_nav_list'
),
// 网站设置导航
'siteset_nav_list'
=>
MyLang
(
'site.siteset_nav_list'
),
// 多语言
'common_multilingual_list'
=>
MyLang
(
'common_multilingual_list'
),
];
return
$assign
;
}
...
...
@@ -283,6 +285,11 @@ class Site extends Base
case
'order'
:
$params
[
'common_default_payment'
]
=
empty
(
$params
[
'common_default_payment'
])
?
''
:
json_encode
(
$params
[
'common_default_payment'
],
JSON_UNESCAPED_UNICODE
);
break
;
// 扩展
case
'extends'
:
$field_list
[]
=
'common_multilingual_choose_list'
;
break
;
}
break
;
...
...
app/admin/lang/en.php
浏览文件 @
5929e209
...
...
@@ -178,6 +178,7 @@ return [
'base_item_crontab_config_title'
=>
'Timing Script Config'
,
'base_item_quick_nav_title'
=>
'Quick Navigation'
,
'base_item_user_address_title'
=>
'User Address'
,
'base_item_multilingual_title'
=>
'Multilingual'
,
'base_item_site_auto_mode_title'
=>
'Automatic Mode'
,
'base_item_site_manual_mode_title'
=>
'Manual Mode'
,
'base_item_default_payment_title'
=>
'Default Payment Method'
,
...
...
app/admin/lang/zh.php
浏览文件 @
5929e209
...
...
@@ -178,6 +178,7 @@ return [
'base_item_crontab_config_title'
=>
'定时脚本配置'
,
'base_item_quick_nav_title'
=>
'快捷导航'
,
'base_item_user_address_title'
=>
'用户地址'
,
'base_item_multilingual_title'
=>
'多语言'
,
'base_item_site_auto_mode_title'
=>
'自动模式'
,
'base_item_site_manual_mode_title'
=>
'手动模式'
,
'base_item_default_payment_title'
=>
'默认支付方式'
,
...
...
app/admin/view/default/appconfig/app.html
浏览文件 @
5929e209
...
...
@@ -8,7 +8,7 @@
<div
class=
"content"
>
<!-- form start -->
<form
class=
"am-form form-validation"
action=
"{{:MyUrl('admin/appconfig/save'
)}}"
method=
"POST"
request-type=
"ajax-url"
request-value=
"{{:MyUrl('admin/appconfig/index', ['nav_type'=>'app'])}}"
enctype=
"multipart/form-data
"
>
<form
class=
"am-form form-validation"
action=
"{{:MyUrl('admin/appconfig/save'
, ['nav_type'=>$nav_type])}}"
method=
"POST"
request-type=
"ajax-reload
"
>
<div
class=
"am-form-group"
>
<label>
{{$data.common_app_is_use_mobile_detail.name}}
<span
class=
"am-form-group-label-tips"
>
{{$data.common_app_is_use_mobile_detail.describe}}
</span></label>
<select
name=
"{{$data.common_app_is_use_mobile_detail.only_tag}}"
class=
"am-radius chosen-select"
data-validation-message=
"{{$data.common_app_is_use_mobile_detail.error_tips}}"
required
>
...
...
app/admin/view/default/appconfig/index.html
浏览文件 @
5929e209
...
...
@@ -8,7 +8,7 @@
<div
class=
"content"
>
<!-- form start -->
<form
class=
"am-form form-validation"
action=
"{{:MyUrl('admin/appconfig/save'
)}}"
method=
"POST"
request-type=
"ajax-url"
request-value=
"{{:MyUrl('admin/appconfig/index')}}
"
>
<form
class=
"am-form form-validation"
action=
"{{:MyUrl('admin/appconfig/save'
, ['nav_type'=>$nav_type])}}"
method=
"POST"
request-type=
"ajax-reload
"
>
<div
class=
"am-form-group"
>
<label>
{{$data.common_app_h5_url.name}}
<span
class=
"am-form-group-label-tips"
>
{{$data.common_app_h5_url.describe}}
</span></label>
<input
type=
"text"
name=
"{{$data.common_app_h5_url.only_tag}}"
placeholder=
"{{$data.common_app_h5_url.name}}"
data-validation-message=
"{{$data.common_app_h5_url.error_tips}}"
class=
"am-radius"
{{
if
!
empty
($
data
)}}
value=
"{{$data.common_app_h5_url.value}}"
{{/
if
}}
/>
...
...
app/admin/view/default/site/siteset/extends.html
浏览文件 @
5929e209
...
...
@@ -135,6 +135,41 @@
</div>
</div>
<!-- 多语言 -->
<div
class=
"am-panel am-panel-default am-margin-top-sm"
>
<div
class=
"am-panel-hd"
>
<h3
class=
"am-panel-title"
>
{{:MyLang('site.base_item_multilingual_title')}}
</h3>
</div>
<div
class=
"am-panel-bd am-padding-vertical-xs"
>
<div
class=
"am-form-group"
>
<label>
{{$data.common_multilingual_choose_list.name}}
<span
class=
"am-form-group-label-tips"
>
{{$data.common_multilingual_choose_list.describe}}
</span></label>
<div>
{{foreach $common_multilingual_list as $k=>$v}}
<label
class=
"am-checkbox-inline"
>
<input
type=
"checkbox"
name=
"{{$data.common_multilingual_choose_list.only_tag}}"
value=
"{{$k}}"
data-am-ucheck
{{
if
!
empty
($
data
['
common_multilingual_choose_list
']['
value
'])
and
is_array
($
data
['
common_multilingual_choose_list
']['
value
'])
and
in_array
($
k
,
$
data
['
common_multilingual_choose_list
']['
value
'])}}
checked
{{/
if
}}
/>
{{$v}}
</label>
{{/foreach}}
</div>
</div>
<div
class=
"am-form-group"
>
<label>
{{$data.admin_use_multilingual_status.name}}
<span
class=
"am-form-group-label-tips"
>
{{$data.admin_use_multilingual_status.describe}}
</span></label>
<select
name=
"{{$data.admin_use_multilingual_status.only_tag}}"
class=
"am-radius chosen-select"
data-validation-message=
"{{$data.admin_use_multilingual_status.error_tips}}"
required
>
{{foreach $common_close_open_list as $v}}
<option
value=
"{{$v.value}}"
{{
if
isset
($
data
['
admin_use_multilingual_status
']['
value
'])
and
$
data
['
admin_use_multilingual_status
']['
value
']
eq
$
v
['
value
']}}
selected
{{/
if
}}
>
{{$v.name}}
</option>
{{/foreach}}
</select>
</div>
<div
class=
"am-form-group"
>
<label>
{{$data.home_use_multilingual_status.name}}
<span
class=
"am-form-group-label-tips"
>
{{$data.home_use_multilingual_status.describe}}
</span></label>
<select
name=
"{{$data.home_use_multilingual_status.only_tag}}"
class=
"am-radius chosen-select"
data-validation-message=
"{{$data.home_use_multilingual_status.error_tips}}"
required
>
{{foreach $common_close_open_list as $v}}
<option
value=
"{{$v.value}}"
{{
if
isset
($
data
['
home_use_multilingual_status
']['
value
'])
and
$
data
['
home_use_multilingual_status
']['
value
']
eq
$
v
['
value
']}}
selected
{{/
if
}}
>
{{$v.name}}
</option>
{{/foreach}}
</select>
</div>
</div>
</div>
<div
class=
"am-form-group am-form-group-refreshing am-margin-top-lg am-padding-left-0"
>
<input
type=
"hidden"
name=
"nav_type"
value=
"{{$nav_type}}"
/>
<input
type=
"hidden"
name=
"view_type"
value=
"{{$view_type}}"
/>
...
...
app/lang/en.php
浏览文件 @
5929e209
...
...
@@ -3580,6 +3580,21 @@ return [
'desc'
=>
'Default on'
,
'tips'
=>
'Please select the bottom footer content status'
,
],
'admin_use_multilingual_status'
=>
[
'name'
=>
'Backend uses multiple languages'
,
'desc'
=>
'Default on'
,
'tips'
=>
'Please select a backend that uses multiple languages'
,
],
'home_use_multilingual_status'
=>
[
'name'
=>
'Multilingual front-end'
,
'desc'
=>
'Default on'
,
'tips'
=>
'Please select multiple languages for the front end'
,
],
'common_multilingual_choose_list'
=>
[
'name'
=>
'Available in multiple languages'
,
'desc'
=>
'Check to use'
,
'tips'
=>
'Please tick the language you want to use'
,
],
],
];
?>
\ No newline at end of file
app/lang/zh.php
浏览文件 @
5929e209
...
...
@@ -3541,6 +3541,21 @@ return [
'desc'
=>
'默认开启'
,
'tips'
=>
'请选择底部页脚内容状态'
,
],
'admin_use_multilingual_status'
=>
[
'name'
=>
'后端使用多语言'
,
'desc'
=>
'默认关闭'
,
'tips'
=>
'请选择后端使用多语言'
,
],
'home_use_multilingual_status'
=>
[
'name'
=>
'前端用多语言'
,
'desc'
=>
'默认关闭'
,
'tips'
=>
'请选择前端用多语言'
,
],
'common_multilingual_choose_list'
=>
[
'name'
=>
'可用多语言'
,
'desc'
=>
'勾选则使用'
,
'tips'
=>
'请勾选需要使用的语言'
,
],
],
];
?>
\ No newline at end of file
app/service/ConfigService.php
浏览文件 @
5929e209
...
...
@@ -76,6 +76,7 @@ class ConfigService
'home_search_params_type'
,
'common_user_onekey_bind_mobile_list'
,
'common_user_address_platform_import_list'
,
'common_multilingual_choose_list'
,
];
// json数组字段
...
...
@@ -124,6 +125,9 @@ class ConfigService
// cookie有效域名
'common_cookie_domain'
,
// 多语言可选列表
'common_multilingual_choose_list'
,
];
/**
...
...
app/service/MultilingualService.php
浏览文件 @
5929e209
...
...
@@ -41,7 +41,7 @@ class MultilingualService
$default
=
[];
$select
=
[];
$allow_lang_list
=
MyConfig
(
'lang.allow_lang_list'
);
$multilingual_list
=
MyLang
(
'common_multilingual_list'
);
$multilingual_list
=
self
::
MultilingualCanChooseList
(
);
if
(
!
empty
(
$multilingual_list
)
&&
is_array
(
$multilingual_list
)
&&
!
empty
(
$allow_lang_list
)
&&
is_array
(
$allow_lang_list
))
{
$allow_lang_list
=
array_column
(
$allow_lang_list
,
null
,
'code'
);
...
...
@@ -87,6 +87,32 @@ class MultilingualService
return
$user_multilingual_result
;
}
/**
* 语言列表
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2023-03-22
* @desc description
*/
public
static
function
MultilingualCanChooseList
()
{
$result
=
[];
$data
=
MyLang
(
'common_multilingual_list'
);
if
(
!
empty
(
$data
)
&&
is_array
(
$data
))
{
$choose_list
=
MyC
(
'common_multilingual_choose_list'
);
foreach
(
$data
as
$k
=>
$v
)
{
if
(
!
empty
(
$choose_list
)
&&
is_array
(
$choose_list
)
&&
in_array
(
$k
,
$choose_list
))
{
$result
[
$k
]
=
$v
;
}
}
}
return
$result
;
}
/**
* 当前页面url地址
* @author Devil
...
...
app/service/NavigationService.php
浏览文件 @
5929e209
...
...
@@ -670,17 +670,20 @@ class NavigationService
];
// 追加多语言
$multilingual_data
=
MultilingualService
::
MultilingualData
();
if
(
!
empty
(
$multilingual_data
)
&&
!
empty
(
$multilingual_data
[
'data'
])
&&
!
empty
(
$multilingual_data
[
'default'
]))
if
(
MyC
(
'home_use_multilingual_status'
)
==
1
)
{
$data
[]
=
[
'name'
=>
MyLang
(
'lang_title'
)
.
'['
.
$multilingual_data
[
'default'
][
'name'
]
.
']'
,
'is_login'
=>
0
,
'badge'
=>
null
,
'icon'
=>
'am-icon-language'
,
'url'
=>
''
,
'items'
=>
$multilingual_data
[
'data'
],
];
$multilingual_data
=
MultilingualService
::
MultilingualData
();
if
(
!
empty
(
$multilingual_data
)
&&
!
empty
(
$multilingual_data
[
'data'
])
&&
!
empty
(
$multilingual_data
[
'default'
]))
{
$data
[]
=
[
'name'
=>
MyLang
(
'lang_title'
)
.
'['
.
$multilingual_data
[
'default'
][
'name'
]
.
']'
,
'is_login'
=>
0
,
'badge'
=>
null
,
'icon'
=>
'am-icon-language'
,
'url'
=>
''
,
'items'
=>
$multilingual_data
[
'data'
],
];
}
}
// 顶部小导航右侧钩子
...
...
@@ -1098,7 +1101,9 @@ class NavigationService
$user_order_count
=
OrderService
::
OrderTotal
(
$where
);
// 商品收藏/我的足迹总数
$where
=
[
'user_id'
=>
$params
[
'user'
][
'id'
]];
$where
=
[
[
'user_id'
,
'='
,
$params
[
'user'
][
'id'
]],
];
$user_goods_favor_count
=
GoodsFavorService
::
GoodsFavorTotal
(
$where
);
$user_goods_browse_count
=
GoodsBrowseService
::
GoodsBrowseTotal
(
$where
);
...
...
app/service/OrderAftersaleService.php
浏览文件 @
5929e209
...
...
@@ -43,14 +43,14 @@ class OrderAftersaleService
public
static
function
OrdferGoodsRow
(
$order_id
,
$order_detail_id
,
$user_id
)
{
// 获取列表
$data_params
=
array
(
$data_params
=
[
'm'
=>
0
,
'n'
=>
1
,
'where'
=>
[
'id'
=>
intval
(
$order_id
)
,
'user_id'
=>
intval
(
$user_id
)
,
[
'id'
,
'='
,
intval
(
$order_id
)]
,
[
'user_id'
,
'='
,
intval
(
$user_id
)]
,
],
)
;
]
;
$ret
=
OrderService
::
OrderList
(
$data_params
);
if
(
$ret
[
'code'
]
==
0
&&
!
empty
(
$ret
[
'data'
][
0
]))
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录