提交 d8f9eaf9 编写于 作者: D devil_gong

问答系统增强版

上级 01fecfb6
...@@ -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();
......
...@@ -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>
......
...@@ -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();
......
...@@ -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();
} }
} }
......
...@@ -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
......
...@@ -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']);
......
...@@ -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)))]));
......
...@@ -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();
} }
} }
......
...@@ -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 {
......
...@@ -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
...@@ -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
......
...@@ -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 AnswerListWhere($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);
......
{ {
"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
...@@ -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>
......
...@@ -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>
......
...@@ -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>
......
...@@ -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">更多 &raquo;</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">更多 &raquo;</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="{}">
......
...@@ -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">更多 &raquo;</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">更多 &raquo;</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">更多 &raquo;</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="{}">
......
<!-- 操作按钮 -->
<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
{{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">更多 &raquo;</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">更多 &raquo;</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
...@@ -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">
......
...@@ -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>
......
...@@ -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">
......
...@@ -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>
......
...@@ -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>
......
...@@ -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>
......
...@@ -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>
......
...@@ -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}}
......
...@@ -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>
......
...@@ -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'].'%'];
} }
// 是否更多条件 // 是否更多条件
......
...@@ -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,
......
<?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
...@@ -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
...@@ -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
...@@ -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: 32px; min-height: 36px;
line-height: 16px; line-height: 16px;
font-weight: 300; font-weight: 300;
color: #b3b3b3; color: #b3b3b3;
......
...@@ -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 {
......
...@@ -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;
}
} }
/** /**
......
.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 .answers-sidebar .am-list-news-default { .plugins-answers .am-list-news-default {
margin: 0; margin: 0;
} }
.plugins-answers .answers-middle-banner { .plugins-answers .answers-slider {
padding: 0 10px; margin-bottom: 10px;
} }
.plugins-answers .answers-btn-list .am-btn { .plugins-answers .am-list-news-hd {
margin-top: 15px; 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;
......
...@@ -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.
先完成此消息的编辑!
想要评论请 注册