Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
starsw001
ShopXO
提交
d8f9eaf9
ShopXO
项目概览
starsw001
/
ShopXO
与 Fork 源项目一致
Fork自
纵之格 / ShopXO
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
ShopXO
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
d8f9eaf9
编写于
3月 11, 2019
作者:
D
devil_gong
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
问答系统增强版
上级
01fecfb6
变更
39
隐藏空白更改
内联
并排
Showing
39 changed file
with
564 addition
and
138 deletion
+564
-138
application/admin/controller/Answer.php
application/admin/controller/Answer.php
+3
-0
application/admin/view/default/answer/index.html
application/admin/view/default/answer/index.html
+36
-6
application/index/controller/Article.php
application/index/controller/Article.php
+2
-1
application/index/controller/Category.php
application/index/controller/Category.php
+5
-0
application/index/controller/Common.php
application/index/controller/Common.php
+1
-28
application/index/controller/Customview.php
application/index/controller/Customview.php
+2
-1
application/index/controller/Goods.php
application/index/controller/Goods.php
+5
-1
application/index/controller/Search.php
application/index/controller/Search.php
+4
-0
application/index/controller/User.php
application/index/controller/User.php
+22
-0
application/plugins/answers/Hook.php
application/plugins/answers/Hook.php
+25
-1
application/plugins/answers/Index.php
application/plugins/answers/Index.php
+89
-0
application/plugins/answers/Service.php
application/plugins/answers/Service.php
+22
-8
application/plugins/answers/config.json
application/plugins/answers/config.json
+5
-3
application/plugins/view/answers/admin/baseinfo.html
application/plugins/view/answers/admin/baseinfo.html
+11
-6
application/plugins/view/answers/admin/index.html
application/plugins/view/answers/admin/index.html
+11
-0
application/plugins/view/answers/admin/sliderinfo.html
application/plugins/view/answers/admin/sliderinfo.html
+1
-1
application/plugins/view/answers/index/detail.html
application/plugins/view/answers/index/detail.html
+5
-6
application/plugins/view/answers/index/index.html
application/plugins/view/answers/index/index.html
+17
-16
application/plugins/view/answers/index/operation.html
application/plugins/view/answers/index/operation.html
+17
-0
application/plugins/view/answers/index/search.html
application/plugins/view/answers/index/search.html
+117
-0
application/plugins/view/commongobacktop/admin/saveinfo.html
application/plugins/view/commongobacktop/admin/saveinfo.html
+2
-2
application/plugins/view/commononlineservice/admin/saveinfo.html
...tion/plugins/view/commononlineservice/admin/saveinfo.html
+3
-3
application/plugins/view/commonrightnavigation/admin/saveinfo.html
...on/plugins/view/commonrightnavigation/admin/saveinfo.html
+5
-5
application/plugins/view/commontopmaxpicture/admin/saveinfo.html
...tion/plugins/view/commontopmaxpicture/admin/saveinfo.html
+4
-4
application/plugins/view/commontopnotice/admin/saveinfo.html
application/plugins/view/commontopnotice/admin/saveinfo.html
+3
-3
application/plugins/view/usercentertopnotice/admin/saveinfo.html
...tion/plugins/view/usercentertopnotice/admin/saveinfo.html
+2
-2
application/plugins/view/userloginrewardintegral/admin/saveinfo.html
.../plugins/view/userloginrewardintegral/admin/saveinfo.html
+2
-2
application/plugins/view/usernotloginhidegoodsprice/admin/index.html
.../plugins/view/usernotloginhidegoodsprice/admin/index.html
+1
-1
application/plugins/view/usernotloginhidegoodsprice/admin/saveinfo.html
...ugins/view/usernotloginhidegoodsprice/admin/saveinfo.html
+1
-1
application/service/AnswerService.php
application/service/AnswerService.php
+1
-1
application/service/NavigationService.php
application/service/NavigationService.php
+32
-2
application/service/SeoService.php
application/service/SeoService.php
+56
-0
application/tags.php
application/tags.php
+4
-0
public/static/admin/default/css/answer.css
public/static/admin/default/css/answer.css
+6
-1
public/static/admin/default/css/pluginsadmin.css
public/static/admin/default/css/pluginsadmin.css
+1
-1
public/static/common/css/common.css
public/static/common/css/common.css
+1
-2
public/static/index/default/css/common.css
public/static/index/default/css/common.css
+6
-5
public/static/plugins/css/answers/index.css
public/static/plugins/css/answers/index.css
+34
-22
route/route.config
route/route.config
+0
-3
未找到文件。
application/admin/controller/Answer.php
浏览文件 @
d8f9eaf9
...
@@ -84,6 +84,9 @@ class Answer extends Common
...
@@ -84,6 +84,9 @@ class Answer extends Common
// 状态
// 状态
$this
->
assign
(
'common_is_show_list'
,
lang
(
'common_is_show_list'
));
$this
->
assign
(
'common_is_show_list'
,
lang
(
'common_is_show_list'
));
// 是否
$this
->
assign
(
'common_is_text_list'
,
lang
(
'common_is_text_list'
));
// 参数
// 参数
$this
->
assign
(
'params'
,
$params
);
$this
->
assign
(
'params'
,
$params
);
return
$this
->
fetch
();
return
$this
->
fetch
();
...
...
application/admin/view/default/answer/index.html
浏览文件 @
d8f9eaf9
...
@@ -21,6 +21,14 @@
...
@@ -21,6 +21,14 @@
<option
value=
"{{$v.id}}"
{{
if
isset
($
params
['
is_show
'])
and
$
params
['
is_show
']
eq
$
v
['
id
']}}
selected
{{/
if
}}
>
{{$v.name}}
</option>
<option
value=
"{{$v.id}}"
{{
if
isset
($
params
['
is_show
'])
and
$
params
['
is_show
']
eq
$
v
['
id
']}}
selected
{{/
if
}}
>
{{$v.name}}
</option>
{{/foreach}}
{{/foreach}}
</select>
</select>
<select
name=
"is_reply"
class=
"am-radius c-p m-t-10 m-l-5 param-where"
data-placeholder=
"是否回复..."
>
<option
value=
"-1"
>
是否回复...
</option>
{{if !empty($common_is_text_list)}}
{{foreach $common_is_text_list as $v}}
<option
value=
"{{$v.id}}"
{{
if
isset
($
params
['
is_reply
'])
and
$
params
['
is_reply
']
eq
$
v
['
id
']}}
selected
{{/
if
}}
>
{{$v.name}}
</option>
{{/foreach}}
{{/if}}
</select>
<div
class=
"param-date param-where m-l-5"
>
<div
class=
"param-date param-where m-l-5"
>
<input
type=
"text"
autocomplete=
"off"
name=
"time_start"
class=
"Wdate am-radius m-t-10"
placeholder=
"起始时间"
onclick=
"WdatePicker({firstDayOfWeek:1,dateFmt:'yyyy-MM-dd HH:mm:ss'})"
{{
if
isset
($
params
['
time_start
'])}}
value=
"{{$params.time_start}}"
{{/
if
}}
/>
<input
type=
"text"
autocomplete=
"off"
name=
"time_start"
class=
"Wdate am-radius m-t-10"
placeholder=
"起始时间"
onclick=
"WdatePicker({firstDayOfWeek:1,dateFmt:'yyyy-MM-dd HH:mm:ss'})"
{{
if
isset
($
params
['
time_start
'])}}
value=
"{{$params.time_start}}"
{{/
if
}}
/>
<span>
~
</span>
<span>
~
</span>
...
@@ -37,10 +45,12 @@
...
@@ -37,10 +45,12 @@
<tr>
<tr>
<th
class=
"am-hide-sm-only"
>
用户信息
</th>
<th
class=
"am-hide-sm-only"
>
用户信息
</th>
<th
class=
"am-hide-sm-only"
>
联系信息
</th>
<th
class=
"am-hide-sm-only"
>
联系信息
</th>
<th
style=
"width: 25%;"
>
内容
</th>
<th
>
标题
</th>
<th
>
是否显示
</th>
<th
class=
"am-hide-sm-only"
>
内容
</th>
<th
class=
"am-hide-sm-only"
>
回复内容
</th>
<th
class=
"am-hide-sm-only"
>
回复内容
</th>
<th
class=
"am-hide-sm-only"
>
回复时间
</th>
<th
class=
"am-hide-sm-only"
>
创建时间
</th>
<th
class=
"am-hide-sm-only"
>
创建时间
</th>
<th>
是否显示
</th>
<th>
更多
</th>
<th>
更多
</th>
<th>
操作
</th>
<th>
操作
</th>
</tr>
</tr>
...
@@ -79,12 +89,20 @@
...
@@ -79,12 +89,20 @@
<span
class=
"cr-ddd"
>
未填写
</span>
<span
class=
"cr-ddd"
>
未填写
</span>
{{/if}}
{{/if}}
</td>
</td>
<td>
{{$v.content}}
</td>
<td>
{{$v.title}}
</td>
<td
class=
"am-hide-sm-only reply-content"
>
{{$v.content}}
</td>
<td
class=
"am-hide-sm-only reply-content"
>
{{if $v['is_reply'] eq 1}}
{{$v.reply}}
{{else /}}
<span
class=
"cr-ddd"
>
未回复
</span>
{{/if}}
</td>
<td
class=
"am-hide-sm-only"
>
{{$v.reply_time}}
</td>
<td
class=
"am-hide-sm-only"
>
{{$v.add_time}}
</td>
<td>
<td>
<a
href=
"javascript:;"
class=
"am-icon-btn am-icon-check submit-state {{if $v['is_show'] eq 1}}am-success{{else /}}am-default{{/if}}"
data-url=
"{{:MyUrl('admin/answer/statusupdate')}}"
data-id=
"{{$v.id}}"
data-state=
"{{$v['is_show']}}"
data-is-update-status=
"1"
></a>
<a
href=
"javascript:;"
class=
"am-icon-btn am-icon-check submit-state {{if $v['is_show'] eq 1}}am-success{{else /}}am-default{{/if}}"
data-url=
"{{:MyUrl('admin/answer/statusupdate')}}"
data-id=
"{{$v.id}}"
data-state=
"{{$v['is_show']}}"
data-is-update-status=
"1"
></a>
</td>
</td>
<td
class=
"am-hide-sm-only"
>
{{$v.reply}}
</td>
<td
class=
"am-hide-sm-only"
>
{{$v.add_time}}
</td>
<td>
<td>
<span
class=
"am-icon-caret-down c-p"
data-am-modal=
"{target: '#my-popup{{$v.id}}'}"
>
查看更多
</span>
<span
class=
"am-icon-caret-down c-p"
data-am-modal=
"{target: '#my-popup{{$v.id}}'}"
>
查看更多
</span>
<div
class=
"am-popup am-radius"
id=
"my-popup{{$v.id}}"
>
<div
class=
"am-popup am-radius"
id=
"my-popup{{$v.id}}"
>
...
@@ -130,6 +148,9 @@
...
@@ -130,6 +148,9 @@
{{/if}}
{{/if}}
</dd>
</dd>
<dt>
标题
</dt>
<dd>
{{if empty($v['title'])}}
<span
class=
"cr-ddd"
>
未填写
</span>
{{else /}}{{$v.title}}{{/if}}
</dd>
<dt>
内容
</dt>
<dt>
内容
</dt>
<dd>
{{$v.content}}
</dd>
<dd>
{{$v.content}}
</dd>
...
@@ -137,7 +158,16 @@
...
@@ -137,7 +158,16 @@
<dd>
{{if empty($v['is_show_text'])}}
<span
class=
"cr-ddd"
>
未填写
</span>
{{else /}}{{$v.is_show_text}}{{/if}}
</dd>
<dd>
{{if empty($v['is_show_text'])}}
<span
class=
"cr-ddd"
>
未填写
</span>
{{else /}}{{$v.is_show_text}}{{/if}}
</dd>
<dt>
回复内容
</dt>
<dt>
回复内容
</dt>
<dd>
{{if empty($v['reply'])}}
<span
class=
"cr-ddd"
>
未填写
</span>
{{else /}}{{$v.reply}}{{/if}}
</dd>
<dd>
{{if $v['is_reply'] eq 1}}
{{$v.reply}}
{{else /}}
<span
class=
"cr-ddd"
>
未回复
</span>
{{/if}}
</dd>
<dt>
回复时间
</dt>
<dd>
{{$v.reply_time}}
</dd>
<dt>
创建时间
</dt>
<dt>
创建时间
</dt>
<dd>
{{$v.add_time}}
</dd>
<dd>
{{$v.add_time}}
</dd>
...
...
application/index/controller/Article.php
浏览文件 @
d8f9eaf9
...
@@ -11,6 +11,7 @@
...
@@ -11,6 +11,7 @@
namespace
app\index\controller
;
namespace
app\index\controller
;
use
app\service\ArticleService
;
use
app\service\ArticleService
;
use
app\service\SeoService
;
/**
/**
* 文章详情
* 文章详情
...
@@ -64,7 +65,7 @@ class Article extends Common
...
@@ -64,7 +65,7 @@ class Article extends Common
}
}
// 浏览器标题
// 浏览器标题
$this
->
assign
(
'home_seo_site_title'
,
$this
->
GetBrowserSeoTitle
(
$article
[
'data'
][
0
][
'title'
],
1
));
$this
->
assign
(
'home_seo_site_title'
,
SeoService
::
BrowserSeoTitle
(
$article
[
'data'
][
0
][
'title'
]
));
// 获取分类和文字
// 获取分类和文字
$article_category_content
=
ArticleService
::
ArticleCategoryListContent
();
$article_category_content
=
ArticleService
::
ArticleCategoryListContent
();
...
...
application/index/controller/Category.php
浏览文件 @
d8f9eaf9
...
@@ -10,6 +10,8 @@
...
@@ -10,6 +10,8 @@
// +----------------------------------------------------------------------
// +----------------------------------------------------------------------
namespace
app\index\controller
;
namespace
app\index\controller
;
use
app\service\SeoService
;
/**
/**
* 商品分类
* 商品分类
* @author Devil
* @author Devil
...
@@ -41,6 +43,9 @@ class Category extends Common
...
@@ -41,6 +43,9 @@ class Category extends Common
*/
*/
public
function
Index
()
public
function
Index
()
{
{
// 浏览器名称
$this
->
assign
(
'home_seo_site_title'
,
SeoService
::
BrowserSeoTitle
(
'商品分类'
,
1
));
return
$this
->
fetch
();
return
$this
->
fetch
();
}
}
}
}
...
...
application/index/controller/Common.php
浏览文件 @
d8f9eaf9
...
@@ -255,38 +255,11 @@ class Common extends Controller
...
@@ -255,38 +255,11 @@ class Common extends Controller
*/
*/
private
function
NavInit
()
private
function
NavInit
()
{
{
$navigation
=
NavigationService
::
Home
();
$navigation
=
NavigationService
::
Nav
();
$this
->
nav_header
=
$navigation
[
'header'
];
$this
->
nav_header
=
$navigation
[
'header'
];
$this
->
nav_footer
=
$navigation
[
'footer'
];
$this
->
nav_footer
=
$navigation
[
'footer'
];
}
}
/**
* [GetBrowserSeoTitle 获取浏览器seo标题]
* @author Devil
* @blog http://gong.gg/
* @version 0.0.1
* @datetime 2017-02-25T14:21:21+0800
* @param [string] $title [标题]
* @param [int] $type [页面类型 0, 1, 2]
* @return [string] [浏览器seo标题]
*/
protected
function
GetBrowserSeoTitle
(
$title
,
$type
)
{
switch
(
$type
)
{
case
0
:
break
;
case
1
:
$site_name
=
MyC
(
'home_site_name'
);
break
;
default
:
$site_name
=
MyC
(
'home_seo_site_title'
);
}
return
empty
(
$title
)
?
$site_name
:
$title
.
' - '
.
$site_name
;
}
/**
/**
* [_empty 空方法操作]
* [_empty 空方法操作]
* @author Devil
* @author Devil
...
...
application/index/controller/Customview.php
浏览文件 @
d8f9eaf9
...
@@ -11,6 +11,7 @@
...
@@ -11,6 +11,7 @@
namespace
app\index\controller
;
namespace
app\index\controller
;
use
app\service\CustomViewService
;
use
app\service\CustomViewService
;
use
app\service\SeoService
;
/**
/**
* 自定义页面
* 自定义页面
...
@@ -58,7 +59,7 @@ class CustomView extends Common
...
@@ -58,7 +59,7 @@ class CustomView extends Common
CustomViewService
::
CustomViewAccessCountInc
([
'id'
=>
$id
]);
CustomViewService
::
CustomViewAccessCountInc
([
'id'
=>
$id
]);
// 浏览器标题
// 浏览器标题
$this
->
assign
(
'home_seo_site_title'
,
$this
->
GetBrowserSeoTitle
(
$data
[
'data'
][
0
][
'title'
],
1
));
$this
->
assign
(
'home_seo_site_title'
,
SeoService
::
BrowserSeoTitle
(
$data
[
'data'
][
0
][
'title'
]
));
$this
->
assign
(
'data'
,
$data
[
'data'
][
0
]);
$this
->
assign
(
'data'
,
$data
[
'data'
][
0
]);
$this
->
assign
(
'is_header'
,
$data
[
'data'
][
0
][
'is_header'
]);
$this
->
assign
(
'is_header'
,
$data
[
'data'
][
0
][
'is_header'
]);
...
...
application/index/controller/Goods.php
浏览文件 @
d8f9eaf9
...
@@ -11,6 +11,7 @@
...
@@ -11,6 +11,7 @@
namespace
app\index\controller
;
namespace
app\index\controller
;
use
app\service\GoodsService
;
use
app\service\GoodsService
;
use
app\service\SeoService
;
/**
/**
* 商品详情
* 商品详情
...
@@ -68,8 +69,11 @@ class Goods extends Common
...
@@ -68,8 +69,11 @@ class Goods extends Common
// 商品收藏总数
// 商品收藏总数
$ret
[
'data'
][
0
][
'favor_count'
]
=
GoodsService
::
GoodsFavorTotal
([
'goods_id'
=>
$id
]);
$ret
[
'data'
][
0
][
'favor_count'
]
=
GoodsService
::
GoodsFavorTotal
([
'goods_id'
=>
$id
]);
// 商品数据
$this
->
assign
(
'goods'
,
$ret
[
'data'
][
0
]);
$this
->
assign
(
'goods'
,
$ret
[
'data'
][
0
]);
$this
->
assign
(
'home_seo_site_title'
,
$ret
[
'data'
][
0
][
'title'
]);
// 浏览器名称
$this
->
assign
(
'home_seo_site_title'
,
SeoService
::
BrowserSeoTitle
(
$ret
[
'data'
][
0
][
'title'
]));
// 二维码
// 二维码
$this
->
assign
(
'qrcode_url'
,
MyUrl
(
'index/qrcode/index'
,
[
'content'
=>
urlencode
(
base64_encode
(
MyUrl
(
'index/goods/index'
,
[
'id'
=>
$id
],
true
,
true
)))]));
$this
->
assign
(
'qrcode_url'
,
MyUrl
(
'index/qrcode/index'
,
[
'content'
=>
urlencode
(
base64_encode
(
MyUrl
(
'index/goods/index'
,
[
'id'
=>
$id
],
true
,
true
)))]));
...
...
application/index/controller/Search.php
浏览文件 @
d8f9eaf9
...
@@ -12,6 +12,7 @@ namespace app\index\controller;
...
@@ -12,6 +12,7 @@ namespace app\index\controller;
use
app\service\SearchService
;
use
app\service\SearchService
;
use
app\service\BrandService
;
use
app\service\BrandService
;
use
app\service\SeoService
;
/**
/**
* 搜索
* 搜索
...
@@ -82,6 +83,9 @@ class Search extends Common
...
@@ -82,6 +83,9 @@ class Search extends Common
// 参数
// 参数
$this
->
assign
(
'params'
,
$this
->
params
);
$this
->
assign
(
'params'
,
$this
->
params
);
// 浏览器名称
$this
->
assign
(
'home_seo_site_title'
,
SeoService
::
BrowserSeoTitle
(
'商品搜索'
,
1
));
return
$this
->
fetch
();
return
$this
->
fetch
();
}
}
}
}
...
...
application/index/controller/User.php
浏览文件 @
d8f9eaf9
...
@@ -15,6 +15,7 @@ use app\service\OrderService;
...
@@ -15,6 +15,7 @@ use app\service\OrderService;
use
app\service\GoodsService
;
use
app\service\GoodsService
;
use
app\service\UserService
;
use
app\service\UserService
;
use
app\service\BuyService
;
use
app\service\BuyService
;
use
app\service\SeoService
;
/**
/**
* 用户
* 用户
...
@@ -139,6 +140,9 @@ class User extends Common
...
@@ -139,6 +140,9 @@ class User extends Common
// 用户中心顶部钩子
// 用户中心顶部钩子
$this
->
assign
(
'plugins_view_user_center_top_data'
,
Hook
::
listen
(
'plugins_view_user_center_top'
,
[
'hook_name'
=>
'plugins_view_user_center_top'
,
'is_backend'
=>
false
,
'user'
=>
$this
->
user
]));
$this
->
assign
(
'plugins_view_user_center_top_data'
,
Hook
::
listen
(
'plugins_view_user_center_top'
,
[
'hook_name'
=>
'plugins_view_user_center_top'
,
'is_backend'
=>
false
,
'user'
=>
$this
->
user
]));
// 浏览器名称
$this
->
assign
(
'home_seo_site_title'
,
SeoService
::
BrowserSeoTitle
(
'用户中心'
,
1
));
return
$this
->
fetch
();
return
$this
->
fetch
();
}
}
...
@@ -153,6 +157,9 @@ class User extends Common
...
@@ -153,6 +157,9 @@ class User extends Common
{
{
if
(
empty
(
$this
->
user
))
if
(
empty
(
$this
->
user
))
{
{
// 浏览器名称
$this
->
assign
(
'home_seo_site_title'
,
SeoService
::
BrowserSeoTitle
(
'密码找回'
,
1
));
return
$this
->
fetch
();
return
$this
->
fetch
();
}
else
{
}
else
{
$this
->
assign
(
'msg'
,
'已经登录了,如要重置密码,请先退出当前账户'
);
$this
->
assign
(
'msg'
,
'已经登录了,如要重置密码,请先退出当前账户'
);
...
@@ -174,6 +181,9 @@ class User extends Common
...
@@ -174,6 +181,9 @@ class User extends Common
{
{
if
(
empty
(
$this
->
user
))
if
(
empty
(
$this
->
user
))
{
{
// 浏览器名称
$this
->
assign
(
'home_seo_site_title'
,
SeoService
::
BrowserSeoTitle
(
'用户注册'
,
1
));
return
$this
->
fetch
();
return
$this
->
fetch
();
}
else
{
}
else
{
$this
->
assign
(
'msg'
,
'已经登录了,如要注册新账户,请先退出当前账户'
);
$this
->
assign
(
'msg'
,
'已经登录了,如要注册新账户,请先退出当前账户'
);
...
@@ -198,6 +208,9 @@ class User extends Common
...
@@ -198,6 +208,9 @@ class User extends Common
{
{
if
(
empty
(
$this
->
user
))
if
(
empty
(
$this
->
user
))
{
{
// 浏览器名称
$this
->
assign
(
'home_seo_site_title'
,
SeoService
::
BrowserSeoTitle
(
'用户邮箱注册'
,
1
));
$this
->
assign
(
'referer_url'
,
$this
->
GetrefererUrl
());
$this
->
assign
(
'referer_url'
,
$this
->
GetrefererUrl
());
return
$this
->
fetch
();
return
$this
->
fetch
();
}
else
{
}
else
{
...
@@ -223,6 +236,9 @@ class User extends Common
...
@@ -223,6 +236,9 @@ class User extends Common
{
{
if
(
empty
(
$this
->
user
))
if
(
empty
(
$this
->
user
))
{
{
// 浏览器名称
$this
->
assign
(
'home_seo_site_title'
,
SeoService
::
BrowserSeoTitle
(
'用户短信注册'
,
1
));
$this
->
assign
(
'referer_url'
,
$this
->
GetrefererUrl
());
$this
->
assign
(
'referer_url'
,
$this
->
GetrefererUrl
());
return
$this
->
fetch
();
return
$this
->
fetch
();
}
else
{
}
else
{
...
@@ -248,6 +264,9 @@ class User extends Common
...
@@ -248,6 +264,9 @@ class User extends Common
{
{
if
(
empty
(
$this
->
user
))
if
(
empty
(
$this
->
user
))
{
{
// 浏览器名称
$this
->
assign
(
'home_seo_site_title'
,
SeoService
::
BrowserSeoTitle
(
'用户登录'
,
1
));
$this
->
assign
(
'referer_url'
,
$this
->
GetrefererUrl
());
$this
->
assign
(
'referer_url'
,
$this
->
GetrefererUrl
());
return
$this
->
fetch
();
return
$this
->
fetch
();
}
else
{
}
else
{
...
@@ -277,6 +296,9 @@ class User extends Common
...
@@ -277,6 +296,9 @@ class User extends Common
{
{
if
(
empty
(
$this
->
user
))
if
(
empty
(
$this
->
user
))
{
{
// 浏览器名称
$this
->
assign
(
'home_seo_site_title'
,
SeoService
::
BrowserSeoTitle
(
'用户登录'
,
1
));
$this
->
assign
(
'referer_url'
,
$this
->
GetrefererUrl
());
$this
->
assign
(
'referer_url'
,
$this
->
GetrefererUrl
());
return
$this
->
fetch
();
return
$this
->
fetch
();
}
else
{
}
else
{
...
...
application/plugins/answers/Hook.php
浏览文件 @
d8f9eaf9
...
@@ -11,6 +11,7 @@
...
@@ -11,6 +11,7 @@
namespace
app\plugins\answers
;
namespace
app\plugins\answers
;
use
think\Controller
;
use
think\Controller
;
use
app\service\PluginsService
;
/**
/**
* 问答 - 钩子入口
* 问答 - 钩子入口
...
@@ -36,8 +37,31 @@ class Hook extends Controller
...
@@ -36,8 +37,31 @@ class Hook extends Controller
// 默认返回视图
// 默认返回视图
}
else
{
}
else
{
return
'hello world!'
;
// 大导航前面添加问答地址
if
(
!
empty
(
$params
[
'hook_name'
])
&&
$params
[
'hook_name'
]
==
'plugins_service_navigation_header_handle'
)
{
if
(
is_array
(
$params
[
'header'
]))
{
// 获取应用数据
$ret
=
PluginsService
::
PluginsData
(
'answers'
,
[
'images'
]);
if
(
$ret
[
'code'
]
==
0
&&
!
empty
(
$ret
[
'data'
][
'application_name'
]))
{
$nav
=
[
'id'
=>
0
,
'pid'
=>
0
,
'name'
=>
$ret
[
'data'
][
'application_name'
],
'url'
=>
PluginsHomeUrl
(
'answers'
,
'index'
,
'index'
),
'data_type'
=>
'custom'
,
'is_show'
=>
1
,
'is_new_window_open'
=>
0
,
'items'
=>
[],
];
array_unshift
(
$params
[
'header'
],
$nav
);
}
}
}
}
}
return
DataReturn
(
'无需处理'
,
0
);
}
}
}
}
?>
?>
\ No newline at end of file
application/plugins/answers/Index.php
浏览文件 @
d8f9eaf9
...
@@ -14,6 +14,7 @@ use think\Controller;
...
@@ -14,6 +14,7 @@ use think\Controller;
use
app\service\PluginsService
;
use
app\service\PluginsService
;
use
app\service\AnswerService
;
use
app\service\AnswerService
;
use
app\service\UserService
;
use
app\service\UserService
;
use
app\service\SeoService
;
use
app\plugins\answers\Service
;
use
app\plugins\answers\Service
;
/**
/**
...
@@ -65,6 +66,10 @@ class Index extends Controller
...
@@ -65,6 +66,10 @@ class Index extends Controller
$this
->
assign
(
'plugins_answers_rc_list'
,
[]);
$this
->
assign
(
'plugins_answers_rc_list'
,
[]);
}
}
// 浏览器标题
$seo_name
=
empty
(
$base
[
'data'
][
'application_name'
])
?
'问答'
:
$base
[
'data'
][
'application_name'
];
$this
->
assign
(
'home_seo_site_title'
,
SeoService
::
BrowserSeoTitle
(
$seo_name
,
1
));
return
$this
->
fetch
(
'../../../plugins/view/answers/index/index'
);
return
$this
->
fetch
(
'../../../plugins/view/answers/index/index'
);
}
}
...
@@ -100,9 +105,93 @@ class Index extends Controller
...
@@ -100,9 +105,93 @@ class Index extends Controller
$detail
=
Service
::
AnswerRow
(
$params
);
$detail
=
Service
::
AnswerRow
(
$params
);
$this
->
assign
(
'plugins_answers_detail'
,
$detail
);
$this
->
assign
(
'plugins_answers_detail'
,
$detail
);
// 浏览器标题
if
(
!
empty
(
$detail
[
'data'
][
'title'
]))
{
$this
->
assign
(
'home_seo_site_title'
,
SeoService
::
BrowserSeoTitle
(
$detail
[
'data'
][
'title'
]));
}
else
if
(
!
empty
(
$detail
[
'data'
][
'content'
]))
{
$this
->
assign
(
'home_seo_site_title'
,
SeoService
::
BrowserSeoTitle
(
$detail
[
'data'
][
'content'
]));
}
return
$this
->
fetch
(
'../../../plugins/view/answers/index/detail'
);
return
$this
->
fetch
(
'../../../plugins/view/answers/index/detail'
);
}
}
/**
* 搜索
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2019-03-11
* @desc description
* @param [array] $params [输入参数]
*/
public
function
search
(
$params
=
[])
{
if
(
input
(
'post.answers_keywords'
))
{
$answers_keywords
=
str_replace
([
'?'
,
' '
,
'+'
,
'-'
],
''
,
trim
(
input
(
'post.answers_keywords'
)));
return
redirect
(
PluginsHomeUrl
(
'answers'
,
'index'
,
'search'
,
[
'answers_keywords'
=>
$answers_keywords
]));
}
else
{
// 基础数据
$base
=
PluginsService
::
PluginsData
(
'answers'
,
[
'images'
]);
$this
->
assign
(
'plugins_answers_data'
,
isset
(
$base
[
'data'
])
?
$base
[
'data'
]
:
[]);
// 商品数据
$goods
=
Service
::
GoodsList
();
$this
->
assign
(
'plugins_answers_goods_list'
,
$goods
[
'data'
][
'goods'
]);
// 推荐问答
if
(
!
empty
(
$base
[
'data'
][
'category_ids'
]))
{
$answers
=
Service
::
AnswerList
([
'n'
=>
100
,
'category_ids'
=>
$base
[
'data'
][
'category_ids'
]]);
$this
->
assign
(
'plugins_answers_rc_list'
,
$answers
[
'data'
]);
}
else
{
$this
->
assign
(
'plugins_answers_rc_list'
,
[]);
}
// 获取搜索数据
// 分页
$number
=
10
;
// 条件
$keywords_arr
=
empty
(
$params
[
'answers_keywords'
])
?
[]
:
[
'keywords'
=>
$params
[
'answers_keywords'
]];
$where
=
Service
::
AnswerListWhere
(
array_merge
(
$params
,
$keywords_arr
));
// 获取总数
$total
=
AnswerService
::
AnswerTotal
(
$where
);
// 分页
$page_params
=
array
(
'number'
=>
$number
,
'total'
=>
$total
,
'where'
=>
$params
,
'page'
=>
isset
(
$params
[
'page'
])
?
intval
(
$params
[
'page'
])
:
1
,
'url'
=>
PluginsHomeUrl
(
'answers'
,
'index'
,
'search'
),
);
$page
=
new
\
base\Page
(
$page_params
);
$this
->
assign
(
'page_html'
,
$page
->
GetPageHtml
());
// 获取列表
$data_params
=
array
(
'm'
=>
$page
->
GetPageStarNumber
(),
'n'
=>
$number
,
'where'
=>
$where
,
'field'
=>
'id,title,content,add_time'
,
);
$data
=
AnswerService
::
AnswerList
(
$data_params
);
$this
->
assign
(
'plugins_answers_data_list'
,
$data
[
'data'
]);
// 参数
$this
->
assign
(
'params'
,
$params
);
// 浏览器标题
$this
->
assign
(
'home_seo_site_title'
,
SeoService
::
BrowserSeoTitle
(
'问答搜索'
,
1
));
return
$this
->
fetch
(
'../../../plugins/view/answers/index/search'
);
}
}
/**
/**
* 提问
* 提问
* @author Devil
* @author Devil
...
...
application/plugins/answers/Service.php
浏览文件 @
d8f9eaf9
...
@@ -310,14 +310,15 @@ class Service
...
@@ -310,14 +310,15 @@ class Service
}
}
/**
/**
*
问答列表
*
条件
* @author Devil
* @author Devil
* @blog http://gong.gg/
* @blog http://gong.gg/
* @version 0.0.1
* @version 1.0.0
* @datetime 2016-12-06T21:31:53+0800
* @date 2019-03-11
* @param [array] $params [输入参数]
* @desc description
* @param [array] $params [输入参数]
*/
*/
public
static
function
AnswerList
(
$params
=
[])
public
static
function
AnswerList
Where
(
$params
=
[])
{
{
// 条件
// 条件
$where
=
[
$where
=
[
...
@@ -328,7 +329,7 @@ class Service
...
@@ -328,7 +329,7 @@ class Service
// 搜索关键字
// 搜索关键字
if
(
!
empty
(
$params
[
'keywords'
]))
if
(
!
empty
(
$params
[
'keywords'
]))
{
{
$where
[]
=
[
'content'
,
'like'
,
'%'
.
$params
[
'keywords'
]
.
'%'
];
$where
[]
=
[
'
title|
content'
,
'like'
,
'%'
.
$params
[
'keywords'
]
.
'%'
];
}
}
// 指定问答id
// 指定问答id
...
@@ -337,6 +338,19 @@ class Service
...
@@ -337,6 +338,19 @@ class Service
$where
[]
=
[
'id'
,
'in'
,
explode
(
','
,
$params
[
'category_ids'
])];
$where
[]
=
[
'id'
,
'in'
,
explode
(
','
,
$params
[
'category_ids'
])];
}
}
return
$where
;
}
/**
* 问答列表
* @author Devil
* @blog http://gong.gg/
* @version 0.0.1
* @datetime 2016-12-06T21:31:53+0800
* @param [array] $params [输入参数]
*/
public
static
function
AnswerList
(
$params
=
[])
{
// 字段
// 字段
$field
=
empty
(
$params
[
'field'
])
?
'id,name,title,content,reply,is_reply,reply_time,add_time'
:
$params
[
'field'
];
$field
=
empty
(
$params
[
'field'
])
?
'id,name,title,content,reply,is_reply,reply_time,add_time'
:
$params
[
'field'
];
...
@@ -344,7 +358,7 @@ class Service
...
@@ -344,7 +358,7 @@ class Service
$data_params
=
array
(
$data_params
=
array
(
'm'
=>
0
,
'm'
=>
0
,
'n'
=>
isset
(
$params
[
'n'
])
?
intval
(
$params
[
'n'
])
:
10
,
'n'
=>
isset
(
$params
[
'n'
])
?
intval
(
$params
[
'n'
])
:
10
,
'where'
=>
$where
,
'where'
=>
self
::
AnswerListWhere
(
$params
)
,
'field'
=>
$field
,
'field'
=>
$field
,
);
);
return
AnswerService
::
AnswerList
(
$data_params
);
return
AnswerService
::
AnswerList
(
$data_params
);
...
...
application/plugins/answers/config.json
浏览文件 @
d8f9eaf9
{
{
"base"
:{
"base"
:{
"plugins"
:
"answers"
,
"plugins"
:
"answers"
,
"name"
:
"问答"
,
"name"
:
"问答
增强版
"
,
"logo"
:
"
\/
static
\/
upload
\/
images
\/
plugins_answers
\/
2019
\/
03
\/
06
\/
1551853529634743.png"
,
"logo"
:
"
\/
static
\/
upload
\/
images
\/
plugins_answers
\/
2019
\/
03
\/
06
\/
1551853529634743.png"
,
"author"
:
"Devil"
,
"author"
:
"Devil"
,
"author_url"
:
"https:
\/\/
shopxo.net
\/
"
,
"author_url"
:
"https:
\/\/
shopxo.net
\/
"
,
"version"
:
"1.0.0"
,
"version"
:
"1.0.0"
,
"desc"
:
"问答系统"
,
"desc"
:
"问答系统
增强、独立首页、详情、搜索、可配置推荐问答及商品
"
,
"apply_terminal"
:[
"apply_terminal"
:[
"pc"
,
"pc"
,
"h5"
"h5"
...
@@ -17,6 +17,8 @@
...
@@ -17,6 +17,8 @@
"is_home"
:
true
"is_home"
:
true
},
},
"hook"
:{
"hook"
:{
"plugins_service_navigation_header_handle"
:[
"app
\\
plugins
\\
answers
\\
Hook"
]
}
}
}
}
\ No newline at end of file
application/plugins/view/answers/admin/baseinfo.html
浏览文件 @
d8f9eaf9
...
@@ -10,8 +10,13 @@
...
@@ -10,8 +10,13 @@
<a
href=
"{{:PluginsAdminUrl('answers', 'admin', 'index')}}"
class=
"fr fs-14 m-t-5 am-icon-mail-reply"
>
返回
</a>
<a
href=
"{{:PluginsAdminUrl('answers', 'admin', 'index')}}"
class=
"fr fs-14 m-t-5 am-icon-mail-reply"
>
返回
</a>
</legend>
</legend>
<div
class=
"am-form-group"
>
<label>
应用导航名称
<span
class=
"am-form-group-label-tips"
>
空则不显示
</span></label>
<input
type=
"text"
name=
"application_name"
placeholder=
"应用导航名称"
maxlength=
"16"
data-validation-message=
"应用导航名称格式最多 16 个字符"
class=
"am-radius"
{{
if
!
empty
($
data
['
application_name
'])}}
value=
"{{$data.application_name}}"
{{/
if
}}
/>
</div>
<div
class=
"am-form-group am-form-file"
>
<div
class=
"am-form-group am-form-file"
>
<label
class=
"block"
>
中间横幅
<span
class=
"
fs-12 fw-100 cr-999"
>
(建议1200像数X80像数)
</span></label>
<label
class=
"block"
>
中间横幅
<span
class=
"
am-form-group-label-tips"
>
建议1200像数X80像数
</span></label>
<ul
class=
"plug-file-upload-view plugins-images-view"
data-form-name=
"images"
data-max-number=
"1"
data-dialog-type=
"images"
>
<ul
class=
"plug-file-upload-view plugins-images-view"
data-form-name=
"images"
data-max-number=
"1"
data-dialog-type=
"images"
>
{{if !empty($data['images_old'])}}
{{if !empty($data['images_old'])}}
<li>
<li>
...
@@ -25,7 +30,7 @@
...
@@ -25,7 +30,7 @@
</div>
</div>
<div
class=
"am-form-group"
>
<div
class=
"am-form-group"
>
<label>
链接地址
<span
class=
"
fs-12 fw-100 cr-999"
>
(带http://或https://)
</span></label>
<label>
链接地址
<span
class=
"
am-form-group-label-tips"
>
带http://或https://
</span></label>
<input
type=
"url"
placeholder=
"链接地址"
name=
"url"
data-validation-message=
"链接地址格式有误"
class=
"am-radius"
{{
if
!
empty
($
data
['
url
'])}}
value=
"{{$data.url}}"
{{/
if
}}
/>
<input
type=
"url"
placeholder=
"链接地址"
name=
"url"
data-validation-message=
"链接地址格式有误"
class=
"am-radius"
{{
if
!
empty
($
data
['
url
'])}}
value=
"{{$data.url}}"
{{/
if
}}
/>
</div>
</div>
...
@@ -41,22 +46,22 @@
...
@@ -41,22 +46,22 @@
</div>
</div>
<div
class=
"am-form-group"
>
<div
class=
"am-form-group"
>
<label>
右侧推荐问答名称
<span
class=
"
fs-12 fw-100 cr-999"
>
(默认 推荐问答)
</span></label>
<label>
右侧推荐问答名称
<span
class=
"
am-form-group-label-tips"
>
默认 推荐问答
</span></label>
<input
type=
"text"
name=
"right_top_rec_name"
placeholder=
"右侧推荐问答名称"
maxlength=
"30"
data-validation-message=
"右侧推荐问答名称格式最多 30 个字符"
class=
"am-radius"
{{
if
!
empty
($
data
['
right_top_rec_name
'])}}
value=
"{{$data.right_top_rec_name}}"
{{/
if
}}
/>
<input
type=
"text"
name=
"right_top_rec_name"
placeholder=
"右侧推荐问答名称"
maxlength=
"30"
data-validation-message=
"右侧推荐问答名称格式最多 30 个字符"
class=
"am-radius"
{{
if
!
empty
($
data
['
right_top_rec_name
'])}}
value=
"{{$data.right_top_rec_name}}"
{{/
if
}}
/>
</div>
</div>
<div
class=
"am-form-group"
>
<div
class=
"am-form-group"
>
<label>
中间最新问答名称
<span
class=
"
fs-12 fw-100 cr-999"
>
(默认 最新问答)
</span></label>
<label>
中间最新问答名称
<span
class=
"
am-form-group-label-tips"
>
默认 最新问答
</span></label>
<input
type=
"text"
name=
"middle_new_name"
placeholder=
"中间最新问答名称"
maxlength=
"30"
data-validation-message=
"中间最新问答名称格式最多 30 个字符"
class=
"am-radius"
{{
if
!
empty
($
data
['
middle_new_name
'])}}
value=
"{{$data.middle_new_name}}"
{{/
if
}}
/>
<input
type=
"text"
name=
"middle_new_name"
placeholder=
"中间最新问答名称"
maxlength=
"30"
data-validation-message=
"中间最新问答名称格式最多 30 个字符"
class=
"am-radius"
{{
if
!
empty
($
data
['
middle_new_name
'])}}
value=
"{{$data.middle_new_name}}"
{{/
if
}}
/>
</div>
</div>
<div
class=
"am-form-group"
>
<div
class=
"am-form-group"
>
<label>
右侧推荐商品名称
<span
class=
"
fs-12 fw-100 cr-999"
>
(默认 推荐商品)
</span></label>
<label>
右侧推荐商品名称
<span
class=
"
am-form-group-label-tips"
>
默认 推荐商品
</span></label>
<input
type=
"text"
name=
"right_top_goods_name"
placeholder=
"右侧推荐商品名称"
maxlength=
"30"
data-validation-message=
"右侧推荐商品名称格式最多 30 个字符"
class=
"am-radius"
{{
if
!
empty
($
data
['
right_top_goods_name
'])}}
value=
"{{$data.right_top_goods_name}}"
{{/
if
}}
/>
<input
type=
"text"
name=
"right_top_goods_name"
placeholder=
"右侧推荐商品名称"
maxlength=
"30"
data-validation-message=
"右侧推荐商品名称格式最多 30 个字符"
class=
"am-radius"
{{
if
!
empty
($
data
['
right_top_goods_name
'])}}
value=
"{{$data.right_top_goods_name}}"
{{/
if
}}
/>
</div>
</div>
<div
class=
"am-form-group"
>
<div
class=
"am-form-group"
>
<label>
最新问答展示数量
<span
class=
"
fs-12 fw-100 cr-999"
>
(默认 15 条)
</span></label>
<label>
最新问答展示数量
<span
class=
"
am-form-group-label-tips"
>
默认 15 条
</span></label>
<input
type=
"number"
name=
"middle_new_page_number"
placeholder=
"右侧推荐商品名称"
maxlength=
"30"
data-validation-message=
"请填写最新问答展示数量"
class=
"am-radius"
value=
"{{if !empty($data['middle_new_page_number'])}}{{$data.middle_new_page_number}}{{else /}}15{{/if}}"
/>
<input
type=
"number"
name=
"middle_new_page_number"
placeholder=
"右侧推荐商品名称"
maxlength=
"30"
data-validation-message=
"请填写最新问答展示数量"
class=
"am-radius"
value=
"{{if !empty($data['middle_new_page_number'])}}{{$data.middle_new_page_number}}{{else /}}15{{/if}}"
/>
</div>
</div>
...
...
application/plugins/view/answers/admin/index.html
浏览文件 @
d8f9eaf9
...
@@ -16,6 +16,17 @@
...
@@ -16,6 +16,17 @@
<a
class=
"am-fr"
href=
"{{:PluginsAdminUrl('answers', 'admin', 'baseinfo')}}"
>
编辑
</a>
<a
class=
"am-fr"
href=
"{{:PluginsAdminUrl('answers', 'admin', 'baseinfo')}}"
>
编辑
</a>
</div>
</div>
<div
class=
"am-panel-bd"
>
<div
class=
"am-panel-bd"
>
<div
class=
"items"
>
<label>
应用导航名称
</label>
<div>
{{if empty($data['application_name'])}}
未设置应用导航名称
{{else /}}
{{$data.application_name}}
{{/if}}
</div>
</div>
<div
class=
"items"
>
<div
class=
"items"
>
<label>
右侧推荐问答名称
</label>
<label>
右侧推荐问答名称
</label>
<div>
<div>
...
...
application/plugins/view/answers/admin/sliderinfo.html
浏览文件 @
d8f9eaf9
...
@@ -23,7 +23,7 @@
...
@@ -23,7 +23,7 @@
</div>
</div>
<div
class=
"am-form-group"
>
<div
class=
"am-form-group"
>
<label>
url地址
<span
class=
"fs-12 fw-100 cr-ccc"
>
(带http://或https://
)
</span></label>
<label>
url地址
<span
class=
"fs-12 fw-100 cr-ccc"
>
(带http://或https://
</span></label>
<input
type=
"url"
placeholder=
"url地址"
name=
"url"
data-validation-message=
"url格式有误"
class=
"am-radius"
{{
if
!
empty
($
data
)}}
value=
"{{$data.url}}"
{{/
if
}}
required
/>
<input
type=
"url"
placeholder=
"url地址"
name=
"url"
data-validation-message=
"url格式有误"
class=
"am-radius"
{{
if
!
empty
($
data
)}}
value=
"{{$data.url}}"
{{/
if
}}
required
/>
</div>
</div>
...
...
application/plugins/view/answers/index/detail.html
浏览文件 @
d8f9eaf9
...
@@ -14,7 +14,7 @@
...
@@ -14,7 +14,7 @@
<!-- content start -->
<!-- content start -->
<div
class=
"am-g am-container plugins-answers plugins-answers-detail"
>
<div
class=
"am-g am-container plugins-answers plugins-answers-detail"
>
<!--
幻灯片
-->
<!--
详情
-->
<div
class=
"am-u-md-8"
>
<div
class=
"am-u-md-8"
>
{{if isset($plugins_answers_detail['code']) and $plugins_answers_detail['code'] eq 0}}
{{if isset($plugins_answers_detail['code']) and $plugins_answers_detail['code'] eq 0}}
{{if !empty($plugins_answers_detail['data']['content'])}}
{{if !empty($plugins_answers_detail['data']['content'])}}
...
@@ -46,11 +46,8 @@
...
@@ -46,11 +46,8 @@
<!-- 右侧列表 -->
<!-- 右侧列表 -->
<div
class=
"am-u-md-4 answers-sidebar"
>
<div
class=
"am-u-md-4 answers-sidebar"
>
<!-- 操作按钮 -->
<!-- 操作 -->
<div
class=
"answers-btn-list"
>
{{include file="../../../plugins/view/answers/index/operation" /}}
<a
href=
"javascript:;"
type=
"button"
class=
"am-btn am-btn-warning am-icon-plus"
data-am-modal=
"{target: '#plugins-answers-popup-ask'}"
>
我要提问
</a>
<a
href=
"{{if empty($user)}}javascript:;{{else /}}{{:MyUrl('index/answer/index')}}{{/if}}"
type=
"button"
class=
"am-btn am-btn-danger am-icon-list-ul am-fr {{if empty($user)}}login-event{{/if}}"
>
我的提问
</a>
</div>
<!-- 右侧推荐问答 -->
<!-- 右侧推荐问答 -->
<div
data-am-widget=
"list_news"
class=
"am-list-news am-list-news-default"
>
<div
data-am-widget=
"list_news"
class=
"am-list-news am-list-news-default"
>
...
@@ -62,6 +59,7 @@
...
@@ -62,6 +59,7 @@
{{$plugins_answers_data.right_top_rec_name}}
{{$plugins_answers_data.right_top_rec_name}}
{{/if}}
{{/if}}
</h2>
</h2>
<a
href=
"{{:PluginsHomeUrl('answers', 'index', 'search')}}"
target=
"_blank"
class=
"am-list-news-more am-fr"
>
更多
»
</a>
</div>
</div>
<div
class=
"am-list-news-bd"
>
<div
class=
"am-list-news-bd"
>
{{if !empty($plugins_answers_rc_list)}}
{{if !empty($plugins_answers_rc_list)}}
...
@@ -93,6 +91,7 @@
...
@@ -93,6 +91,7 @@
{{$plugins_answers_data.right_top_goods_name}}
{{$plugins_answers_data.right_top_goods_name}}
{{/if}}
{{/if}}
</h2>
</h2>
<a
href=
"{{:MyUrl('index/search/index')}}"
target=
"_blank"
class=
"am-list-news-more am-fr"
>
更多
»
</a>
</div>
</div>
{{if !empty($plugins_answers_goods_list)}}
{{if !empty($plugins_answers_goods_list)}}
<ul
data-am-widget=
"gallery"
class=
"am-gallery am-avg-sm-2 am-avg-md-2 am-avg-lg-2 am-gallery-bordered"
data-am-gallery=
"{}"
>
<ul
data-am-widget=
"gallery"
class=
"am-gallery am-avg-sm-2 am-avg-md-2 am-avg-lg-2 am-gallery-bordered"
data-am-gallery=
"{}"
>
...
...
application/plugins/view/answers/index/index.html
浏览文件 @
d8f9eaf9
...
@@ -23,10 +23,11 @@
...
@@ -23,10 +23,11 @@
{{foreach $plugins_answers_slider as $k=>$v}}
{{foreach $plugins_answers_slider as $k=>$v}}
<li>
<li>
<a
href=
"{{$v.url}}"
target=
"_blank"
>
<a
href=
"{{$v.url}}"
target=
"_blank"
>
<img
src=
"{{$v.images_url}}"
>
<img
src=
"{{$v.images_url}}"
alt=
"{{$v.name}}"
>
<div
class=
"am-slider-desc"
>
<div
class=
"am-slider-desc"
>
<div
class=
"am-slider-counter"
>
<div
class=
"am-slider-counter"
>
<span
class=
"am-active"
>
{{$k+1}}
</span>
/{{:count($plugins_answers_slider)}}
</div>
<span
class=
"am-active"
>
{{$k+1}}
</span>
/{{:count($plugins_answers_slider)}}
</div>
{{$v.name}}
{{$v.name}}
</div>
</div>
</a>
</a>
...
@@ -39,11 +40,8 @@
...
@@ -39,11 +40,8 @@
<!-- 右侧列表 -->
<!-- 右侧列表 -->
<div
class=
"am-u-md-4 answers-sidebar"
>
<div
class=
"am-u-md-4 answers-sidebar"
>
<!-- 操作按钮 -->
<!-- 操作 -->
<div
class=
"answers-btn-list"
>
{{include file="../../../plugins/view/answers/index/operation" /}}
<a
href=
"javascript:;"
type=
"button"
class=
"am-btn am-btn-warning am-icon-plus"
data-am-modal=
"{target: '#plugins-answers-popup-ask'}"
>
我要提问
</a>
<a
href=
"{{if empty($user)}}javascript:;{{else /}}{{:MyUrl('index/answer/index')}}{{/if}}"
type=
"button"
class=
"am-btn am-btn-danger am-icon-list-ul am-fr {{if empty($user)}}login-event{{/if}}"
>
我的提问
</a>
</div>
<!-- 右侧推荐问答 -->
<!-- 右侧推荐问答 -->
<div
data-am-widget=
"list_news"
class=
"am-list-news am-list-news-default"
>
<div
data-am-widget=
"list_news"
class=
"am-list-news am-list-news-default"
>
...
@@ -55,6 +53,7 @@
...
@@ -55,6 +53,7 @@
{{$plugins_answers_data.right_top_rec_name}}
{{$plugins_answers_data.right_top_rec_name}}
{{/if}}
{{/if}}
</h2>
</h2>
<a
href=
"{{:PluginsHomeUrl('answers', 'index', 'search')}}"
target=
"_blank"
class=
"am-list-news-more am-fr"
>
更多
»
</a>
</div>
</div>
<div
class=
"am-list-news-bd"
>
<div
class=
"am-list-news-bd"
>
{{if !empty($plugins_answers_rc_list)}}
{{if !empty($plugins_answers_rc_list)}}
...
@@ -89,7 +88,7 @@
...
@@ -89,7 +88,7 @@
<!-- 最新问答 -->
<!-- 最新问答 -->
<div
class=
"am-u-md-8 answers-middle-list"
>
<div
class=
"am-u-md-8 answers-middle-list"
>
<div
data-am-widget=
"list_news"
class=
"am-list-news am-list-news-default"
>
<div
data-am-widget=
"list_news"
class=
"am-list-news am-list-news-default"
>
<div
class=
"am-list-news-hd am-cf"
>
<div
class=
"am-list-news-hd am-cf"
>
<h2>
<h2>
{{if empty($plugins_answers_data['middle_new_name'])}}
{{if empty($plugins_answers_data['middle_new_name'])}}
...
@@ -98,20 +97,21 @@
...
@@ -98,20 +97,21 @@
{{$plugins_answers_data.middle_new_name}}
{{$plugins_answers_data.middle_new_name}}
{{/if}}
{{/if}}
</h2>
</h2>
<a
href=
"{{:PluginsHomeUrl('answers', 'index', 'search')}}"
target=
"_blank"
class=
"am-list-news-more am-fr"
>
更多
»
</a>
</div>
</div>
<div
class=
"am-list-news-bd"
>
<div
class=
"am-list-news-bd"
>
{{if !empty($plugins_answers_middle_answer_list)}}
{{if !empty($plugins_answers_middle_answer_list)}}
<ul
class=
"am-list"
>
<ul
class=
"am-list"
>
{{foreach $plugins_answers_middle_answer_list as $answers}}
{{foreach $plugins_answers_middle_answer_list as $answers}}
<li
class=
"am-g am-list-item-dated"
>
<li
class=
"am-g am-list-item-dated"
>
<a
href=
"{{:PluginsHomeUrl('answers', 'index', 'detail', ['id'=>$answers['id']])}}"
target=
"_blank"
class=
"am-list-item-hd"
>
<a
href=
"{{:PluginsHomeUrl('answers', 'index', 'detail', ['id'=>$answers['id']])}}"
target=
"_blank"
class=
"am-list-item-hd"
>
{{if empty($answers['title'])}}
{{if empty($answers['title'])}}
{{$answers.content}}
{{$answers.content}}
{{else /}}
{{else /}}
{{$answers.title}}
{{$answers.title}}
{{/if}}
{{/if}}
</a>
</a>
<span
class=
"am-list-date"
>
{{$answers.add_time_date}}
</span>
<span
class=
"am-list-date"
>
{{$answers.add_time_date}}
</span>
</li>
</li>
{{/foreach}}
{{/foreach}}
</ul>
</ul>
...
@@ -132,6 +132,7 @@
...
@@ -132,6 +132,7 @@
{{$plugins_answers_data.right_top_goods_name}}
{{$plugins_answers_data.right_top_goods_name}}
{{/if}}
{{/if}}
</h2>
</h2>
<a
href=
"{{:MyUrl('index/search/index')}}"
target=
"_blank"
class=
"am-list-news-more am-fr"
>
更多
»
</a>
</div>
</div>
{{if !empty($plugins_answers_goods_list)}}
{{if !empty($plugins_answers_goods_list)}}
<ul
data-am-widget=
"gallery"
class=
"am-gallery am-avg-sm-2 am-avg-md-2 am-avg-lg-2 am-gallery-bordered"
data-am-gallery=
"{}"
>
<ul
data-am-widget=
"gallery"
class=
"am-gallery am-avg-sm-2 am-avg-md-2 am-avg-lg-2 am-gallery-bordered"
data-am-gallery=
"{}"
>
...
...
application/plugins/view/answers/index/operation.html
0 → 100644
浏览文件 @
d8f9eaf9
<!-- 操作按钮 -->
<div
class=
"answers-btn-list"
>
<a
href=
"javascript:;"
type=
"button"
class=
"am-btn am-btn-warning am-icon-plus"
data-am-modal=
"{target: '#plugins-answers-popup-ask'}"
>
我要提问
</a>
<a
href=
"{{if empty($user)}}javascript:;{{else /}}{{:MyUrl('index/answer/index')}}{{/if}}"
type=
"button"
class=
"am-btn am-btn-danger am-icon-list-ul am-fr {{if empty($user)}}login-event{{/if}}"
>
我的提问
</a>
</div>
<!-- 搜索 -->
<form
action=
"{{:PluginsHomeUrl('answers', 'index', 'search')}}"
method=
"post"
>
<div
class=
"am-input-group am-input-group-sm answers-search"
>
<input
type=
"text"
name=
"answers_keywords"
class=
"am-form-field"
placeholder=
"其实搜索很简单^_^ !"
autocomplete=
"off"
{{
if
!
empty
($
params
['
answers_keywords
'])}}
value=
"{{$params.answers_keywords}}"
{{/
if
}}
/>
<span
class=
"am-input-group-btn"
>
<button
class=
"am-btn am-btn-default"
type=
"submit"
>
<span
class=
"am-icon-search am-icon-sm"
></span>
</button>
</span>
</div>
</form>
\ No newline at end of file
application/plugins/view/answers/index/search.html
0 → 100644
浏览文件 @
d8f9eaf9
{{include file="public/header" /}}
<!-- header top nav -->
{{include file="public/header_top_nav" /}}
<!-- search -->
{{include file="public/nav_search" /}}
<!-- header nav -->
{{include file="public/header_nav" /}}
<!-- goods category -->
{{include file="public/goods_category" /}}
<!-- content start -->
<div
class=
"am-g am-container plugins-answers plugins-answers-detail"
>
<!-- 详情 -->
<div
class=
"am-u-md-8"
>
{{if !empty($plugins_answers_data_list)}}
<div
data-am-widget=
"list_news"
class=
"am-list-news am-list-news-default"
>
<div
class=
"am-list-news-bd"
>
<ul
class=
"am-list"
>
{{foreach $plugins_answers_data_list as $answers}}
<li
class=
"am-g am-list-item-dated"
>
<a
href=
"{{:PluginsHomeUrl('answers', 'index', 'detail', ['id'=>$answers['id']])}}"
target=
"_blank"
class=
"am-list-item-hd"
>
{{if empty($answers['title'])}}
{{$answers.content}}
{{else /}}
{{$answers.title}}
{{/if}}
</a>
<span
class=
"am-list-date"
>
{{$answers.add_time_date}}
</span>
</li>
{{/foreach}}
</ul>
</div>
</div>
{{$page_html|raw}}
{{else /}}
<div
class=
"table-no"
><i
class=
"am-icon-warning"
></i>
没有相关数据
</div>
{{/if}}
</div>
<!-- 右侧列表 -->
<div
class=
"am-u-md-4 answers-sidebar"
>
<!-- 操作 -->
{{include file="../../../plugins/view/answers/index/operation" /}}
<!-- 右侧推荐问答 -->
<div
data-am-widget=
"list_news"
class=
"am-list-news am-list-news-default"
>
<div
class=
"am-list-news-hd am-cf"
>
<h2>
{{if empty($plugins_answers_data['right_top_rec_name'])}}
推荐问答
{{else /}}
{{$plugins_answers_data.right_top_rec_name}}
{{/if}}
</h2>
<a
href=
"{{:PluginsHomeUrl('answers', 'index', 'search')}}"
target=
"_blank"
class=
"am-list-news-more am-fr"
>
更多
»
</a>
</div>
<div
class=
"am-list-news-bd"
>
{{if !empty($plugins_answers_rc_list)}}
<ul
class=
"am-list"
>
{{foreach $plugins_answers_rc_list as $answers}}
<li
class=
"am-g am-list-item-dated"
>
<a
href=
"{{:PluginsHomeUrl('answers', 'index', 'detail', ['id'=>$answers['id']])}}"
target=
"_blank"
class=
"am-list-item-hd"
>
{{if empty($answers['title'])}}
{{$answers.content}}
{{else /}}
{{$answers.title}}
{{/if}}
</a>
<span
class=
"am-list-date"
>
{{$answers.add_time_date}}
</span>
</li>
{{/foreach}}
</ul>
{{/if}}
</div>
</div>
<!-- 推荐商品 -->
<div
class=
"answers-goods"
>
<div
class=
"am-list-news-hd am-cf"
>
<h2>
{{if empty($plugins_answers_data['right_top_goods_name'])}}
推荐商品
{{else /}}
{{$plugins_answers_data.right_top_goods_name}}
{{/if}}
</h2>
<a
href=
"{{:MyUrl('index/search/index')}}"
target=
"_blank"
class=
"am-list-news-more am-fr"
>
更多
»
</a>
</div>
{{if !empty($plugins_answers_goods_list)}}
<ul
data-am-widget=
"gallery"
class=
"am-gallery am-avg-sm-2 am-avg-md-2 am-avg-lg-2 am-gallery-bordered"
data-am-gallery=
"{}"
>
{{foreach $plugins_answers_goods_list as $goods}}
<li>
<div
class=
"am-gallery-item"
>
<a
href=
"{{$goods.goods_url}}"
target=
"_blank"
>
<img
src=
"{{$goods.images}}"
alt=
"{{$goods.title}}"
/>
<h3
class=
"am-gallery-title"
>
{{$goods.title}}
</h3>
</a>
</div>
</li>
{{/foreach}}
</ul>
{{/if}}
</div>
</div>
<!-- 提问popup -->
{{include file="../../../plugins/view/answers/index/popup" /}}
</div>
<!-- content end -->
<!-- footer start -->
{{include file="public/footer" /}}
<!-- footer end -->
\ No newline at end of file
application/plugins/view/commongobacktop/admin/saveinfo.html
浏览文件 @
d8f9eaf9
...
@@ -11,7 +11,7 @@
...
@@ -11,7 +11,7 @@
</legend>
</legend>
<div
class=
"am-form-group am-form-file"
>
<div
class=
"am-form-group am-form-file"
>
<label
class=
"block"
>
图片
<span
class=
"
fs-12 fw-100 cr-999"
>
(建议50像数X50像数)
</span></label>
<label
class=
"block"
>
图片
<span
class=
"
am-form-group-label-tips"
>
建议50像数X50像数
</span></label>
<ul
class=
"plug-file-upload-view plugins-images-view"
data-form-name=
"images"
data-max-number=
"1"
data-delete=
"0"
data-dialog-type=
"images"
>
<ul
class=
"plug-file-upload-view plugins-images-view"
data-form-name=
"images"
data-max-number=
"1"
data-delete=
"0"
data-dialog-type=
"images"
>
<li>
<li>
<input
type=
"text"
name=
"images"
value=
"{{if !empty($data['images_old'])}}{{$data.images_old}}{{/if}}"
data-validation-message=
"请上传图片"
required
/>
<input
type=
"text"
name=
"images"
value=
"{{if !empty($data['images_old'])}}{{$data.images_old}}{{/if}}"
data-validation-message=
"请上传图片"
required
/>
...
@@ -22,7 +22,7 @@
...
@@ -22,7 +22,7 @@
</div>
</div>
<div
class=
"am-form-group"
>
<div
class=
"am-form-group"
>
<label>
是否全局
<span
class=
"
fs-12 fw-100 cr-999"
>
(否则只在首页显示,是则全局展示)
</span></label>
<label>
是否全局
<span
class=
"
am-form-group-label-tips"
>
否则只在首页显示,是则全局展示
</span></label>
<div>
<div>
{{foreach $is_whether_list as $v}}
{{foreach $is_whether_list as $v}}
<label
class=
"am-radio-inline m-r-10"
>
<label
class=
"am-radio-inline m-r-10"
>
...
...
application/plugins/view/commononlineservice/admin/saveinfo.html
浏览文件 @
d8f9eaf9
...
@@ -16,7 +16,7 @@
...
@@ -16,7 +16,7 @@
</div>
</div>
<div
class=
"am-form-group am-form-file"
>
<div
class=
"am-form-group am-form-file"
>
<label
class=
"block"
>
在线客服
<span
class=
"
fs-12 fw-100 cr-999"
>
(一行一个、以竖线 | 分割、如:客服一|123456)
</span></label>
<label
class=
"block"
>
在线客服
<span
class=
"
am-form-group-label-tips"
>
一行一个、以竖线 | 分割、如:客服一|123456
</span></label>
<textarea
rows=
"5"
name=
"online_service"
class=
"am-radius am-field-valid"
placeholder=
"在线客服"
data-validation-message=
"请填写在线客服"
required
>
{{if !empty($data['online_service'])}}{{$data.online_service}}{{/if}}
</textarea>
<textarea
rows=
"5"
name=
"online_service"
class=
"am-radius am-field-valid"
placeholder=
"在线客服"
data-validation-message=
"请填写在线客服"
required
>
{{if !empty($data['online_service'])}}{{$data.online_service}}{{/if}}
</textarea>
</div>
</div>
...
@@ -26,7 +26,7 @@
...
@@ -26,7 +26,7 @@
</div>
</div>
<div
class=
"am-form-group"
>
<div
class=
"am-form-group"
>
<label>
是否全局
<span
class=
"
fs-12 fw-100 cr-999"
>
(否则只在首页显示,是则全局展示)
</span></label>
<label>
是否全局
<span
class=
"
am-form-group-label-tips"
>
否则只在首页显示,是则全局展示
</span></label>
<div>
<div>
{{foreach $is_whether_list as $v}}
{{foreach $is_whether_list as $v}}
<label
class=
"am-radio-inline m-r-10"
>
<label
class=
"am-radio-inline m-r-10"
>
...
@@ -45,7 +45,7 @@
...
@@ -45,7 +45,7 @@
</div>
</div>
<div
class=
"am-form-group"
>
<div
class=
"am-form-group"
>
<label>
距离顶部
<span
class=
"
fs-12 fw-100 cr-999"
>
(默认距离顶部30%)
</span></label>
<label>
距离顶部
<span
class=
"
am-form-group-label-tips"
>
默认距离顶部30%
</span></label>
<div
class=
"am-input-group am-input-radius am-input-group-sm"
>
<div
class=
"am-input-group am-input-radius am-input-group-sm"
>
<input
type=
"number"
name=
"distance_top"
placeholder=
"距离顶部"
min=
"0"
max=
"100"
data-validation-message=
"距离顶部 0~100"
class=
"am-form-field"
value=
"{{if isset($data['distance_top'])}}{{$data.distance_top}}{{else /}}30{{/if}}"
required
/>
<input
type=
"number"
name=
"distance_top"
placeholder=
"距离顶部"
min=
"0"
max=
"100"
data-validation-message=
"距离顶部 0~100"
class=
"am-form-field"
value=
"{{if isset($data['distance_top'])}}{{$data.distance_top}}{{else /}}30{{/if}}"
required
/>
<span
class=
"am-input-group-label"
>
%
</span>
<span
class=
"am-input-group-label"
>
%
</span>
...
...
application/plugins/view/commonrightnavigation/admin/saveinfo.html
浏览文件 @
d8f9eaf9
...
@@ -11,7 +11,7 @@
...
@@ -11,7 +11,7 @@
</legend>
</legend>
<div
class=
"am-form-group am-form-file"
>
<div
class=
"am-form-group am-form-file"
>
<label
class=
"block"
>
支付宝小程序二维码
<span
class=
"
fs-12 fw-100 cr-999"
>
(建议100像数X100像数)
</span></label>
<label
class=
"block"
>
支付宝小程序二维码
<span
class=
"
am-form-group-label-tips"
>
建议100像数X100像数
</span></label>
<ul
class=
"plug-file-upload-view plugins-alipay_mini_qrcode_images-view"
data-form-name=
"alipay_mini_qrcode_images"
data-max-number=
"1"
data-dialog-type=
"images"
>
<ul
class=
"plug-file-upload-view plugins-alipay_mini_qrcode_images-view"
data-form-name=
"alipay_mini_qrcode_images"
data-max-number=
"1"
data-dialog-type=
"images"
>
{{if !empty($data['alipay_mini_qrcode_images'])}}
{{if !empty($data['alipay_mini_qrcode_images'])}}
<li>
<li>
...
@@ -25,7 +25,7 @@
...
@@ -25,7 +25,7 @@
</div>
</div>
<div
class=
"am-form-group am-form-file"
>
<div
class=
"am-form-group am-form-file"
>
<label
class=
"block"
>
支付宝生活号二维码
<span
class=
"
fs-12 fw-100 cr-999"
>
(建议100像数X100像数)
</span></label>
<label
class=
"block"
>
支付宝生活号二维码
<span
class=
"
am-form-group-label-tips"
>
建议100像数X100像数
</span></label>
<ul
class=
"plug-file-upload-view plugins-alipay_fuwu_qrcode_images-view"
data-form-name=
"alipay_fuwu_qrcode_images"
data-max-number=
"1"
data-dialog-type=
"images"
>
<ul
class=
"plug-file-upload-view plugins-alipay_fuwu_qrcode_images-view"
data-form-name=
"alipay_fuwu_qrcode_images"
data-max-number=
"1"
data-dialog-type=
"images"
>
{{if !empty($data['alipay_fuwu_qrcode_images'])}}
{{if !empty($data['alipay_fuwu_qrcode_images'])}}
<li>
<li>
...
@@ -39,7 +39,7 @@
...
@@ -39,7 +39,7 @@
</div>
</div>
<div
class=
"am-form-group am-form-file"
>
<div
class=
"am-form-group am-form-file"
>
<label
class=
"block"
>
微信小程序二维码
<span
class=
"
fs-12 fw-100 cr-999"
>
(建议100像数X100像数)
</span></label>
<label
class=
"block"
>
微信小程序二维码
<span
class=
"
am-form-group-label-tips"
>
建议100像数X100像数
</span></label>
<ul
class=
"plug-file-upload-view plugins-weixin_mini_qrcode_images-view"
data-form-name=
"weixin_mini_qrcode_images"
data-max-number=
"1"
data-dialog-type=
"images"
>
<ul
class=
"plug-file-upload-view plugins-weixin_mini_qrcode_images-view"
data-form-name=
"weixin_mini_qrcode_images"
data-max-number=
"1"
data-dialog-type=
"images"
>
{{if !empty($data['weixin_mini_qrcode_images'])}}
{{if !empty($data['weixin_mini_qrcode_images'])}}
<li>
<li>
...
@@ -53,7 +53,7 @@
...
@@ -53,7 +53,7 @@
</div>
</div>
<div
class=
"am-form-group am-form-file"
>
<div
class=
"am-form-group am-form-file"
>
<label
class=
"block"
>
微信公众号二维码
<span
class=
"
fs-12 fw-100 cr-999"
>
(建议100像数X100像数)
</span></label>
<label
class=
"block"
>
微信公众号二维码
<span
class=
"
am-form-group-label-tips"
>
建议100像数X100像数
</span></label>
<ul
class=
"plug-file-upload-view plugins-weixin_fuwu_qrcode_images-view"
data-form-name=
"weixin_fuwu_qrcode_images"
data-max-number=
"1"
data-dialog-type=
"images"
>
<ul
class=
"plug-file-upload-view plugins-weixin_fuwu_qrcode_images-view"
data-form-name=
"weixin_fuwu_qrcode_images"
data-max-number=
"1"
data-dialog-type=
"images"
>
{{if !empty($data['weixin_fuwu_qrcode_images'])}}
{{if !empty($data['weixin_fuwu_qrcode_images'])}}
<li>
<li>
...
@@ -78,7 +78,7 @@
...
@@ -78,7 +78,7 @@
</div>
</div>
<div
class=
"am-form-group"
>
<div
class=
"am-form-group"
>
<label>
是否全局
<span
class=
"
fs-12 fw-100 cr-999"
>
(否则只在首页显示,是则全局展示)
</span></label>
<label>
是否全局
<span
class=
"
am-form-group-label-tips"
>
否则只在首页显示,是则全局展示
</span></label>
<div>
<div>
{{foreach $is_whether_list as $v}}
{{foreach $is_whether_list as $v}}
<label
class=
"am-radio-inline m-r-10"
>
<label
class=
"am-radio-inline m-r-10"
>
...
...
application/plugins/view/commontopmaxpicture/admin/saveinfo.html
浏览文件 @
d8f9eaf9
...
@@ -11,7 +11,7 @@
...
@@ -11,7 +11,7 @@
</legend>
</legend>
<div
class=
"am-form-group am-form-file"
>
<div
class=
"am-form-group am-form-file"
>
<label
class=
"block"
>
图片
<span
class=
"
fs-12 fw-100 cr-999"
>
(建议1200像数X80像数)
</span></label>
<label
class=
"block"
>
图片
<span
class=
"
am-form-group-label-tips"
>
建议1200像数X80像数
</span></label>
<ul
class=
"plug-file-upload-view plugins-images-view"
data-form-name=
"images"
data-max-number=
"1"
data-delete=
"0"
data-dialog-type=
"images"
>
<ul
class=
"plug-file-upload-view plugins-images-view"
data-form-name=
"images"
data-max-number=
"1"
data-delete=
"0"
data-dialog-type=
"images"
>
<li>
<li>
<input
type=
"text"
name=
"images"
value=
"{{if !empty($data['images_old'])}}{{$data.images_old}}{{/if}}"
data-validation-message=
"请上传图片"
required
/>
<input
type=
"text"
name=
"images"
value=
"{{if !empty($data['images_old'])}}{{$data.images_old}}{{/if}}"
data-validation-message=
"请上传图片"
required
/>
...
@@ -30,7 +30,7 @@
...
@@ -30,7 +30,7 @@
</div>
</div>
<div
class=
"am-form-group"
>
<div
class=
"am-form-group"
>
<label>
链接地址
<span
class=
"
fs-12 fw-100 cr-999"
>
(带http://或https://)
</span></label>
<label>
链接地址
<span
class=
"
am-form-group-label-tips"
>
带http://或https://
</span></label>
<input
type=
"url"
placeholder=
"链接地址"
name=
"url"
data-validation-message=
"链接地址格式有误"
class=
"am-radius"
{{
if
!
empty
($
data
)}}
value=
"{{$data.url}}"
{{/
if
}}
/>
<input
type=
"url"
placeholder=
"链接地址"
name=
"url"
data-validation-message=
"链接地址格式有误"
class=
"am-radius"
{{
if
!
empty
($
data
)}}
value=
"{{$data.url}}"
{{/
if
}}
/>
</div>
</div>
...
@@ -46,7 +46,7 @@
...
@@ -46,7 +46,7 @@
</div>
</div>
<div
class=
"am-form-group"
>
<div
class=
"am-form-group"
>
<label>
是否全局
<span
class=
"
fs-12 fw-100 cr-999"
>
(默认首页)
</span></label>
<label>
是否全局
<span
class=
"
am-form-group-label-tips"
>
默认首页
</span></label>
<div>
<div>
{{foreach $is_whether_list as $v}}
{{foreach $is_whether_list as $v}}
<label
class=
"am-radio-inline m-r-10"
>
<label
class=
"am-radio-inline m-r-10"
>
...
@@ -57,7 +57,7 @@
...
@@ -57,7 +57,7 @@
</div>
</div>
<div
class=
"am-form-group"
>
<div
class=
"am-form-group"
>
<label>
有效时间
<span
class=
"
fs-12 fw-100 cr-999"
>
(留空则不限制)
</span></label>
<label>
有效时间
<span
class=
"
am-form-group-label-tips"
>
留空则不限制
</span></label>
<div
class=
"form-date"
>
<div
class=
"form-date"
>
<input
type=
"text"
autocomplete=
"off"
name=
"time_start"
class=
"Wdate am-radius"
placeholder=
"起始时间"
onclick=
"WdatePicker({firstDayOfWeek:1,dateFmt:'yyyy-MM-dd HH:mm:ss'})"
{{
if
!
empty
($
data
['
time_start
'])}}
value=
"{{$data.time_start}}"
{{/
if
}}
/>
<input
type=
"text"
autocomplete=
"off"
name=
"time_start"
class=
"Wdate am-radius"
placeholder=
"起始时间"
onclick=
"WdatePicker({firstDayOfWeek:1,dateFmt:'yyyy-MM-dd HH:mm:ss'})"
{{
if
!
empty
($
data
['
time_start
'])}}
value=
"{{$data.time_start}}"
{{/
if
}}
/>
<span>
~
</span>
<span>
~
</span>
...
...
application/plugins/view/commontopnotice/admin/saveinfo.html
浏览文件 @
d8f9eaf9
...
@@ -11,12 +11,12 @@
...
@@ -11,12 +11,12 @@
</legend>
</legend>
<div
class=
"am-form-group am-form-file"
>
<div
class=
"am-form-group am-form-file"
>
<label
class=
"block"
>
公告内容
<span
class=
"
fs-12 fw-100 cr-999"
>
(空则不显示)
</span></label>
<label
class=
"block"
>
公告内容
<span
class=
"
am-form-group-label-tips"
>
空则不显示
</span></label>
<textarea
rows=
"3"
name=
"content"
class=
"am-radius am-field-valid"
placeholder=
"公告内容"
data-validation-message=
"请填写公告内容"
>
{{if !empty($data['content'])}}{{$data.content}}{{/if}}
</textarea>
<textarea
rows=
"3"
name=
"content"
class=
"am-radius am-field-valid"
placeholder=
"公告内容"
data-validation-message=
"请填写公告内容"
>
{{if !empty($data['content'])}}{{$data.content}}{{/if}}
</textarea>
</div>
</div>
<div
class=
"am-form-group"
>
<div
class=
"am-form-group"
>
<label>
是否全局
<span
class=
"
fs-12 fw-100 cr-999"
>
(默认首页)
</span></label>
<label>
是否全局
<span
class=
"
am-form-group-label-tips"
>
默认首页
</span></label>
<div>
<div>
{{foreach $is_whether_list as $v}}
{{foreach $is_whether_list as $v}}
<label
class=
"am-radio-inline m-r-10"
>
<label
class=
"am-radio-inline m-r-10"
>
...
@@ -27,7 +27,7 @@
...
@@ -27,7 +27,7 @@
</div>
</div>
<div
class=
"am-form-group"
>
<div
class=
"am-form-group"
>
<label>
有效时间
<span
class=
"
fs-12 fw-100 cr-999"
>
(留空则不限制)
</span></label>
<label>
有效时间
<span
class=
"
am-form-group-label-tips"
>
留空则不限制
</span></label>
<div
class=
"form-date"
>
<div
class=
"form-date"
>
<input
type=
"text"
autocomplete=
"off"
name=
"time_start"
class=
"Wdate am-radius"
placeholder=
"起始时间"
onclick=
"WdatePicker({firstDayOfWeek:1,dateFmt:'yyyy-MM-dd HH:mm:ss'})"
{{
if
!
empty
($
data
['
time_start
'])}}
value=
"{{$data.time_start}}"
{{/
if
}}
/>
<input
type=
"text"
autocomplete=
"off"
name=
"time_start"
class=
"Wdate am-radius"
placeholder=
"起始时间"
onclick=
"WdatePicker({firstDayOfWeek:1,dateFmt:'yyyy-MM-dd HH:mm:ss'})"
{{
if
!
empty
($
data
['
time_start
'])}}
value=
"{{$data.time_start}}"
{{/
if
}}
/>
<span>
~
</span>
<span>
~
</span>
...
...
application/plugins/view/usercentertopnotice/admin/saveinfo.html
浏览文件 @
d8f9eaf9
...
@@ -11,12 +11,12 @@
...
@@ -11,12 +11,12 @@
</legend>
</legend>
<div
class=
"am-form-group am-form-file"
>
<div
class=
"am-form-group am-form-file"
>
<label
class=
"block"
>
公告内容
<span
class=
"
fs-12 fw-100 cr-999"
>
(空则不显示)
</span></label>
<label
class=
"block"
>
公告内容
<span
class=
"
am-form-group-label-tips"
>
空则不显示
</span></label>
<textarea
rows=
"3"
name=
"content"
class=
"am-radius am-field-valid"
placeholder=
"公告内容"
data-validation-message=
"请填写公告内容"
>
{{if !empty($data['content'])}}{{$data.content}}{{/if}}
</textarea>
<textarea
rows=
"3"
name=
"content"
class=
"am-radius am-field-valid"
placeholder=
"公告内容"
data-validation-message=
"请填写公告内容"
>
{{if !empty($data['content'])}}{{$data.content}}{{/if}}
</textarea>
</div>
</div>
<div
class=
"am-form-group"
>
<div
class=
"am-form-group"
>
<label>
有效时间
<span
class=
"
fs-12 fw-100 cr-999"
>
(留空则不限制)
</span></label>
<label>
有效时间
<span
class=
"
am-form-group-label-tips"
>
留空则不限制
</span></label>
<div
class=
"form-date"
>
<div
class=
"form-date"
>
<input
type=
"text"
autocomplete=
"off"
name=
"time_start"
class=
"Wdate am-radius"
placeholder=
"起始时间"
onclick=
"WdatePicker({firstDayOfWeek:1,dateFmt:'yyyy-MM-dd HH:mm:ss'})"
{{
if
!
empty
($
data
['
time_start
'])}}
value=
"{{$data.time_start}}"
{{/
if
}}
/>
<input
type=
"text"
autocomplete=
"off"
name=
"time_start"
class=
"Wdate am-radius"
placeholder=
"起始时间"
onclick=
"WdatePicker({firstDayOfWeek:1,dateFmt:'yyyy-MM-dd HH:mm:ss'})"
{{
if
!
empty
($
data
['
time_start
'])}}
value=
"{{$data.time_start}}"
{{/
if
}}
/>
<span>
~
</span>
<span>
~
</span>
...
...
application/plugins/view/userloginrewardintegral/admin/saveinfo.html
浏览文件 @
d8f9eaf9
...
@@ -16,7 +16,7 @@
...
@@ -16,7 +16,7 @@
</div>
</div>
<div
class=
"am-form-group"
>
<div
class=
"am-form-group"
>
<label>
是否日/次
<span
class=
"
fs-12 fw-100 cr-999"
>
(默认当日只赠送一次)
</span></label>
<label>
是否日/次
<span
class=
"
am-form-group-label-tips"
>
默认当日只赠送一次
</span></label>
<div>
<div>
{{foreach $is_whether_list as $v}}
{{foreach $is_whether_list as $v}}
<label
class=
"am-radio-inline m-r-10"
>
<label
class=
"am-radio-inline m-r-10"
>
...
@@ -27,7 +27,7 @@
...
@@ -27,7 +27,7 @@
</div>
</div>
<div
class=
"am-form-group"
>
<div
class=
"am-form-group"
>
<label>
有效时间
<span
class=
"
fs-12 fw-100 cr-999"
>
(留空则不限制)
</span></label>
<label>
有效时间
<span
class=
"
am-form-group-label-tips"
>
留空则不限制
</span></label>
<div
class=
"form-date"
>
<div
class=
"form-date"
>
<input
type=
"text"
autocomplete=
"off"
name=
"time_start"
class=
"Wdate am-radius"
placeholder=
"起始时间"
onclick=
"WdatePicker({firstDayOfWeek:1,dateFmt:'yyyy-MM-dd HH:mm:ss'})"
{{
if
!
empty
($
data
['
time_start
'])}}
value=
"{{$data.time_start}}"
{{/
if
}}
/>
<input
type=
"text"
autocomplete=
"off"
name=
"time_start"
class=
"Wdate am-radius"
placeholder=
"起始时间"
onclick=
"WdatePicker({firstDayOfWeek:1,dateFmt:'yyyy-MM-dd HH:mm:ss'})"
{{
if
!
empty
($
data
['
time_start
'])}}
value=
"{{$data.time_start}}"
{{/
if
}}
/>
<span>
~
</span>
<span>
~
</span>
...
...
application/plugins/view/usernotloginhidegoodsprice/admin/index.html
浏览文件 @
d8f9eaf9
...
@@ -30,7 +30,7 @@
...
@@ -30,7 +30,7 @@
</div>
</div>
</div>
</div>
<div
class=
"items"
>
<div
class=
"items"
>
<label>
限制终端
<span
class=
"
fs-12 fw-100 cr-999"
>
(留空则全部)
</span></label>
<label>
限制终端
<span
class=
"
am-form-group-label-tips"
>
留空则全部
</span></label>
<div>
<div>
{{if !empty($data['limit_terminal_text'])}}
{{if !empty($data['limit_terminal_text'])}}
{{$data.limit_terminal_text}}
{{$data.limit_terminal_text}}
...
...
application/plugins/view/usernotloginhidegoodsprice/admin/saveinfo.html
浏览文件 @
d8f9eaf9
...
@@ -11,7 +11,7 @@
...
@@ -11,7 +11,7 @@
</legend>
</legend>
<div
class=
"am-form-group"
>
<div
class=
"am-form-group"
>
<label>
限制终端
<span
class=
"
fs-12 fw-100 cr-999"
>
(留空则全部)
</span></label>
<label>
限制终端
<span
class=
"
am-form-group-label-tips"
>
留空则全部
</span></label>
<select
name=
"limit_terminal"
class=
"am-radius c-p chosen-select"
multiple=
"multiple"
minchecked=
"1"
data-placeholder=
"可选择..."
data-validation-message=
"至少选择一个限制终端"
>
<select
name=
"limit_terminal"
class=
"am-radius c-p chosen-select"
multiple=
"multiple"
minchecked=
"1"
data-placeholder=
"可选择..."
data-validation-message=
"至少选择一个限制终端"
>
{{foreach :lang('common_platform_type') as $v}}
{{foreach :lang('common_platform_type') as $v}}
<option
value=
"{{$v.value}}"
{{
if
isset
($
data
['
limit_terminal
'])
and
in_array
($
v
['
value
'],
$
data
['
limit_terminal
'])}}
selected
{{/
if
}}
>
{{$v.name}}
</option>
<option
value=
"{{$v.value}}"
{{
if
isset
($
data
['
limit_terminal
'])
and
in_array
($
v
['
value
'],
$
data
['
limit_terminal
'])}}
selected
{{/
if
}}
>
{{$v.name}}
</option>
...
...
application/service/AnswerService.php
浏览文件 @
d8f9eaf9
...
@@ -132,7 +132,7 @@ class AnswerService
...
@@ -132,7 +132,7 @@ class AnswerService
if
(
!
empty
(
$params
[
'keywords'
]))
if
(
!
empty
(
$params
[
'keywords'
]))
{
{
$where
[]
=
[
'name|tel|content'
,
'like'
,
'%'
.
$params
[
'keywords'
]
.
'%'
];
$where
[]
=
[
'name|tel|
title|
content'
,
'like'
,
'%'
.
$params
[
'keywords'
]
.
'%'
];
}
}
// 是否更多条件
// 是否更多条件
...
...
application/service/NavigationService.php
浏览文件 @
d8f9eaf9
...
@@ -11,6 +11,7 @@
...
@@ -11,6 +11,7 @@
namespace
app\service
;
namespace
app\service
;
use
think\Db
;
use
think\Db
;
use
think\facade\Hook
;
/**
/**
* 导航服务层
* 导航服务层
...
@@ -22,7 +23,7 @@ use think\Db;
...
@@ -22,7 +23,7 @@ use think\Db;
class
NavigationService
class
NavigationService
{
{
/**
/**
* 获取
首页
导航
* 获取导航
* @author Devil
* @author Devil
* @blog http://gong.gg/
* @blog http://gong.gg/
* @version 1.0.0
* @version 1.0.0
...
@@ -30,11 +31,12 @@ class NavigationService
...
@@ -30,11 +31,12 @@ class NavigationService
* @desc description
* @desc description
* @param [array] $params [输入参数]
* @param [array] $params [输入参数]
*/
*/
public
static
function
Home
(
$params
=
[])
public
static
function
Nav
(
$params
=
[])
{
{
// 读取缓存数据
// 读取缓存数据
$header
=
cache
(
config
(
'shopxo.cache_common_home_nav_header_key'
));
$header
=
cache
(
config
(
'shopxo.cache_common_home_nav_header_key'
));
$footer
=
cache
(
config
(
'shopxo.cache_common_home_nav_footer_key'
));
$footer
=
cache
(
config
(
'shopxo.cache_common_home_nav_footer_key'
));
$header
=
[];
// 导航模型
// 导航模型
$field
=
array
(
'id'
,
'pid'
,
'name'
,
'url'
,
'value'
,
'data_type'
,
'is_new_window_open'
);
$field
=
array
(
'id'
,
'pid'
,
'name'
,
'url'
,
'value'
,
'data_type'
,
'is_new_window_open'
);
...
@@ -50,6 +52,15 @@ class NavigationService
...
@@ -50,6 +52,15 @@ class NavigationService
$v
[
'items'
]
=
self
::
NavDataDealWith
(
Db
::
name
(
'Navigation'
)
->
field
(
$field
)
->
where
(
array
(
'nav_type'
=>
'header'
,
'is_show'
=>
1
,
'pid'
=>
$v
[
'id'
]))
->
order
(
'sort'
)
->
select
());
$v
[
'items'
]
=
self
::
NavDataDealWith
(
Db
::
name
(
'Navigation'
)
->
field
(
$field
)
->
where
(
array
(
'nav_type'
=>
'header'
,
'is_show'
=>
1
,
'pid'
=>
$v
[
'id'
]))
->
order
(
'sort'
)
->
select
());
}
}
}
}
// 大导航钩子
$hook_name
=
'plugins_service_navigation_header_handle'
;
$ret
=
Hook
::
listen
(
$hook_name
,
[
'hook_name'
=>
$hook_name
,
'is_backend'
=>
false
,
'params'
=>
&
$params
,
'header'
=>
&
$header
,
]);
cache
(
config
(
'shopxo.cache_common_home_nav_header_key'
),
$header
);
cache
(
config
(
'shopxo.cache_common_home_nav_header_key'
),
$header
);
}
}
...
@@ -57,9 +68,28 @@ class NavigationService
...
@@ -57,9 +68,28 @@ class NavigationService
if
(
empty
(
$footer
))
if
(
empty
(
$footer
))
{
{
$footer
=
self
::
NavDataDealWith
(
Db
::
name
(
'Navigation'
)
->
field
(
$field
)
->
where
(
array
(
'nav_type'
=>
'footer'
,
'is_show'
=>
1
))
->
order
(
'sort'
)
->
select
());
$footer
=
self
::
NavDataDealWith
(
Db
::
name
(
'Navigation'
)
->
field
(
$field
)
->
where
(
array
(
'nav_type'
=>
'footer'
,
'is_show'
=>
1
))
->
order
(
'sort'
)
->
select
());
if
(
!
empty
(
$footer
))
{
foreach
(
$footer
as
&
$v
)
{
$v
[
'items'
]
=
self
::
NavDataDealWith
(
Db
::
name
(
'Navigation'
)
->
field
(
$field
)
->
where
(
array
(
'nav_type'
=>
'footer'
,
'is_show'
=>
1
,
'pid'
=>
$v
[
'id'
]))
->
order
(
'sort'
)
->
select
());
}
}
// 底部导航钩子
$hook_name
=
'plugins_service_navigation_footer_handle'
;
$ret
=
Hook
::
listen
(
$hook_name
,
[
'hook_name'
=>
$hook_name
,
'is_backend'
=>
false
,
'params'
=>
&
$params
,
'footer'
=>
&
$footer
,
]);
cache
(
config
(
'shopxo.cache_common_home_nav_footer_key'
),
$footer
);
cache
(
config
(
'shopxo.cache_common_home_nav_footer_key'
),
$footer
);
}
}
//print_r($header);
return
[
return
[
'header'
=>
$header
,
'header'
=>
$header
,
'footer'
=>
$footer
,
'footer'
=>
$footer
,
...
...
application/service/SeoService.php
0 → 100644
浏览文件 @
d8f9eaf9
<?php
// +----------------------------------------------------------------------
// | ShopXO 国内领先企业级B2C免费开源电商系统
// +----------------------------------------------------------------------
// | Copyright (c) 2011~2019 http://shopxo.net All rights reserved.
// +----------------------------------------------------------------------
// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
// +----------------------------------------------------------------------
// | Author: Devil
// +----------------------------------------------------------------------
namespace
app\service
;
/**
* seo服务层
* @author Devil
* @blog http://gong.gg/
* @version 0.0.1
* @datetime 2016-12-01T21:51:08+0800
*/
class
SeoService
{
/**
* 获取浏览器seo标题
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2019-03-11
* @desc description
* @param [string] $title [标题]
* @param [int] $type [模式0 使用站点名称, 模式1 使用SEO名称]
* @return [string] [浏览器seo标题]
*/
public
static
function
BrowserSeoTitle
(
$title
,
$type
=
0
)
{
// 标题为空则取seo标题
if
(
empty
(
$title
))
{
return
MyC
(
'home_seo_site_title'
);
}
// 模式
switch
(
$type
)
{
// 模式0 使用站点名称
case
0
:
return
$title
.
' - '
.
MyC
(
'home_site_name'
);
break
;
// 模式1 或 默认使用标题加seo名称
case
1
:
default
:
return
$title
.
' - '
.
MyC
(
'home_seo_site_title'
);
}
}
}
?>
\ No newline at end of file
application/tags.php
浏览文件 @
d8f9eaf9
...
@@ -68,5 +68,9 @@ return array (
...
@@ -68,5 +68,9 @@ return array (
array
(
array
(
0
=>
'app\\plugins\\usernotloginhidegoodsprice\\Hook'
,
0
=>
'app\\plugins\\usernotloginhidegoodsprice\\Hook'
,
),
),
'plugins_service_navigation_header_handle'
=>
array
(
0
=>
'app\\plugins\\answers\\Hook'
,
),
);
);
?>
?>
\ No newline at end of file
public/static/admin/default/css/answer.css
浏览文件 @
d8f9eaf9
...
@@ -18,4 +18,9 @@
...
@@ -18,4 +18,9 @@
}
}
@media
only
screen
and
(
max-width
:
321px
)
{
@media
only
screen
and
(
max-width
:
321px
)
{
.view-operation
button
{
margin
:
2px
0px
;
}
.view-operation
button
{
margin
:
2px
0px
;
}
}
}
\ No newline at end of file
/**
* 列表
*/
table
.am-table
.reply-content
{
max-width
:
200px
;
}
\ No newline at end of file
public/static/admin/default/css/pluginsadmin.css
浏览文件 @
d8f9eaf9
...
@@ -59,7 +59,7 @@
...
@@ -59,7 +59,7 @@
-webkit-line-clamp
:
2
;
-webkit-line-clamp
:
2
;
-webkit-box-orient
:
vertical
;
-webkit-box-orient
:
vertical
;
margin-top
:
10px
;
margin-top
:
10px
;
min-height
:
3
2
px
;
min-height
:
3
6
px
;
line-height
:
16px
;
line-height
:
16px
;
font-weight
:
300
;
font-weight
:
300
;
color
:
#b3b3b3
;
color
:
#b3b3b3
;
...
...
public/static/common/css/common.css
浏览文件 @
d8f9eaf9
...
@@ -79,8 +79,7 @@ iframe { width: 100%; height: 100%; border: 0; }
...
@@ -79,8 +79,7 @@ iframe { width: 100%; height: 100%; border: 0; }
background
:
#f6f9fc
;
background
:
#f6f9fc
;
}
}
form
.am-form
.am-form-group
,
.plug-images-list
,
.goods-specifications
,
.content-app-items
,
.plug-file-upload-view
{
form
.am-form
.am-form-group
,
.plug-images-list
,
.goods-specifications
,
.content-app-items
,
.plug-file-upload-view
{
border-bottom
:
1px
dashed
transparent
;
border-bottom
:
1px
dashed
#ccc
;
background
:
linear-gradient
(
white
,
white
)
padding-box
,
repeating-linear-gradient
(
-45deg
,
#ccc
0
,
#ccc
0.25em
,
white
0
,
white
0.5em
);
padding
:
10px
20%
10px
5px
;
padding
:
10px
20%
10px
5px
;
}
}
.am-popup
form
.am-form
.am-form-group
{
.am-popup
form
.am-form
.am-form-group
{
...
...
public/static/index/default/css/common.css
浏览文件 @
d8f9eaf9
...
@@ -26,7 +26,7 @@ button { outline: none; }
...
@@ -26,7 +26,7 @@ button { outline: none; }
.am-form
select
,
.am-form
textarea
,
.am-form
input
[
type
=
"text"
],
.am-form
input
[
type
=
"password"
],
.am-form
input
[
type
=
"datetime"
],
.am-form
input
[
type
=
"datetime-local"
],
.am-form
input
[
type
=
"date"
],
.am-form
input
[
type
=
"month"
],
.am-form
input
[
type
=
"time"
],
.am-form
input
[
type
=
"week"
],
.am-form
input
[
type
=
"number"
],
.am-form
input
[
type
=
"email"
],
.am-form
input
[
type
=
"url"
],
.am-form
input
[
type
=
"search"
],
.am-form
input
[
type
=
"tel"
],
.am-form
input
[
type
=
"color"
],
.am-form-field
{
.am-form
select
,
.am-form
textarea
,
.am-form
input
[
type
=
"text"
],
.am-form
input
[
type
=
"password"
],
.am-form
input
[
type
=
"datetime"
],
.am-form
input
[
type
=
"datetime-local"
],
.am-form
input
[
type
=
"date"
],
.am-form
input
[
type
=
"month"
],
.am-form
input
[
type
=
"time"
],
.am-form
input
[
type
=
"week"
],
.am-form
input
[
type
=
"number"
],
.am-form
input
[
type
=
"email"
],
.am-form
input
[
type
=
"url"
],
.am-form
input
[
type
=
"search"
],
.am-form
input
[
type
=
"tel"
],
.am-form
input
[
type
=
"color"
],
.am-form-field
{
font-size
:
12px
;
font-size
:
12px
;
}
}
.am-input-group-sm
>
.am-input-group-btn
>
.am-btn
{
.am-input-group-sm
>
.am-input-group-btn
>
.am-btn
,
.am-input-group-sm
>
.am-form-field
{
height
:
28px
;
height
:
28px
;
font-size
:
12px
!important
;
font-size
:
12px
!important
;
}
}
...
@@ -475,11 +475,15 @@ background:url(../images/ibar_sprites.png) no-repeat;background-position:0px -23
...
@@ -475,11 +475,15 @@ background:url(../images/ibar_sprites.png) no-repeat;background-position:0px -23
.friendship-list
ul
li
:not
(
:last-child
)
{
.friendship-list
ul
li
:not
(
:last-child
)
{
margin-right
:
10px
;
margin-right
:
10px
;
}
}
.friendship-list
ul
li
:not
(
:last-child
)
a
{
.friendship-list
ul
li
:not
(
:last-child
)
a
{
border-right
:
1px
solid
#d4d4d4
;
border-right
:
1px
solid
#d4d4d4
;
padding-right
:
10px
;
padding-right
:
10px
;
}
}
@media
only
screen
and
(
max-width
:
1025px
)
{
.friendship-list
{
padding
:
0
5px
;
}
}
/**
/**
...
@@ -491,9 +495,6 @@ background:url(../images/ibar_sprites.png) no-repeat;background-position:0px -23
...
@@ -491,9 +495,6 @@ background:url(../images/ibar_sprites.png) no-repeat;background-position:0px -23
padding-left
:
0px
;
padding-left
:
0px
;
padding-right
:
0px
;
padding-right
:
0px
;
}
}
.friendship-list
{
padding
:
0
5px
;
}
}
}
/**
/**
...
...
public/static/plugins/css/answers/index.css
浏览文件 @
d8f9eaf9
.plugins-answers
.am-list-news-hd
{
.plugins-answers
.am-list-news-hd
{
font-weight
:
500
;
font-weight
:
500
;
padding-top
:
10px
;
padding-bottom
:
2px
;
}
.plugins-answers
.answers-goods
.am-list-news-hd
{
padding-bottom
:
0
;
}
}
.plugins-answers
.am-gallery-bordered
.am-gallery-item
{
.plugins-answers
.am-gallery-bordered
.am-gallery-item
{
box-shadow
:
none
;
box-shadow
:
none
;
...
@@ -33,8 +38,20 @@
...
@@ -33,8 +38,20 @@
border-color
:
#F44336
;
border-color
:
#F44336
;
font-size
:
16px
;
font-size
:
16px
;
}
}
.plugins-answers
.answers-btn-list
,
.plugins-answers
.am-list-news-bd
.am-list
{
margin-bottom
:
10px
;
}
.plugins-answers
.am-input-group-sm
>
.am-input-group-btn
>
.am-btn
,
.plugins-answers
.am-input-group-sm
>
.am-form-field
{
height
:
32px
;
}
.plugins-answers
.am-gallery-bordered
.am-gallery-title
{
font-size
:
12px
;
}
@media
only
screen
and
(
min-width
:
640px
)
{
@media
only
screen
and
(
min-width
:
640px
)
{
.plugins-answers
.am-u-md-8
,
.plugins-answers
.am-gallery
{
padding
:
0
;
}
.plugins-answers
.am-gallery-bordered
.am-gallery-item
:hover
{
.plugins-answers
.am-gallery-bordered
.am-gallery-item
:hover
{
-webkit-box-shadow
:
0px
12px
12px
-10px
rgba
(
0
,
0
,
0
,
.4
);
-webkit-box-shadow
:
0px
12px
12px
-10px
rgba
(
0
,
0
,
0
,
.4
);
box-shadow
:
0px
12px
12px
-10px
rgba
(
0
,
0
,
0
,
.4
);
box-shadow
:
0px
12px
12px
-10px
rgba
(
0
,
0
,
0
,
.4
);
...
@@ -47,48 +64,42 @@
...
@@ -47,48 +64,42 @@
color
:
#d2364c
;
color
:
#d2364c
;
text-decoration
:
underline
;
text-decoration
:
underline
;
}
}
.plugins-answers
.answers-top
,
.plugins-answers
.answers-middle-banner
,
.plugins-answers
.answers-goods
{
.plugins-answers
.answers-top
,
.plugins-answers
.answers-middle-banner
{
margin-top
:
10px
;
margin-top
:
10px
;
overflow
:
hidden
;
overflow
:
hidden
;
}
}
.plugins-answers
.answers-slider
,
.plugins-answers
.answers-middle-list
,
.plugins-answers
.answers-goods
.am-gallery
{
padding
:
0
;
}
.plugins-answers
.answers-sidebar
,
.plugins-answers
.answers-goods
{
.plugins-answers
.answers-sidebar
,
.plugins-answers
.answers-goods
{
padding-right
:
1px
;
padding-right
:
1px
;
}
}
.plugins-answers
.am-list-news-default
{
.plugins-answers
.am-list-news-default
{
margin
:
0
;
margin
:
0
;
}
}
.plugins-answers
.answers-sidebar
.am-list-news-hd
,
.plugins-answers
.answers-goods
.am-list-news-hd
{
padding-top
:
0
;
}
.plugins-answers
.answers-middle-list
.am-list-news-hd
{
.plugins-answers
.answers-middle-list
.am-list-news-hd
{
padding-top
:
10px
;
padding-top
:
10px
;
}
}
.plugins-answers
.answers-sidebar
.am-list-news-bd
.am-list
{
}
margin-bottom
:
10px
;
}
@media
only
screen
and
(
max-width
:
1025px
)
{
.plugins-answers
.answers-goods
.am-list-news-hd
{
.plugins-answers
{
padding-bottom
:
5px
;
padding
:
0
5px
;
}
.plugins-answers
.answers-btn-list
.am-btn
{
margin-bottom
:
10px
;
}
}
}
}
@media
only
screen
and
(
max-width
:
640px
)
{
@media
only
screen
and
(
max-width
:
640px
)
{
.plugins-answers
.answers-middle-list
,
.plugins-answers
.answers-goods
.am-gallery
{
.plugins-answers
{
padding
:
0
5px
;
}
.plugins-answers
.am-u-md-8
,
.plugins-answers
.am-u-md-4
,
.plugins-answers
.am-gallery
{
padding
:
0
;
padding
:
0
;
}
}
.plugins-answers
.a
nswers-sidebar
.a
m-list-news-default
{
.plugins-answers
.am-list-news-default
{
margin
:
0
;
margin
:
0
;
}
}
.plugins-answers
.answers-
middle-bann
er
{
.plugins-answers
.answers-
slid
er
{
padding
:
0
10px
;
margin-bottom
:
10px
;
}
}
.plugins-answers
.a
nswers-btn-list
.am-btn
{
.plugins-answers
.a
m-list-news-hd
{
margin-top
:
1
5px
;
padding-bottom
:
5px
;
}
}
}
}
...
@@ -120,8 +131,9 @@
...
@@ -120,8 +131,9 @@
background
:
#f2fff1
;
background
:
#f2fff1
;
}
}
.plugins-answers-detail
h2
{
.plugins-answers-detail
h2
{
margin-bottom
:
5px
;
font-weight
:
500
;
font-weight
:
500
;
margin-bottom
:
5px
;
font-size
:
16px
;
}
}
.plugins-answers-detail
.base
.reply-content
{
.plugins-answers-detail
.base
.reply-content
{
margin-top
:
5px
;
margin-top
:
5px
;
...
...
route/route.config
浏览文件 @
d8f9eaf9
...
@@ -83,7 +83,4 @@ Route::get('user'.$ds.'order'.$ds.'comments'.$ds.':id', 'index/order/comments');
...
@@ -83,7 +83,4 @@ Route::get('user'.$ds.'order'.$ds.'comments'.$ds.':id', 'index/order/comments');
// 用户收藏/商品
// 用户收藏/商品
Route
::
rule
(
'user'
.$
ds
.
'favor'
.$
ds
.
'goods'
,
'index/userfavor/goods'
,
'GET|POST'
);
Route
::
rule
(
'user'
.$
ds
.
'favor'
.$
ds
.
'goods'
,
'index/userfavor/goods'
,
'GET|POST'
);
// 插件首页
Route
::
get
(
'plugins'
.$
ds
.
':pluginsname'
.$
ds
.
':pluginscontrol'
.$
ds
.
':pluginsaction'
,
'index/plugins/index'
);
?>
?>
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录