fix: 复制 ShopXO public 模板 + 修复 footer_page 不存在问题
- 将 ShopXO 默认主题 public/ 目录完整复制到插件 goods/public/
- ticket_detail.html 中 footer_page → footer(footer_page.html 不存在于 ShopXO)
- ModuleInclude() 现在可以正确解析:view_path(goods/) + public/header.html ✅
council/ProductManager
parent
349ec063c1
commit
c894e70188
|
|
@ -0,0 +1,15 @@
|
|||
{{if !empty($module_data['title']) and !empty($module_data['back_url'])}}
|
||||
<legend class="am-flex am-flex-items-center">
|
||||
<a href="{{$module_data.back_url}}" class="am-text-lg">
|
||||
<i class="iconfont icon-back"></i>
|
||||
</a>
|
||||
<em class="form-nav-top-retreat-ds am-color-grey-light am-text-xs am-margin-horizontal-sm">|</em>
|
||||
<div class="am-flex am-gap-1">
|
||||
<span class="am-text-sm am-font-weight">{{$module_data.title}}</span>
|
||||
{{if !empty($module_data['btn_text']) and !empty($module_data['btn_popup'])}}
|
||||
<em class="form-nav-top-btn-ds am-color-grey-light am-text-xs am-margin-horizontal-sm">|</em>
|
||||
<a href="javascript:;" class="am-text-primary am-text-sm" data-am-modal="{target: '{{$module_data.btn_popup}}'{{if !empty($module_data['btn_popup_width'])}},width: {{$module_data.btn_popup_width}}{{/if}}}">{{$module_data.btn_text}}</a>
|
||||
{{/if}}
|
||||
</div>
|
||||
</legend>
|
||||
{{/if}}
|
||||
|
|
@ -0,0 +1,37 @@
|
|||
{{if !empty($breadcrumb_data) and MyC('home_main_breadcrumb_header_status', 1) eq 1}}
|
||||
<div class="breadcrumb-data am-hide-sm-only">
|
||||
<div class="am-container">
|
||||
<ul class="am-breadcrumb am-margin-bottom-0">
|
||||
{{foreach $breadcrumb_data as $v}}
|
||||
{{if !empty($v['name'])}}
|
||||
{{switch $v.type}}
|
||||
{{case 0}}
|
||||
<li {{if empty($v['url'])}}class="am-active"{{/if}}>
|
||||
{{if !empty($v['url'])}}<a href="{{$v.url}}">{{/if}}
|
||||
{{$v.name}}
|
||||
{{if !empty($v['url'])}}</a>{{/if}}
|
||||
</li>
|
||||
{{/case}}
|
||||
{{case 1}}
|
||||
{{if !empty($v['data']) and is_array($v['data'])}}
|
||||
<li>
|
||||
<div class="am-dropdown am-cursor-pointer" data-am-dropdown>
|
||||
<span class="am-dropdown-toggle" data-am-dropdown-toggle>{{$v.name}} <i class="am-icon-angle-down"></i></span>
|
||||
<ul class="am-dropdown-content am-radius">
|
||||
{{foreach $v.data as $vs}}
|
||||
{{if !empty($vs['name']) and !empty($vs['url'])}}
|
||||
<li><a href="{{$vs.url}}">{{$vs.name}}</a></li>
|
||||
{{/if}}
|
||||
{{/foreach}}
|
||||
</ul>
|
||||
</div>
|
||||
</li>
|
||||
{{/if}}
|
||||
{{/case}}
|
||||
{{/switch}}
|
||||
{{/if}}
|
||||
{{/foreach}}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
{{/if}}
|
||||
|
|
@ -0,0 +1,21 @@
|
|||
{{if is_array(MyLang('custom_to_value_tips'))}}
|
||||
<div class="am-tips-card">
|
||||
{{foreach :MyLang('custom_to_value_tips') as $k=>$v}}
|
||||
<div {{if $k gt 0}}class="am-margin-top-xs"{{/if}}>
|
||||
<p><strong>{{$v.name}}</strong></p>
|
||||
{{if !empty($v['item'])}}
|
||||
<div class="am-padding-left-lg">
|
||||
{{foreach $v.item as $vs}}
|
||||
<p>{{$vs}}</p>
|
||||
{{/foreach}}
|
||||
{{if !empty($v['tips']) and $v['type'] eq 'mini' and !empty($site_store_links) and !empty($site_store_links['app_mini_pages'])}}
|
||||
<p>
|
||||
<a href="{{$site_store_links.app_mini_pages}}" target="_blank">{{$v.tips}} <i class="am-icon-external-link"></i></a>
|
||||
</p>
|
||||
{{/if}}
|
||||
</div>
|
||||
{{/if}}
|
||||
</div>
|
||||
{{/foreach}}
|
||||
</div>
|
||||
{{/if}}
|
||||
|
|
@ -0,0 +1,9 @@
|
|||
{{if !empty($module_data['nav_data']) and is_array($module_data['nav_data'])}}
|
||||
<div class="detail-content-nav-switch-tabs">
|
||||
{{foreach $module_data.nav_data as $k=>$v}}
|
||||
{{if !isset($v.is_show) or $v.is_show eq 1}}
|
||||
<a class="item {{if isset($module_data['index']) and $module_data.index eq $k or (!isset($module_data['index']) and $k eq 0)}}am-active{{/if}}" data-key="{{$v.key}}">{{$v.name}}</a>
|
||||
{{/if}}
|
||||
{{/foreach}}
|
||||
</div>
|
||||
{{/if}}
|
||||
|
|
@ -0,0 +1,21 @@
|
|||
{{if is_array(MyLang('event_value_tips_list'))}}
|
||||
<div class="am-tips-card">
|
||||
{{foreach :MyLang('event_value_tips_list') as $k=>$v}}
|
||||
<div {{if $k gt 0}}class="am-margin-top-xs"{{/if}}>
|
||||
<p><strong>{{$v.name}}</strong></p>
|
||||
{{if !empty($v['item'])}}
|
||||
<div class="am-padding-left-lg">
|
||||
{{foreach $v.item as $vs}}
|
||||
<p>{{$vs}}</p>
|
||||
{{/foreach}}
|
||||
{{if !empty($v['tips']) and $v['type'] eq 'mini' and !empty($site_store_links) and !empty($site_store_links['app_mini_pages'])}}
|
||||
<p>
|
||||
<a href="{{$site_store_links.app_mini_pages}}" target="_blank">{{$v.tips}} <i class="am-icon-external-link"></i></a>
|
||||
</p>
|
||||
{{/if}}
|
||||
</div>
|
||||
{{/if}}
|
||||
</div>
|
||||
{{/foreach}}
|
||||
</div>
|
||||
{{/if}}
|
||||
|
|
@ -0,0 +1,453 @@
|
|||
</div>
|
||||
|
||||
<div class="body-content-footer-container">
|
||||
<!-- footer start, is footer nav -->
|
||||
{{if empty($module_data) or !isset($module_data['is_footer_nav']) or $module_data['is_footer_nav'] eq 1}}
|
||||
{{if (!isset($page_pure) or $page_pure neq 1) and (!isset($is_footer) or $is_footer eq 1)}}
|
||||
{{:ModuleInclude('public/footer_nav', isset($module_data) ? $module_data : [])}}
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
<!-- footer end -->
|
||||
|
||||
<!-- is footer hook -->
|
||||
{{if empty($module_data) or !isset($module_data['is_footer_hook']) or $module_data['is_footer_hook'] eq 1}}
|
||||
<!-- 公共底部钩子 -->
|
||||
{{if !isset($page_pure) or $page_pure neq 1}}
|
||||
{{if isset($shopxo_is_develop) and $shopxo_is_develop eq true}}
|
||||
<div class="plugins-tag">
|
||||
<span>plugins_view_common_bottom</span>
|
||||
</div>
|
||||
{{/if}}
|
||||
{{if !empty($plugins_view_common_bottom_data) and is_array($plugins_view_common_bottom_data)}}
|
||||
{{foreach $plugins_view_common_bottom_data as $hook}}
|
||||
{{if is_string($hook) or is_int($hook)}}
|
||||
{{$hook|raw}}
|
||||
{{/if}}
|
||||
{{/foreach}}
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
|
||||
<!-- footer公共底部钩子 -->
|
||||
{{if !isset($is_footer) or $is_footer eq 1}}
|
||||
{{if isset($shopxo_is_develop) and $shopxo_is_develop eq true}}
|
||||
<div class="plugins-tag">
|
||||
<span>plugins_view_common_bottom_footer</span>
|
||||
</div>
|
||||
{{/if}}
|
||||
{{if !empty($plugins_view_common_bottom_footer_data) and is_array($plugins_view_common_bottom_footer_data)}}
|
||||
{{foreach $plugins_view_common_bottom_footer_data as $hook}}
|
||||
{{if is_string($hook) or is_int($hook)}}
|
||||
{{$hook|raw}}
|
||||
{{/if}}
|
||||
{{/foreach}}
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 公共上传组件初始化 -->
|
||||
<textarea id="upload-editor-view" data-url="{{if isset($is_load_upload_editor) and $is_load_upload_editor eq 1}}{{:MyUrl('index/ueditor/index', ['path_type'=>empty($editor_path_type) ? 'common' : $editor_path_type])}}{{/if}}" style="display: none;"></textarea>
|
||||
|
||||
<!-- 公共单个上传组件表单初始化 -->
|
||||
<form class="am-form form-validation-common-upload-editor-single" method="post" action="{{:MyUrl('index/ueditor/index', ['path_type'=>empty($editor_path_type) ? 'common' : $editor_path_type])}}" request-type="ajax-fun" request-value="CommonFormUploadEditorSingleBack" style="display: none;">
|
||||
<input type="file" name="upfile" accept="" />
|
||||
<input type="hidden" name="action" value="uploadimage" />
|
||||
<button type="reset"></button>
|
||||
<button type="submit"></button>
|
||||
</form>
|
||||
|
||||
<!-- 公共购物车加入成功提示 -->
|
||||
<div class="am-modal am-modal-no-btn" tabindex="-1" id="common-user-cart-success-modal">
|
||||
<div class="am-modal-dialog am-radius">
|
||||
<div class="am-modal-hd">
|
||||
<span>{{:MyLang('reminder_title')}}</span>
|
||||
<a href="javascript: void(0)" class="am-close am-close-spin" data-am-modal-close>×</a>
|
||||
</div>
|
||||
<div class="am-modal-bd">
|
||||
|
||||
<div class="am-text-center am-margin-top">
|
||||
<span class="am-text-success iconfont icon-enable"> {{:MyLang('common.user_cart_success_modal_tips')}}</span>
|
||||
</div>
|
||||
<div class="am-margin-top-sm">
|
||||
<span>{{:MyLang('common.user_cart_success_modal_text_first')}}</span>
|
||||
<strong class="common-cart-total">{{$user_cart_summary.buy_number}}</strong>
|
||||
<span>{{:MyLang('common.user_cart_success_modal_text_last')}}</span>
|
||||
</div>
|
||||
<div class="am-margin-top-sm">
|
||||
<a href="{{:MyUrl('index/cart/index')}}" class="am-btn am-btn-secondary am-radius am-margin-right-sm">{{:MyLang('common.user_cart_success_modal_cart_title')}}</a>
|
||||
<button type="button" class="am-btn am-btn-primary am-radius am-margin-left-sm" data-am-modal-close>{{:MyLang('common.user_cart_success_modal_buy_title')}}</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 公共视频扫码组件初始化 -->
|
||||
<div class="am-popup am-radius popup-iframe popup-not-title" id="common-video-scan-popup">
|
||||
<div class="am-popup-inner am-radius">
|
||||
<span data-am-modal-close class="am-close am-close-alt">×</span>
|
||||
<div class="scanner">
|
||||
<div class="scan-area">
|
||||
<div class="mark top-left"></div>
|
||||
<div class="mark top-right"></div>
|
||||
<div class="mark bottom-left"></div>
|
||||
<div class="mark bottom-right"></div>
|
||||
</div>
|
||||
<video id="video"></video>
|
||||
<i class="am-icon-refresh am-icon-md video-scan-switch-camera-submit"></i>
|
||||
<button type="button" class="am-btn am-btn-primary am-radius am-btn-xs video-scan-continue-submit am-hide">{{:MyLang('continue_scan_title')}}</button>
|
||||
<div class="video-scan-audio-container"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 主题数据管理 -->
|
||||
{{if !empty($theme_data_admin_data) and isset($theme_data_admin_data['status']) and $theme_data_admin_data['status'] eq 1 and !empty($theme_data_admin_data['admin_url_data']) and !in_array($action_name, ['modallogininfo'])}}
|
||||
<div class="theme-data-admin-container">
|
||||
<a href="{{:MyUrl('index/index/index', ['is_theme_data_admin'=>0])}}" class="am-btn am-btn-danger am-btn-sm am-radius">
|
||||
<i class="iconfont icon-logout"></i>
|
||||
<span>{{:MyLang('quit_admin_title')}}</span>
|
||||
</a>
|
||||
</div>
|
||||
{{/if}}
|
||||
</body>
|
||||
</html>
|
||||
|
||||
<!-- 类库 -->
|
||||
<script type='text/javascript' src="{{$public_host}}static/common/lib/jquery/jquery-2.2.4.min.js?v={{$static_cache_version}}"></script>
|
||||
<script type='text/javascript' src="{{$public_host}}static/common/lib/assets/js/amazeui.js?v={{$static_cache_version}}"></script>
|
||||
|
||||
<!-- jshash -->
|
||||
<script type='text/javascript' src="{{$public_host}}static/common/lib/jshash/md5-min.js?v={{$static_cache_version}}"></script>
|
||||
|
||||
<!-- 图片放大镜 -->
|
||||
{{if isset($is_load_imagezoom) and $is_load_imagezoom eq 1}}
|
||||
<script type='text/javascript' src="{{$public_host}}static/common/lib/imagezoom/jquery.imagezoom.min.js?v={{$static_cache_version}}"></script>
|
||||
{{/if}}
|
||||
|
||||
<!-- echarts 图表 -->
|
||||
{{if isset($is_load_echarts) and $is_load_echarts eq 1}}
|
||||
<script type='text/javascript' src="{{$public_host}}static/common/lib/echarts/echarts.min.js?v={{$static_cache_version}}"></script>
|
||||
<script type='text/javascript' src="{{$public_host}}static/common/lib/echarts/macarons.js?v={{$static_cache_version}}"></script>
|
||||
<script type='text/javascript' src="{{$public_host}}static/common/lib/echarts/shine.js?v={{$static_cache_version}}"></script>
|
||||
{{/if}}
|
||||
|
||||
<!-- amazeui插件 -->
|
||||
<script type='text/javascript' src="{{$public_host}}static/common/lib/amazeui-switch/amazeui.switch.min.js?v={{$static_cache_version}}"></script>
|
||||
<script type='text/javascript' src="{{$public_host}}static/common/lib/amazeui-chosen/amazeui.chosen.js?v={{$static_cache_version}}"></script>
|
||||
<script type='text/javascript' src="{{$public_host}}static/common/lib/amazeui-dialog/amazeui.dialog.js?v={{$static_cache_version}}"></script>
|
||||
<script type='text/javascript' src="{{$public_host}}static/common/lib/amazeui-tagsinput/amazeui.tagsinput.min.js?v={{$static_cache_version}}"></script>
|
||||
|
||||
<!-- 轮播插件 -->
|
||||
<script type='text/javascript' src="{{$public_host}}static/common/lib/swiper/swiper.min.js?v={{$static_cache_version}}"></script>
|
||||
<script type='text/javascript' src="{{$public_host}}static/common/lib/swiper/swiper-bundle.min.js?v={{$static_cache_version}}"></script>
|
||||
|
||||
<!-- 图像裁剪插件 -->
|
||||
<script type='text/javascript' src="{{$public_host}}static/common/lib/cropper/cropper.min.js?v={{$static_cache_version}}"></script>
|
||||
|
||||
<!-- 元素拖动 -->
|
||||
<script type='text/javascript' src="{{$public_host}}static/common/lib/tdrag/tdrag.min.js?v={{$static_cache_version}}"></script>
|
||||
|
||||
<!-- 复制插件 -->
|
||||
<script type='text/javascript' src="{{$public_host}}static/common/lib/clipboard/clipboard.min.js?v={{$static_cache_version}}"></script>
|
||||
|
||||
<!-- base64 -->
|
||||
<script type='text/javascript' src="{{$public_host}}static/common/lib/base64/base64csvtojson.js?v={{$static_cache_version}}"></script>
|
||||
|
||||
<!-- 元素拖拽排序插件 -->
|
||||
<script type='text/javascript' src="{{$public_host}}static/common/lib/dragsort/jquery.dragsort-0.5.2.min.js?v={{$static_cache_version}}"></script>
|
||||
|
||||
<!-- 动画数数 -->
|
||||
{{if isset($is_load_animation_count) and $is_load_animation_count eq 1}}
|
||||
<script type='text/javascript' src="{{$public_host}}static/common/lib/animation-count-to/animation.count.to.js?v={{$static_cache_version}}"></script>
|
||||
{{/if}}
|
||||
|
||||
<!-- highlight代码高亮 -->
|
||||
<script src="{{$public_host}}static/common/lib/highlight/highlight.min.js?v={{$static_cache_version}}"></script>
|
||||
|
||||
<!-- wangEditor 编辑器 -->
|
||||
<script type='text/javascript' src="{{$public_host}}static/common/lib/wangeditor/wangeditor-5.1.23.js?v={{$static_cache_version}}"></script>
|
||||
|
||||
<!-- ueditor 编辑器 -->
|
||||
<script type='text/javascript' src="{{$public_host}}static/common/lib/ueditor/ueditor.config.js?v={{$static_cache_version}}"></script>
|
||||
<script type='text/javascript' src="{{$public_host}}static/common/lib/ueditor/ueditor.all.js?v={{$static_cache_version}}"></script>
|
||||
|
||||
<!-- 颜色选择器 -->
|
||||
<script type='text/javascript' src="{{$public_host}}static/common/lib/xncolorpicker/xncolorpicker.min.js?v={{$static_cache_version}}"></script>
|
||||
|
||||
<!-- 日期组件 -->
|
||||
<script type='text/javascript' src="{{$public_host}}static/common/lib/My97DatePicker/WdatePicker.js"></script>
|
||||
|
||||
<!-- ckplayer播放器 -->
|
||||
{{if isset($is_load_ckplayer) and $is_load_ckplayer eq 1}}
|
||||
<script type='text/javascript' src="{{$public_host}}static/common/lib/ckplayer/js/ckplayer.min.js?v={{$static_cache_version}}"></script>
|
||||
{{/if}}
|
||||
|
||||
<!-- xgplayer播放器 -->
|
||||
{{if isset($is_load_xgplayer) and $is_load_xgplayer eq 1}}
|
||||
<script type='text/javascript' src="{{$public_host}}static/common/lib/xgplayer/xgplayer-2.31.2.js?v={{$static_cache_version}}"></script>
|
||||
{{/if}}
|
||||
|
||||
<!-- hlsjs -->
|
||||
{{if isset($is_load_hlsjs) and $is_load_hlsjs eq 1}}
|
||||
<script type='text/javascript' src="{{$public_host}}static/common/lib/hlsjs/hls-1.6.15.min.js?v={{$static_cache_version}}"></script>
|
||||
{{/if}}
|
||||
|
||||
<!-- 条形码 -->
|
||||
{{if isset($is_load_barcode) and $is_load_barcode eq 1}}
|
||||
<script type='text/javascript' src="{{$public_host}}static/common/lib/JsBarcode/JsBarcode.all.min.js?v={{$static_cache_version}}"></script>
|
||||
{{/if}}
|
||||
|
||||
<!-- map -->
|
||||
{{if isset($is_load_map_api) and $is_load_map_api eq 1 and !empty($load_map_type)}}
|
||||
{{switch $load_map_type}}
|
||||
{{case baidu}}
|
||||
<script type="text/javascript" src="{{$my_http}}://api.map.baidu.com/api?v=2.0&ak={{:MyC('common_baidu_map_ak')}}"></script>
|
||||
{{/case}}
|
||||
{{case amap}}
|
||||
<script type="text/javascript">
|
||||
window._AMapSecurityConfig = {
|
||||
securityJsCode: '{{:MyC("common_amap_map_safety_ak")}}',
|
||||
}
|
||||
</script>
|
||||
<script type="text/javascript" src="{{$my_http}}://webapi.amap.com/maps?v=2.0&key={{:MyC('common_amap_map_ak')}}"></script>
|
||||
{{/case}}
|
||||
{{case tencent}}
|
||||
<script type="text/javascript" src="{{$my_http}}://map.qq.com/api/js?v=2.exp&key={{:MyC('common_tencent_map_ak')}}"></script>
|
||||
<script type="text/javascript" src="{{$my_http}}://map.qq.com/api/gljs?libraries={{if empty($map_tencent_libraries)}}service{{else /}}{{$map_tencent_libraries}}{{/if}}&v=1.exp&key={{:MyC('common_tencent_map_ak')}}"></script>
|
||||
{{/case}}
|
||||
{{case tianditu}}
|
||||
<script type="text/javascript" src="{{$my_http}}://api.tianditu.gov.cn/api?v=4.0&tk={{:MyC('common_tianditu_map_ak')}}"></script>
|
||||
{{/case}}
|
||||
{{/switch}}
|
||||
{{/if}}
|
||||
|
||||
<!-- 打印js -->
|
||||
{{if isset($is_load_hiprint) and $is_load_hiprint eq 1}}
|
||||
<script type="text/javascript" src="{{$public_host}}static/common/lib/hiprint/hiprint.bundle.js?v={{$static_cache_version}}"></script>
|
||||
<script type="text/javascript" src="{{$public_host}}static/common/lib/hiprint/polyfill.min.js?v={{$static_cache_version}}"></script>
|
||||
<script type="text/javascript" src="{{$public_host}}static/common/lib/hiprint/plugins/jquery.hiwprint.js?v={{$static_cache_version}}"></script>
|
||||
<script type="text/javascript" src="{{$public_host}}static/common/lib/hiprint/plugins/JsBarcode.all.min.js?v={{$static_cache_version}}"></script>
|
||||
<script type="text/javascript" src="{{$public_host}}static/common/lib/hiprint/plugins/qrcode.js?v={{$static_cache_version}}"></script>
|
||||
<script type="text/javascript" src="{{$public_host}}static/common/lib/hiprint/plugins/jquery.minicolors.min.js?v={{$static_cache_version}}"></script>
|
||||
<script type="text/javascript" src="{{$public_host}}static/common/lib/hiprint/plugins/jspdf/canvas2image.js?v={{$static_cache_version}}"></script>
|
||||
<script type="text/javascript" src="{{$public_host}}static/common/lib/hiprint/plugins/jspdf/canvg.min.js?v={{$static_cache_version}}"></script>
|
||||
<script type="text/javascript" src="{{$public_host}}static/common/lib/hiprint/plugins/jspdf/html2canvas.min.js?v={{$static_cache_version}}"></script>
|
||||
<script type="text/javascript" src="{{$public_host}}static/common/lib/hiprint/plugins/jspdf/jspdf.min.js?v={{$static_cache_version}}"></script>
|
||||
<script type="text/javascript" src="{{$public_host}}static/common/lib/hiprint/hiprint.config.js?v={{$static_cache_version}}"></script>
|
||||
{{/if}}
|
||||
|
||||
<!-- 调用摄像头扫码js -->
|
||||
{{if isset($is_load_video_scan) and $is_load_video_scan eq 1}}
|
||||
<script type="text/javascript" src="{{$public_host}}static/common/lib/ZXing/ZXing.min.js?v={{$static_cache_version}}"></script>
|
||||
{{/if}}
|
||||
|
||||
<!-- 代码编辑器js -->
|
||||
{{if isset($is_load_ace_builds) and $is_load_ace_builds eq 1}}
|
||||
<script type="text/javascript" src="{{$public_host}}static/common/lib/ace-builds/src-min/ace.js?v={{$static_cache_version}}"></script>
|
||||
{{/if}}
|
||||
|
||||
<!-- 范围滑条 -->
|
||||
{{if isset($is_load_jrange) and $is_load_jrange eq 1}}
|
||||
<script type="text/javascript" src="{{$public_host}}static/common/lib/jRange/jquery.range.js?v={{$static_cache_version}}"></script>
|
||||
{{/if}}
|
||||
|
||||
<!-- webuploader -->
|
||||
{{if isset($is_load_webuploader) and $is_load_webuploader eq 1}}
|
||||
<script type="text/javascript" src="{{$public_host}}static/common/lib/ueditor/third-party/webuploader/webuploader.min.js?v={{$static_cache_version}}"></script>
|
||||
{{/if}}
|
||||
|
||||
<!-- uniapp webview js -->
|
||||
{{if isset($is_load_uniapp_webview) and $is_load_uniapp_webview eq 1}}
|
||||
<script type="text/javascript">
|
||||
var user_agent = navigator.userAgent;
|
||||
if(user_agent.indexOf('AlipayClient') > -1)
|
||||
{
|
||||
// 支付宝小程序的 JS-SDK 防止 404 需要动态加载,如果不需要兼容支付宝小程序,则无需引用此 JS 文件。
|
||||
document.writeln('<script src="https://appx/web-view.min.js"' + '>' + '<' + '/' + 'script>');
|
||||
} else if(/QQ/i.test(user_agent) && /miniProgram/i.test(user_agent))
|
||||
{
|
||||
// QQ 小程序
|
||||
document.write('<script type="text/javascript" src="https://qqq.gtimg.cn/miniprogram/webview_jssdk/qqjssdk-1.0.0.js"><\/script>');
|
||||
} else if(/miniProgram/i.test(user_agent) && /micromessenger/i.test(user_agent))
|
||||
{
|
||||
// 微信小程序 JS-SDK 如果不需要兼容微信小程序,则无需引用此 JS 文件。
|
||||
document.write('<script type="text/javascript" src="https://res.wx.qq.com/open/js/jweixin-1.6.0.js"><\/script>');
|
||||
} else if(/toutiaomicroapp/i.test(user_agent))
|
||||
{
|
||||
// 头条小程序 JS-SDK 如果不需要兼容头条小程序,则无需引用此 JS 文件。
|
||||
document.write('<script type="text/javascript" src="https://s3.pstatp.com/toutiao/tmajssdk/jssdk-1.0.1.js"><\/script>');
|
||||
} else if(/swan/i.test(user_agent))
|
||||
{
|
||||
// 百度小程序 JS-SDK 如果不需要兼容百度小程序,则无需引用此 JS 文件。
|
||||
document.write('<script type="text/javascript" src="https://b.bdstatic.com/searchbox/icms/searchbox/js/swan-2.0.18.js"><\/script>');
|
||||
} else if(/quickapp/i.test(user_agent))
|
||||
{
|
||||
// 快手
|
||||
document.write('<script type="text/javascript" src="https://quickapp/jssdk.webview.min.js"><\/script>');
|
||||
}
|
||||
</script>
|
||||
<!-- uni 的 SDK -->
|
||||
<!-- 需要把 uni.webview.1.5.4.js 下载到自己的服务器 -->
|
||||
<script type="text/javascript" src="{{$public_host}}static/common/lib/uniapp/uniapp-webview-1.5.6.js?v={{$static_cache_version}}"></script>
|
||||
<script type="text/javascript">
|
||||
// 待触发 `UniAppJSBridgeReady` 事件后,即可调用 uni 的 API。
|
||||
document.addEventListener('UniAppJSBridgeReady', function()
|
||||
{
|
||||
$(function()
|
||||
{
|
||||
// 导航事件
|
||||
$(document).on('click', '.submit-mini-event', function()
|
||||
{
|
||||
var url = $(this).data('url');
|
||||
var action = $(this).data('action');
|
||||
switch(action)
|
||||
{
|
||||
case 'switchTab':
|
||||
uni.switchTab({url: url});
|
||||
break;
|
||||
case 'reLaunch':
|
||||
uni.reLaunch({url: url});
|
||||
break;
|
||||
case 'navigateBack':
|
||||
uni.navigateBack({delta: 1});
|
||||
break;
|
||||
default:
|
||||
uni[action]({url: url});
|
||||
break;
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
</script>
|
||||
{{/if}}
|
||||
|
||||
<!-- 隐藏编辑器初始化 -->
|
||||
<script type="text/javascript">
|
||||
var upload_editor = UE.getEditor("upload-editor-view", {
|
||||
isShow: false,
|
||||
focus: false,
|
||||
enableAutoSave: false,
|
||||
autoSyncData: false,
|
||||
autoFloatEnabled:false,
|
||||
wordCount: false,
|
||||
sourceEditor: null,
|
||||
scaleEnabled:true,
|
||||
toolbars: [["insertimage", "insertvideo", "attachment"]]
|
||||
});
|
||||
|
||||
// 跳转方法处理
|
||||
function CommonTransferBackHandle(url)
|
||||
{
|
||||
window.location.href = url;
|
||||
}
|
||||
|
||||
// 刷新方法处理
|
||||
function CommonReloadBackHandle()
|
||||
{
|
||||
window.location.reload();
|
||||
}
|
||||
|
||||
// 关闭弹窗
|
||||
function CommonPopupClose()
|
||||
{
|
||||
$('.am-popup').modal('close');
|
||||
$('.am-modal').modal('close');
|
||||
}
|
||||
|
||||
// 公共单个文件上传表单回调
|
||||
function CommonFormUploadEditorSingleBack(e)
|
||||
{
|
||||
CommonFormUploadEditorSingleBackHandle(e);
|
||||
}
|
||||
|
||||
// 子级调用购物车数量更新
|
||||
function IframePopupHomeCartNumberTotalUpdate(value, popup = null)
|
||||
{
|
||||
HomeCartNumberTotalUpdate(value);
|
||||
if((popup || null) != null)
|
||||
{
|
||||
$(popup).modal('close');
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<!-- 项目公共 -->
|
||||
<script type='text/javascript' src="{{$public_host}}static/common/js/common.js?v={{$static_cache_version}}"></script>
|
||||
<script type='text/javascript' src="{{$public_host}}static/common/js/forminput.js?v={{$static_cache_version}}"></script>
|
||||
{{if !empty($static_path_data['common_js'])}}
|
||||
<script type='text/javascript' src="{{$public_host}}static/{{$static_path_data.common_js}}?v={{$static_cache_version}}"></script>
|
||||
{{/if}}
|
||||
{{if !empty($static_path_data['theme_import_js']) and is_array($static_path_data['theme_import_js'])}}
|
||||
{{foreach $static_path_data.theme_import_js as $v}}
|
||||
<script type='text/javascript' src="{{$public_host}}static/{{$v}}?v={{$static_cache_version}}"></script>
|
||||
{{/foreach}}
|
||||
{{/if}}
|
||||
{{if !empty($static_path_data['module_js'])}}
|
||||
<script type='text/javascript' src="{{$public_host}}static/{{$static_path_data.module_js}}?v={{$static_cache_version}}"></script>
|
||||
{{/if}}
|
||||
{{if !empty($static_path_data['other_js'])}}
|
||||
<script type='text/javascript' src="{{$public_host}}static/{{$static_path_data.other_js}}?v={{$static_cache_version}}"></script>
|
||||
{{/if}}
|
||||
{{if isset($is_load_layout_admin) and $is_load_layout_admin eq 1}}
|
||||
<script type='text/javascript' src="{{$public_host}}static/common/js/layout.admin.js?v={{$static_cache_version}}"></script>
|
||||
{{/if}}
|
||||
|
||||
<!-- 应用插件公共js -->
|
||||
{{if !empty($static_path_data['plugins_js'])}}
|
||||
<script type='text/javascript' src="{{$public_host}}static/{{$static_path_data.plugins_js}}?v={{$static_cache_version}}"></script>
|
||||
{{/if}}
|
||||
|
||||
<!-- 当前控制器js -->
|
||||
{{if !empty($static_path_data['page_js'])}}
|
||||
<script type='text/javascript' src="{{$public_host}}static/{{$static_path_data.page_js}}?v={{$static_cache_version}}"></script>
|
||||
{{/if}}
|
||||
|
||||
<!-- 底部信息 -->
|
||||
{{if (!isset($page_pure) or $page_pure neq 1) and (!isset($is_footer) or $is_footer eq 1)}}
|
||||
{{:MyC('home_footer_info')}}
|
||||
{{/if}}
|
||||
|
||||
<!-- js钩子 -->
|
||||
{{if (!isset($page_pure) or $page_pure neq 1) and (!isset($is_footer) or $is_footer eq 1)}}
|
||||
{{if isset($shopxo_is_develop) and $shopxo_is_develop eq true}}
|
||||
<div class="plugins-tag">
|
||||
<span>plugins_js</span>
|
||||
</div>
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
{{if !empty($plugins_js_data) and is_array($plugins_js_data)}}
|
||||
{{foreach $plugins_js_data as $hook}}
|
||||
{{if !empty($hook) and is_string($hook)}}
|
||||
{{if substr($hook, 0, 4) eq 'http'}}
|
||||
<script type='text/javascript' src="{{$hook}}?v={{$static_cache_version}}"></script>
|
||||
{{else /}}
|
||||
<script type='text/javascript' src="{{$public_host}}{{$hook}}?v={{$static_cache_version}}"></script>
|
||||
{{/if}}
|
||||
{{elseif is_array($hook) /}}
|
||||
{{foreach $hook as $hook_js}}
|
||||
{{if !empty($hook_js) and is_string($hook_js)}}
|
||||
{{if substr($hook_js, 0, 4) eq 'http'}}
|
||||
<script type='text/javascript' src="{{$hook_js}}?v={{$static_cache_version}}"></script>
|
||||
{{else /}}
|
||||
<script type='text/javascript' src="{{$public_host}}{{$hook_js}}?v={{$static_cache_version}}"></script>
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
{{/foreach}}
|
||||
{{/if}}
|
||||
{{/foreach}}
|
||||
{{/if}}
|
||||
|
||||
<!-- 公共页面底部钩子 -->
|
||||
{{if isset($shopxo_is_develop) and $shopxo_is_develop eq true}}
|
||||
<div class="plugins-tag">
|
||||
<span>plugins_common_page_bottom</span>
|
||||
</div>
|
||||
{{/if}}
|
||||
{{if !empty($plugins_common_page_bottom_data) and is_array($plugins_common_page_bottom_data)}}
|
||||
{{foreach $plugins_common_page_bottom_data as $hook}}
|
||||
{{if is_string($hook) or is_int($hook)}}
|
||||
{{$hook|raw}}
|
||||
{{/if}}
|
||||
{{/foreach}}
|
||||
{{/if}}
|
||||
|
|
@ -0,0 +1,20 @@
|
|||
<div class="footer-filing-content theme-data-edit-event" data-module="site_filing">
|
||||
<p class="powered">
|
||||
{{:str_replace('version', APPLICATION_VERSION, $home_theme_footer_bottom_powered)}}
|
||||
</p>
|
||||
{{if !empty($site_filing_list) and is_array($site_filing_list)}}
|
||||
{{foreach $site_filing_list as $v}}
|
||||
{{if !empty($v['show_name'])}}
|
||||
<b>|</b>
|
||||
<p class="footer-icp">
|
||||
<a {{if empty($v['url'])}}href="javascript:;"{{else /}}href="{{$v.url}}" target="_blank"{{/if}}>
|
||||
{{if !empty($v['icon'])}}
|
||||
<img src="{{$v.icon}}" alt="{{$v.show_name}}" />
|
||||
{{/if}}
|
||||
{{$v.show_name}}
|
||||
</a>
|
||||
</p>
|
||||
{{/if}}
|
||||
{{/foreach}}
|
||||
{{/if}}
|
||||
</div>
|
||||
|
|
@ -0,0 +1,165 @@
|
|||
<!-- is footer hook -->
|
||||
{{if empty($module_data) or !isset($module_data['is_footer_hook']) or $module_data['is_footer_hook'] eq 1}}
|
||||
<!-- 底部导航上面钩子 -->
|
||||
{{if isset($shopxo_is_develop) and $shopxo_is_develop eq true}}
|
||||
<div class="plugins-tag">
|
||||
<span>plugins_view_common_footer_top</span>
|
||||
</div>
|
||||
{{/if}}
|
||||
{{if !empty($plugins_view_common_footer_top_data) and is_array($plugins_view_common_footer_top_data)}}
|
||||
{{foreach $plugins_view_common_footer_top_data as $hook}}
|
||||
{{if is_string($hook) or is_int($hook)}}
|
||||
{{$hook|raw}}
|
||||
{{/if}}
|
||||
{{/foreach}}
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
|
||||
<!-- 底部内容及页脚 -->
|
||||
{{if MyC('home_main_footer_content_status', 1) eq 1 and (!IsMobile() or (IsMobile() and MyC('common_is_mobile_concise_model') neq 1))}}
|
||||
<footer data-am-widget="footer" class="am-footer am-footer-default" data-am-footer="{}">
|
||||
{{if empty($module_data) or !isset($module_data['is_footer_nav_content']) or $module_data['is_footer_nav_content'] eq 1}}
|
||||
<div class="am-container footer-nav-content">
|
||||
<!-- 底部导航 -->
|
||||
{{if !empty($nav_footer)}}
|
||||
<ul data-am-widget="gallery" class="am-gallery am-avg-sm-2 am-avg-md-4 am-avg-lg-4 am-gallery-overlay am-no-layout am-u-md-8 am-u-lg-9 footer-nav-list theme-data-edit-event" data-module="navigation_footer" data-am-gallery="{}">
|
||||
{{foreach $nav_footer as $k=>$v}}
|
||||
{{if $k lt 4}}
|
||||
<li>
|
||||
<div class="am-gallery-item">
|
||||
<p class="footer-nav-title am-text-truncate">{{$v.name}}</p>
|
||||
{{if !empty($v['items'])}}
|
||||
{{foreach $v.items as $vs}}
|
||||
<p class="am-text-truncate">
|
||||
<a href="{{$vs.url}}" {{if $vs['is_new_window_open'] eq 1}}target="_blank"{{/if}}>{{$vs.name}}</a>
|
||||
</p>
|
||||
{{/foreach}}
|
||||
{{/if}}
|
||||
</div>
|
||||
</li>
|
||||
{{/if}}
|
||||
{{/foreach}}
|
||||
</ul>
|
||||
{{/if}}
|
||||
|
||||
<!-- 商店信息 -->
|
||||
{{if !empty($site_info_data) and is_array($site_info_data)}}
|
||||
<ul class="footer-about am-u-md-4 am-u-lg-3 theme-data-edit-event" data-module="store_config">
|
||||
<!-- 客服信息 -->
|
||||
{{if !empty($site_info_data['chat']['data']['text']) and is_array($site_info_data['chat']['data']['text'])}}
|
||||
{{foreach $site_info_data.chat.data.text as $v}}
|
||||
{{if !empty($v['value']) and !empty($v['key'])}}
|
||||
<li class="am-text-left">
|
||||
<i class="iconfont {{$v.icon}} am-vertical-align-middle"></i>
|
||||
{{switch $v.key}}
|
||||
{{case tel}}
|
||||
<a href="tel:{{$v.value}}" class="am-vertical-align-middle">{{$v.value}}</a>
|
||||
{{/case}}
|
||||
{{case email}}
|
||||
<a href="mailto:{{$v.value}}" class="am-vertical-align-middle">{{$v.value}}</a>
|
||||
{{/case}}
|
||||
{{case qq}}
|
||||
<a href="https://wpa.qq.com/msgrd?v=3&uin={{$v.value}}&site=qq&menu=yes" target="_blank" class="am-vertical-align-middle">{{$v.value}}</a>
|
||||
{{/case}}
|
||||
{{case url}}
|
||||
<a href="{{$v.value}}" target="_blank" class="am-vertical-align-middle">{{$v.name}}</a>
|
||||
{{/case}}
|
||||
{{default /}}
|
||||
<span class="am-vertical-align-middle">{{$v.value}}</span>
|
||||
{{/switch}}
|
||||
</li>
|
||||
{{/if}}
|
||||
{{/foreach}}
|
||||
{{/if}}
|
||||
|
||||
<!-- 基础信息 -->
|
||||
{{if !empty($site_info_data['base']['data']['text']) and is_array($site_info_data['base']['data']['text'])}}
|
||||
{{foreach $site_info_data.base.data.text as $v}}
|
||||
{{if !empty($v['value']) and !empty($v['key'])}}
|
||||
<li class="am-text-left">
|
||||
<i class="iconfont {{$v.icon}} am-vertical-align-middle"></i>
|
||||
<span class="am-vertical-align-middle">{{$v.value}}</span>
|
||||
</li>
|
||||
{{/if}}
|
||||
{{/foreach}}
|
||||
{{/if}}
|
||||
|
||||
<!-- 图片信息 -->
|
||||
{{if (!empty($site_info_data['chat']['data']['images']) and is_array($site_info_data['chat']['data']['images'])) or (!empty($site_info_data['base']['data']['images']) and is_array($site_info_data['base']['data']['images'])) or (!empty($site_info_data['client']['data']['images']) and is_array($site_info_data['client']['data']['images']))}}
|
||||
<li class="am-padding-right-0">
|
||||
<ul class=" am-avg-sm-3 am-avg-md-3 am-text-center am-margin-top-xs am-margin-bottom-0">
|
||||
<!-- 客服图片 -->
|
||||
{{if !empty($site_info_data['chat']['data']['images']) and is_array($site_info_data['chat']['data']['images'])}}
|
||||
{{foreach $site_info_data.chat.data.images as $v}}
|
||||
{{if !empty($v['value']) and !empty($v['name'])}}
|
||||
<li class="am-padding-bottom-xs am-padding-right-sm">
|
||||
<img src="{{$v.value}}" class="am-radius am-max-wh-auto common-annex-view-event" data-title="{{$v.name}}" alt="{{$v.name}}" />
|
||||
<p class="am-text-xs">{{$v.name}}</p>
|
||||
</li>
|
||||
{{/if}}
|
||||
{{/foreach}}
|
||||
{{/if}}
|
||||
<!-- 基础图片 -->
|
||||
{{if !empty($site_info_data['base']['data']['images']) and is_array($site_info_data['base']['data']['images'])}}
|
||||
{{foreach $site_info_data.base.data.images as $v}}
|
||||
{{if !empty($v['value']) and !empty($v['name'])}}
|
||||
<li class="am-padding-bottom-xs am-padding-right-sm">
|
||||
<img src="{{$v.value}}" class="am-radius am-max-wh-auto common-annex-view-event" data-title="{{$v.name}}" alt="{{$v.name}}" />
|
||||
<p class="am-text-xs">{{$v.name}}</p>
|
||||
</li>
|
||||
{{/if}}
|
||||
{{/foreach}}
|
||||
{{/if}}
|
||||
<!-- 平台客户端图片 -->
|
||||
{{if !empty($site_info_data['client']['data']['images']) and is_array($site_info_data['client']['data']['images'])}}
|
||||
{{foreach $site_info_data.client.data.images as $v}}
|
||||
{{if !empty($v['value']) and !empty($v['name'])}}
|
||||
<li class="am-padding-bottom-xs am-padding-right-sm">
|
||||
<img src="{{$v.value}}" class="am-radius am-max-wh-auto common-annex-view-event" data-title="{{$v.name}}" alt="{{$v.name}}" />
|
||||
<p class="am-text-xs">{{$v.name}}</p>
|
||||
</li>
|
||||
{{/if}}
|
||||
{{/foreach}}
|
||||
{{/if}}
|
||||
</ul>
|
||||
</li>
|
||||
{{/if}}
|
||||
</ul>
|
||||
{{/if}}
|
||||
</div>
|
||||
|
||||
<!-- 页脚 -->
|
||||
<div class="am-footer-miscs">
|
||||
<div class="am-container">
|
||||
<!-- 友情链接 -->
|
||||
{{if !empty($link_list)}}
|
||||
<div class="friendship-list theme-data-edit-event" data-module="link_list">
|
||||
<ul class="am-cf am-margin-bottom-sm">
|
||||
<li class="am-fl am-text-center title">友情链接</li>
|
||||
{{foreach $link_list as $v}}
|
||||
<li class="am-fl am-text-center">
|
||||
<a href="{{$v.url}}" {{if $v['is_new_window_open'] eq 1}} target="_blank"{{/if}}>{{$v.name}}</a>
|
||||
</li>
|
||||
{{/foreach}}
|
||||
</ul>
|
||||
</div>
|
||||
{{/if}}
|
||||
|
||||
<!-- 页脚信息 -->
|
||||
{{:ModuleInclude('public/footer_filing')}}
|
||||
</div>
|
||||
</div>
|
||||
{{else /}}
|
||||
<div class="am-footer-miscs">
|
||||
{{:ModuleInclude('public/footer_filing')}}
|
||||
</div>
|
||||
{{/if}}
|
||||
</footer>
|
||||
{{else /}}
|
||||
<!-- 页脚 -->
|
||||
<footer class="am-footer am-footer am-footer-default footer-base-content">
|
||||
<div class="am-footer-miscs">
|
||||
{{:ModuleInclude('public/footer_filing')}}
|
||||
</div>
|
||||
</footer>
|
||||
{{/if}}
|
||||
|
|
@ -0,0 +1,89 @@
|
|||
<!-- 商品分类 -->
|
||||
<div id="goods-category" class="am-container am-hide-sm-only am-hide-md-only" data-controller-name="{{$controller_name}}">
|
||||
<div class="goods-category-s">
|
||||
{{if MyC('home_main_header_status', 1) eq 1}}
|
||||
<a href="{{:MyUrl('index/category/index')}}">
|
||||
<div class="goods-category-title">
|
||||
<span class="all-goods">{{:MyLang('common.all_category_text')}}</span>
|
||||
</div>
|
||||
</a>
|
||||
{{/if}}
|
||||
<div class="category-content theme-data-edit-event" data-module="goods_category" {{if (isset($common_goods_category_hidden) and $common_goods_category_hidden eq 1)}}style="display:none;"{{/if}}>
|
||||
<div class="category">
|
||||
<ul class="category-list category-row-{{if !empty($goods_category_list) and is_array($goods_category_list)}}{{:count($goods_category_list)}}{{/if}}">
|
||||
{{if !empty($goods_category_list) and is_array($goods_category_list)}}
|
||||
{{foreach $goods_category_list as $k=>$v}}
|
||||
<li class="first" data-index="{{$k}}">
|
||||
{{if $category_show_level neq 1}}
|
||||
<img class="category-fillet-top am-hide" src="{{:StaticAttachmentUrl('corner_round_top.png')}}" />
|
||||
<img class="category-fillet-bottom am-hide" src="{{:StaticAttachmentUrl('corner_round_bottom.png')}}" />
|
||||
{{/if}}
|
||||
<a href="{{:MyUrl('index/search/index', ['cid'=>$v['id']])}}" class="am-block">
|
||||
<div class="category-info">
|
||||
<h3 class="category-name b-category-name am-text-truncate">
|
||||
{{if !empty($v['icon'])}}
|
||||
<img class="category-menu-img" src="{{$v.icon}}" />
|
||||
<img class="category-menu-img-active" src="{{if empty($v.icon_active)}}{{$v.icon}}{{else/}}{{$v.icon_active}}{{/if}}" />
|
||||
{{/if}}
|
||||
<span class="bd-name">{{$v.name}}</span>
|
||||
</h3>
|
||||
<i class="iconfont icon-angle-right"></i>
|
||||
</div>
|
||||
</a>
|
||||
{{if $category_show_level neq 1}}
|
||||
<div class="menu-item menu-in top">
|
||||
{{if !empty($v['items'])}}
|
||||
<div class="area-in">
|
||||
<div class="area-bg">
|
||||
<div class="menu-srot">
|
||||
<div class="sort-side {{if $category_show_level eq 2}}am-flex-row{{elseif in_array($category_show_level, [0,3])}}am-flex-col{{/if}}">
|
||||
{{foreach $v.items as $vs}}
|
||||
{{if $category_show_level eq 2}}
|
||||
<dl class="dl-sort {{if $category_show_level eq 2}}dl-sort-two{{/if}}">
|
||||
<dd >
|
||||
<a href="{{:MyUrl('index/search/index', ['cid'=>$vs['id']])}}">
|
||||
{{if !empty($vs['icon'])}}
|
||||
<img src="{{$vs.icon}}" width="50" />
|
||||
{{/if}}
|
||||
<span>{{$vs.name}}</span>
|
||||
</a>
|
||||
</dd>
|
||||
</dl>
|
||||
{{elseif in_array($category_show_level, [0,3])}}
|
||||
<div class="category-show-level3">
|
||||
<div class="category-show-level3-title">
|
||||
<a href="{{:MyUrl('index/search/index', ['cid'=>$vs['id']])}}">
|
||||
<span>{{$vs.name}}</span>
|
||||
</a>
|
||||
</div>
|
||||
{{if !empty($vs['items'])}}
|
||||
<div class="category-show-level3-child">
|
||||
{{foreach $vs.items as $vss}}
|
||||
<div>
|
||||
<a href="{{:MyUrl('index/search/index', ['cid'=>$vss['id']])}}">
|
||||
<span>{{$vss.name}}</span>
|
||||
</a>
|
||||
</div>
|
||||
{{/foreach}}
|
||||
</div>
|
||||
{{/if}}
|
||||
</div>
|
||||
{{/if}}
|
||||
{{/foreach}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{{else /}}
|
||||
{{:ModuleInclude('public/not_data')}}
|
||||
{{/if}}
|
||||
</div>
|
||||
{{/if}}
|
||||
</li>
|
||||
{{/foreach}}
|
||||
{{/if}}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -0,0 +1,265 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="{{:MyConfig('shopxo.default_charset', 'utf-8')}}" />
|
||||
<title>{{$home_seo_site_title}}</title>
|
||||
<meta name="keywords" content="{{$home_seo_site_keywords}}" />
|
||||
<meta name="description" content="{{$home_seo_site_description}}" />
|
||||
<meta name="generator" content="{{$my_url}}" />
|
||||
<meta name="application-name" content="{{$home_seo_site_title}}" />
|
||||
<meta name="msapplication-tooltip" content="{{$home_seo_site_title}}" />
|
||||
<meta name="msapplication-starturl" content="{{$my_url}}" />
|
||||
<link rel="shortcut icon" type="image/x-icon" href="{{$public_host}}favicon.ico" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1, maximum-scale=1">
|
||||
<meta name="apple-mobile-web-app-capable" content="yes">
|
||||
<meta name="apple-mobile-web-app-title" content="{{$home_site_name}}">
|
||||
<link rel="apple-touch-icon" href="{{$home_site_logo_square}}">
|
||||
<link rel="apple-touch-icon-precomposed" href="{{$home_site_logo_square}}">
|
||||
<link rel="stylesheet" type="text/css" href="{{$public_host}}static/common/iconfont/iconfont.css?v={{$static_cache_version}}" />
|
||||
<link rel="stylesheet" type="text/css" href="{{$public_host}}static/common/lib/assets/css/amazeui.css?v={{$static_cache_version}}" />
|
||||
<link rel="stylesheet" type="text/css" href="{{$public_host}}static/common/lib/amazeui-switch/amazeui.switch.css?v={{$static_cache_version}}" />
|
||||
<link rel="stylesheet" type="text/css" href="{{$public_host}}static/common/lib/amazeui-chosen/amazeui.chosen.css?v={{$static_cache_version}}" />
|
||||
<link rel="stylesheet" type="text/css" href="{{$public_host}}static/common/lib/cropper/cropper.min.css?v={{$static_cache_version}}" />
|
||||
<link rel="stylesheet" type="text/css" href="{{$public_host}}static/common/lib/amazeui-tagsinput/amazeui.tagsinput.css?v={{$static_cache_version}}" />
|
||||
|
||||
<!-- 轮播插件 -->
|
||||
<link rel="stylesheet" type="text/css" href="{{$public_host}}static/common/lib/swiper/swiper.min.css?v={{$static_cache_version}}" />
|
||||
<link rel="stylesheet" type="text/css" href="{{$public_host}}static/common/lib/swiper/swiper-bundle.min.css?v={{$static_cache_version}}" />
|
||||
|
||||
<!-- highlight代码高亮 -->
|
||||
<link rel="stylesheet" href="{{$public_host}}static/common/lib/highlight/monokai_sublime.min.css?v={{$static_cache_version}}" />
|
||||
|
||||
<!-- wangEditor -->
|
||||
<link rel="stylesheet" href="{{$public_host}}static/common/lib/wangeditor/wangeditor-5.1.23.css?v={{$static_cache_version}}" />
|
||||
|
||||
<!-- 公共css -->
|
||||
<link rel="stylesheet" type="text/css" href="{{$public_host}}static/common/css/common.css?v={{$static_cache_version}}" />
|
||||
<link rel="stylesheet" type="text/css" href="{{$public_host}}static/common/css/forminput.css?v={{$static_cache_version}}" />
|
||||
|
||||
<!-- 模块公共css -->
|
||||
{{if !empty($static_path_data['common_css'])}}
|
||||
<link rel="stylesheet" type="text/css" href="{{$public_host}}static/{{$static_path_data.common_css}}?v={{$static_cache_version}}" />
|
||||
{{/if}}
|
||||
{{if !empty($static_path_data['theme_import_css']) and is_array($static_path_data['theme_import_css'])}}
|
||||
{{foreach $static_path_data.theme_import_css as $v}}
|
||||
<link rel="stylesheet" type="text/css" href="{{$public_host}}static/{{$v}}?v={{$static_cache_version}}" />
|
||||
{{/foreach}}
|
||||
{{/if}}
|
||||
{{if !empty($static_path_data['module_css'])}}
|
||||
<link rel="stylesheet" type="text/css" href="{{$public_host}}static/{{$static_path_data.module_css}}?v={{$static_cache_version}}" />
|
||||
{{/if}}
|
||||
{{if !empty($static_path_data['other_css'])}}
|
||||
<link rel="stylesheet" type="text/css" href="{{$public_host}}static/{{$static_path_data.other_css}}?v={{$static_cache_version}}" />
|
||||
{{/if}}
|
||||
|
||||
<!-- ckplayer播放器 -->
|
||||
{{if isset($is_load_ckplayer) and $is_load_ckplayer eq 1}}
|
||||
<link rel="stylesheet" type="text/css" href="{{$public_host}}static/common/lib/ckplayer/css/ckplayer.css?v={{$static_cache_version}}" />
|
||||
{{/if}}
|
||||
|
||||
<!-- 打印css -->
|
||||
{{if isset($is_load_hiprint) and $is_load_hiprint eq 1}}
|
||||
<link rel="stylesheet" type="text/css" href="{{$public_host}}static/common/lib/hiprint/css/hiprint.css" />
|
||||
<link rel="stylesheet" type="text/css" href="{{$public_host}}static/common/lib/hiprint/css/print-lock.css" />
|
||||
{{/if}}
|
||||
|
||||
<!-- 范围滑条 -->
|
||||
{{if isset($is_load_jrange) and $is_load_jrange eq 1}}
|
||||
<link rel="stylesheet" type="text/css" href="{{$public_host}}static/common/lib/jRange/jquery.range.css?v={{$static_cache_version}}" />
|
||||
{{/if}}
|
||||
|
||||
<!-- webuploader -->
|
||||
{{if isset($is_load_webuploader) and $is_load_webuploader eq 1}}
|
||||
<link rel="stylesheet" type="text/css" href="{{$public_host}}static/common/lib/ueditor/third-party/webuploader/webuploader.css?v={{$static_cache_version}}" />
|
||||
{{/if}}
|
||||
|
||||
<!-- 插件 -->
|
||||
{{if !empty($static_path_data['plugins_css'])}}
|
||||
<link rel="stylesheet" type="text/css" href="{{$public_host}}static/{{$static_path_data.plugins_css}}?v={{$static_cache_version}}" />
|
||||
{{/if}}
|
||||
|
||||
<!-- 可视化拖拽 -->
|
||||
{{if isset($is_load_layout) and $is_load_layout eq 1}}
|
||||
<link rel="stylesheet" type="text/css" href="{{$public_host}}static/common/css/layout.css?v={{$static_cache_version}}" />
|
||||
{{/if}}
|
||||
{{if isset($is_load_layout_admin) and $is_load_layout_admin eq 1}}
|
||||
<link rel="stylesheet" type="text/css" href="{{$public_host}}static/common/css/layout.admin.css?v={{$static_cache_version}}" />
|
||||
{{/if}}
|
||||
<!-- 页面样式 -->
|
||||
{{if !empty($static_path_data['page_css'])}}
|
||||
<link rel="stylesheet" type="text/css" href="{{$public_host}}static/{{$static_path_data.page_css}}?v={{$static_cache_version}}" />
|
||||
{{/if}}
|
||||
|
||||
<!-- css钩子 -->
|
||||
{{if !empty($plugins_css_data) and is_array($plugins_css_data)}}
|
||||
{{foreach $plugins_css_data as $hook}}
|
||||
{{if !empty($hook) and is_string($hook)}}
|
||||
{{if substr($hook, 0, 4) eq 'http'}}
|
||||
<link rel="stylesheet" type="text/css" href="{{$hook}}?v={{$static_cache_version}}" />
|
||||
{{else /}}
|
||||
<link rel="stylesheet" type="text/css" href="{{$public_host}}{{$hook}}?v={{$static_cache_version}}" />
|
||||
{{/if}}
|
||||
{{elseif is_array($hook) /}}
|
||||
{{foreach $hook as $hook_css}}
|
||||
{{if !empty($hook_css) and is_string($hook_css)}}
|
||||
{{if substr($hook_css, 0, 4) eq 'http'}}
|
||||
<link rel="stylesheet" type="text/css" href="{{$hook_css}}?v={{$static_cache_version}}" />
|
||||
{{else /}}
|
||||
<link rel="stylesheet" type="text/css" href="{{$public_host}}{{$hook_css}}?v={{$static_cache_version}}" />
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
{{/foreach}}
|
||||
{{/if}}
|
||||
{{/foreach}}
|
||||
{{/if}}
|
||||
|
||||
<!-- 公共header内钩子 -->
|
||||
{{if !empty($plugins_common_header_data) and is_array($plugins_common_header_data)}}
|
||||
{{foreach $plugins_common_header_data as $hook}}
|
||||
{{if is_string($hook) or is_int($hook)}}
|
||||
{{$hook|raw}}
|
||||
{{/if}}
|
||||
{{/foreach}}
|
||||
{{/if}}
|
||||
|
||||
<!-- 主题配色 -->
|
||||
<style type="text/css">
|
||||
:root {
|
||||
{{if !empty($theme_style_data) and is_array($theme_style_data)}}
|
||||
{{foreach $theme_style_data as $k=>$v}}
|
||||
--{{:str_replace('_', '-', $k);}}: {{$v}}{{if $k eq 'html_body_size'}}px{{elseif in_array($k, ['border_radius', 'border_radius_sm', 'border_radius_lg'])}}rem{{/if}};
|
||||
{{/foreach}}
|
||||
{{else /}}
|
||||
{{:ModuleInclude('public/header_style_root')}}
|
||||
{{/if}}
|
||||
}
|
||||
/* 公共header内js钩子 */
|
||||
{{if !empty($plugins_common_header_css_data) and is_array($plugins_common_header_css_data)}}
|
||||
{{foreach $plugins_common_header_css_data as $hook}}
|
||||
{{if is_string($hook) or is_int($hook)}}
|
||||
{{$hook|raw}}
|
||||
{{/if}}
|
||||
{{/foreach}}
|
||||
{{/if}}
|
||||
</style>
|
||||
<script type="text/javascript">
|
||||
// 基础配置
|
||||
var __system_type__ = '{{$system_type}}';
|
||||
var __root__ = '{{$public_host}}';
|
||||
var __my_http__ = '{{$my_http}}';
|
||||
var __my_host__ = '{{$my_host}}';
|
||||
var __my_url__ = '{{$my_url}}';
|
||||
var __my_view_url__ = '{{$my_view_url}}';
|
||||
var __my_public_url__ = '{{$my_public_url}}';
|
||||
var __public__ = '{{$public_host}}';
|
||||
var __default_theme__ = '{{$default_theme}}';
|
||||
var __modal_login_url__ = '{{:MyUrl("index/user/modallogininfo")}}';
|
||||
var __attachment_host__ = '{{$attachment_host}}';
|
||||
var __seo_url_suffix__ = '{{:MyC("home_seo_url_html_suffix", "html", true)}}';
|
||||
var __user_id__ = {{if empty($user['id'])}}0{{else /}}{{$user.id}}{{/if}};
|
||||
var __currency_symbol__ = '{{$currency_symbol}}';
|
||||
var __is_mobile__ = '{{if IsMobile()}}1{{else}}0{{/if}}';
|
||||
var __env_max_input_vars_count__ = '{{$env_max_input_vars_count}}';
|
||||
var __map_view_url__ = '{{:MyUrl("index/map/index")}}';
|
||||
var __load_map_type__ = '{{$load_map_type}}';
|
||||
var __user_login_info_url__ = '{{:MyUrl("index/user/logininfo")}}';
|
||||
var __user_register_info_url__ = '{{:MyUrl("index/user/reginfo")}}';
|
||||
var __user_forget_info_url__ = '{{:MyUrl("index/user/forgetpwdinfo")}}';
|
||||
var __goods_spec_type_url__ = '{{:MyUrl("index/goods/spectype")}}';
|
||||
var __goods_spec_detail_url__ = '{{:MyUrl("index/goods/specdetail")}}';
|
||||
var __goods_stock_url__ = '{{:MyUrl("index/goods/stock")}}';
|
||||
var __goods_cart_save_url__ = '{{:MyUrl("index/cart/save")}}';
|
||||
var __goods_cart_info_url__ = '{{:MyUrl("index/goods/cartinfo")}}';
|
||||
var __goods_favor_url__ = '{{:MyUrl("index/goods/favor")}}';
|
||||
{{if !empty($theme_data_admin_data) and isset($theme_data_admin_data['status']) and $theme_data_admin_data['status'] eq 1 and !empty($theme_data_admin_data['admin_url_data']) and is_array($theme_data_admin_data['admin_url_data'])}}
|
||||
{{foreach $theme_data_admin_data.admin_url_data as $k=>$v}}
|
||||
var __theme_data_admin_{{$k}}_url__ = '{{$v}}';
|
||||
{{/foreach}}
|
||||
{{/if}}
|
||||
// 语言定义(用于js调用、模板引擎直接使用$lang_data.xxx获取对应语言即可)
|
||||
{{if !empty($lang_data)}}
|
||||
{{foreach $lang_data as $k=>$v}}
|
||||
{{if !empty($k) and isset($v) and !is_array($v)}}
|
||||
var lang_{{$k}} = '{{$v}}';
|
||||
{{/if}}
|
||||
{{/foreach}}
|
||||
{{/if}}
|
||||
// 公共header内js钩子
|
||||
{{if !empty($plugins_common_header_javascript_data) and is_array($plugins_common_header_javascript_data)}}
|
||||
{{foreach $plugins_common_header_javascript_data as $v}}
|
||||
{{if is_array($v)}}
|
||||
{{if isset($v['var']) and isset($v['value'])}}
|
||||
{{if is_string($v['value']) or is_int($v['value'])}}
|
||||
var plugins_{{$v.var}} = '{{$v.value}}';
|
||||
{{/if}}
|
||||
{{else /}}
|
||||
{{foreach $v as $vs}}
|
||||
{{if isset($vs['var']) and isset($vs['value']) and (is_string($vs['value']) or is_int($vs['value']))}}
|
||||
var plugins_{{$vs.var}} = '{{$vs.value}}';
|
||||
{{/if}}
|
||||
{{/foreach}}
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
{{/foreach}}
|
||||
{{/if}}
|
||||
</script>
|
||||
</head>
|
||||
<body class="{{$page_unique_mark}} {{if in_array(MiniAppEnv(), MyConfig('shopxo.mini_app_type_list'))}} mini-app-env{{/if}}">
|
||||
<div class="body-content-container">
|
||||
<div class="body-content-formal-container">
|
||||
<!-- 页面加载层 -->
|
||||
{{if isset($is_page_loading) and $is_page_loading eq 1}}
|
||||
{{:ModuleInclude('public/page_loading')}}
|
||||
{{/if}}
|
||||
|
||||
<!-- css钩子 -->
|
||||
{{if (!isset($page_pure) or $page_pure neq 1) and (!isset($is_header) or $is_header eq 1)}}
|
||||
{{if isset($shopxo_is_develop) and $shopxo_is_develop eq true}}
|
||||
<div class="plugins-tag">
|
||||
<span>plugins_css</span>
|
||||
</div>
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
|
||||
<!-- 公共header内钩子 -->
|
||||
{{if (!isset($page_pure) or $page_pure neq 1) and (!isset($is_header) or $is_header eq 1)}}
|
||||
{{if isset($shopxo_is_develop) and $shopxo_is_develop eq true}}
|
||||
<div class="plugins-tag">
|
||||
<span>plugins_common_header</span>
|
||||
</div>
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
|
||||
{{if empty($module_data) or !isset($module_data['is_header_hook']) or $module_data['is_header_hook'] eq 1}}
|
||||
<!-- 公共顶部钩子 -->
|
||||
{{if !isset($page_pure) or $page_pure neq 1}}
|
||||
{{if isset($shopxo_is_develop) and $shopxo_is_develop eq true}}
|
||||
<div class="plugins-tag">
|
||||
<span>plugins_view_common_top</span>
|
||||
</div>
|
||||
{{/if}}
|
||||
{{if !empty($plugins_view_common_top_data) and is_array($plugins_view_common_top_data)}}
|
||||
{{foreach $plugins_view_common_top_data as $hook}}
|
||||
{{if is_string($hook) or is_int($hook)}}
|
||||
{{$hook|raw}}
|
||||
{{/if}}
|
||||
{{/foreach}}
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
|
||||
<!-- header公共顶部钩子 -->
|
||||
{{if !isset($is_header) or $is_header eq 1}}
|
||||
{{if isset($shopxo_is_develop) and $shopxo_is_develop eq true}}
|
||||
<div class="plugins-tag">
|
||||
<span>plugins_view_common_top_header</span>
|
||||
</div>
|
||||
{{/if}}
|
||||
{{if !empty($plugins_view_common_top_header_data) and is_array($plugins_view_common_top_header_data)}}
|
||||
{{foreach $plugins_view_common_top_header_data as $hook}}
|
||||
{{if is_string($hook) or is_int($hook)}}
|
||||
{{$hook|raw}}
|
||||
{{/if}}
|
||||
{{/foreach}}
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
|
|
@ -0,0 +1,139 @@
|
|||
{{if MyC('home_main_header_status', 1) eq 1}}
|
||||
<header class="am-topbar shop-navigation">
|
||||
<div class="am-container">
|
||||
<!-- 中间导航左侧 -->
|
||||
{{if isset($shopxo_is_develop) and $shopxo_is_develop eq true}}
|
||||
<div class="plugins-tag">
|
||||
<span>plugins_view_common_header_nav_left</span>
|
||||
</div>
|
||||
{{/if}}
|
||||
{{if !empty($plugins_view_common_header_nav_left_data) and is_array($plugins_view_common_header_nav_left_data)}}
|
||||
{{foreach $plugins_view_common_header_nav_left_data as $hook}}
|
||||
{{if is_string($hook) or is_int($hook)}}
|
||||
{{$hook|raw}}
|
||||
{{/if}}
|
||||
{{/foreach}}
|
||||
{{/if}}
|
||||
|
||||
<!-- 手机端导航伸展按钮 -->
|
||||
<button class="am-topbar-btn am-topbar-toggle am-btn am-btn-sm am-btn-default am-show-sm-only switch-submit" data-am-collapse="{target: '#doc-topbar-collapse'}">
|
||||
<span class="iconfont icon-more-phone"></span>
|
||||
</button>
|
||||
|
||||
<!-- 全部分类 -->
|
||||
<a href="{{:MyUrl('index/category/index')}}" class="am-show-md-only">
|
||||
<div class="goods-category-title am-hide-sm-only">
|
||||
<span class="all-goods">{{:MyLang('common.all_category_text')}}</span>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<!-- 手机端搜索 -->
|
||||
<form class="am-topbar-form am-topbar-left am-form-inline am-show-sm-only navigation-search" role="search" action="{{:MyUrl('index/search/index')}}" method="POST">
|
||||
<div class="am-input-group am-input-group-sm">
|
||||
<input type="text" name="wd" class="am-form-field" placeholder="{{:MyLang('common.search_input_placeholder')}}" value="{{if !empty($params['wd'])}}{{$params.wd}}{{/if}}" autocomplete="off" data-is-clearout="0" />
|
||||
<span class="am-input-group-btn">
|
||||
<button class="am-btn am-btn-default" type="submit">
|
||||
<span class="am-icon-search am-icon-xs"></span>
|
||||
</button>
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<!-- 中间导航搜索内部 -->
|
||||
{{if isset($shopxo_is_develop) and $shopxo_is_develop eq true}}
|
||||
<div class="plugins-tag">
|
||||
<span>plugins_view_common_header_nav_search_inside</span>
|
||||
</div>
|
||||
{{/if}}
|
||||
{{if !empty($plugins_view_common_header_nav_search_inside_data) and is_array($plugins_view_common_header_nav_search_inside_data)}}
|
||||
{{foreach $plugins_view_common_header_nav_search_inside_data as $hook}}
|
||||
{{if is_string($hook) or is_int($hook)}}
|
||||
{{$hook|raw}}
|
||||
{{/if}}
|
||||
{{/foreach}}
|
||||
{{/if}}
|
||||
</form>
|
||||
|
||||
<div class="am-collapse am-topbar-collapse" id="doc-topbar-collapse">
|
||||
<!-- 中间导航内容内部顶部 -->
|
||||
{{if isset($shopxo_is_develop) and $shopxo_is_develop eq true}}
|
||||
<div class="plugins-tag">
|
||||
<span>plugins_view_common_header_nav_content_inside_top</span>
|
||||
</div>
|
||||
{{/if}}
|
||||
{{if !empty($plugins_view_common_header_nav_content_inside_top_data) and is_array($plugins_view_common_header_nav_content_inside_top_data)}}
|
||||
{{foreach $plugins_view_common_header_nav_content_inside_top_data as $hook}}
|
||||
{{if is_string($hook) or is_int($hook)}}
|
||||
{{$hook|raw}}
|
||||
{{/if}}
|
||||
{{/foreach}}
|
||||
{{/if}}
|
||||
|
||||
{{if empty($user)}}
|
||||
<!-- 未登录操作栏 -->
|
||||
<div class="navigation-button am-show-sm-only">
|
||||
{{if !empty($home_user_login_type)}}
|
||||
<a href="{{:MyUrl('index/user/logininfo')}}" class="am-btn am-btn-primary am-topbar-btn am-btn-sm">{{:MyLang('common.login_title')}}</a>
|
||||
{{/if}}
|
||||
{{if !empty($home_user_reg_type)}}
|
||||
<a href="{{:MyUrl('index/user/reginfo')}}" class="am-btn am-btn-warning am-topbar-btn am-btn-sm">{{:MyLang('common.register_title')}}</a>
|
||||
{{/if}}
|
||||
</div>
|
||||
{{/if}}
|
||||
|
||||
<!-- 主导航 -->
|
||||
{{if !empty($nav_header)}}
|
||||
<ul class="am-nav am-nav-pills am-topbar-nav theme-data-edit-event" data-module="navigation_header">
|
||||
{{foreach $nav_header as $nav}}
|
||||
{{if empty($nav['items'])}}
|
||||
<li>
|
||||
<a href="{{$nav.url}}" {{if $nav['is_new_window_open'] eq 1}}target="_blank"{{/if}} {{if isset($nav['active']) and $nav['active'] eq 1}}class="active"{{/if}}>{{$nav.name}}</a>
|
||||
</li>
|
||||
{{else /}}
|
||||
<li class="am-dropdown" data-am-dropdown>
|
||||
<a class="am-dropdown-toggle {{if isset($nav['active']) and $nav['active'] eq 1}}active{{/if}}" data-am-dropdown-toggle href="javascript:;">
|
||||
{{$nav.name}} <span class="am-icon-caret-down"></span>
|
||||
</a>
|
||||
<ul class="am-dropdown-content am-radius">
|
||||
{{foreach $nav.items as $navs}}
|
||||
<li>
|
||||
<a href="{{$navs.url}}" {{if isset($navs['active']) and $navs['active'] eq 1}}class="active"{{/if}}>{{$navs.name}}</a>
|
||||
</li>
|
||||
{{/foreach}}
|
||||
</ul>
|
||||
</li>
|
||||
{{/if}}
|
||||
{{/foreach}}
|
||||
</ul>
|
||||
{{/if}}
|
||||
|
||||
<!-- 中间导航内容内部底部 -->
|
||||
{{if isset($shopxo_is_develop) and $shopxo_is_develop eq true}}
|
||||
<div class="plugins-tag">
|
||||
<span>plugins_view_common_header_nav_content_inside_bottom</span>
|
||||
</div>
|
||||
{{/if}}
|
||||
{{if !empty($plugins_view_common_header_nav_content_inside_bottom_data) and is_array($plugins_view_common_header_nav_content_inside_bottom_data)}}
|
||||
{{foreach $plugins_view_common_header_nav_content_inside_bottom_data as $hook}}
|
||||
{{if is_string($hook) or is_int($hook)}}
|
||||
{{$hook|raw}}
|
||||
{{/if}}
|
||||
{{/foreach}}
|
||||
{{/if}}
|
||||
</div>
|
||||
|
||||
<!-- 中间导航右侧 -->
|
||||
{{if isset($shopxo_is_develop) and $shopxo_is_develop eq true}}
|
||||
<div class="plugins-tag">
|
||||
<span>plugins_view_common_header_nav_right</span>
|
||||
</div>
|
||||
{{/if}}
|
||||
{{if !empty($plugins_view_common_header_nav_right_data) and is_array($plugins_view_common_header_nav_right_data)}}
|
||||
{{foreach $plugins_view_common_header_nav_right_data as $hook}}
|
||||
{{if is_string($hook) or is_int($hook)}}
|
||||
{{$hook|raw}}
|
||||
{{/if}}
|
||||
{{/foreach}}
|
||||
{{/if}}
|
||||
</div>
|
||||
</header>
|
||||
{{/if}}
|
||||
|
|
@ -0,0 +1,60 @@
|
|||
<div class="nav-seasrch header-nav-simple {{if !isset($module_data['is_sm_hide']) or $module_data['is_sm_hide'] eq 1}}am-hide-sm-only{{/if}}">
|
||||
<div class="am-container">
|
||||
<div class="logo theme-data-edit-event" data-module="site_base">
|
||||
<a href="{{$home_url}}">
|
||||
<img src="{{$home_site_logo}}" alt="{{$home_site_name}}" />
|
||||
</a>
|
||||
</div>
|
||||
{{if !empty($module_data['title'])}}
|
||||
<p class="login-title am-fl am-vertical-align-middle am-margin-left-main">{{$module_data.title}}</p>
|
||||
{{/if}}
|
||||
{{if !empty($module_data['search']) and $module_data['search'] eq 1}}
|
||||
<div class="search-bar am-fr">
|
||||
<!-- 公共搜索框内左侧 -->
|
||||
{{if isset($shopxo_is_develop) and $shopxo_is_develop eq true}}
|
||||
<div class="plugins-tag">
|
||||
<span>plugins_view_common_search_inside_left</span>
|
||||
</div>
|
||||
{{/if}}
|
||||
{{if !empty($plugins_view_common_search_inside_left_data) and is_array($plugins_view_common_search_inside_left_data)}}
|
||||
{{foreach $plugins_view_common_search_inside_left_data as $hook}}
|
||||
{{if is_string($hook) or is_int($hook)}}
|
||||
{{$hook|raw}}
|
||||
{{/if}}
|
||||
{{/foreach}}
|
||||
{{/if}}
|
||||
|
||||
<!-- 搜索框 -->
|
||||
<form action="{{:MyUrl('index/search/index')}}" method="POST">
|
||||
<div class="search-group am-radius am-nbfc">
|
||||
<input id="search-input" name="wd" type="text" placeholder="{{:MyLang('common.search_input_placeholder')}}" value="{{if !empty($params['wd'])}}{{$params.wd}}{{/if}}" autocomplete="off" data-is-clearout="0" />
|
||||
<button type="submit" id="ai-topsearch" class="submit am-btn-primary">
|
||||
<span>{{:MyLang('common.search_button_text')}}</span>
|
||||
</button>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
<!-- 公共搜索框内右侧 -->
|
||||
{{if isset($shopxo_is_develop) and $shopxo_is_develop eq true}}
|
||||
<div class="plugins-tag">
|
||||
<span>plugins_view_common_search_inside_right</span>
|
||||
</div>
|
||||
{{/if}}
|
||||
{{if !empty($plugins_view_common_search_inside_right_data) and is_array($plugins_view_common_search_inside_right_data)}}
|
||||
{{foreach $plugins_view_common_search_inside_right_data as $hook}}
|
||||
{{if is_string($hook) or is_int($hook)}}
|
||||
{{$hook|raw}}
|
||||
{{/if}}
|
||||
{{/foreach}}
|
||||
{{/if}}
|
||||
</div>
|
||||
{{/if}}
|
||||
{{if isset($module_data['is_go_home']) and $module_data['is_go_home'] eq 1}}
|
||||
<p class="am-fr gohome am-padding-right-xs am-show-sm-down">
|
||||
<a href="{{$home_url}}">
|
||||
<i class="iconfont icon-index"></i>
|
||||
</a>
|
||||
</p>
|
||||
{{/if}}
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -0,0 +1,166 @@
|
|||
/* 基础 */
|
||||
--html-body-size: 10px;
|
||||
--body-bg-color: #f7f7f7;
|
||||
--color-price: #E22C08;
|
||||
--color-red: #E22C08;
|
||||
--color-yellow: #E22C08;
|
||||
--color-blue: #76AFFF;
|
||||
--color-green: #5EB95E;
|
||||
|
||||
/* 主色 */
|
||||
--color-main: #E22C08;
|
||||
--color-main-light: #ffe3de;
|
||||
--color-main-hover: #EA6B52;
|
||||
|
||||
/* 次色 */
|
||||
--color-secondary: #FFB8AA;
|
||||
|
||||
/* 圆角 */
|
||||
--border-radius-sm: 0.2rem;
|
||||
--border-radius: 0.4rem;
|
||||
--border-radius-lg: 0.8rem;
|
||||
|
||||
/* 阴影 */
|
||||
--box-shadow: 0 5px 20px rgba(50,55,58,0.1);
|
||||
--box-shadow-sm: 0 2px 8px rgba(50,55,58,0.1);
|
||||
--box-shadow-lg: 0 8px 34px rgba(50,55,58,0.1);
|
||||
|
||||
/* 按钮部分 */
|
||||
/* 默认基础色 - 按钮 */
|
||||
--color-button-default: #EEEEEE;
|
||||
--color-button-default-hover: #dddddd;
|
||||
--color-button-default-focus: #c7c7c7;
|
||||
--color-button-default-active: #c7c7c7;
|
||||
--color-button-default-disabled: #c2c2c2;
|
||||
--color-button-default-border: #EEEEEE;
|
||||
--color-button-default-hover-border: #dddddd;
|
||||
--color-button-default-focus-border: #c7c7c7;
|
||||
--color-button-default-active-border: #c7c7c7;
|
||||
--color-button-default-disabled-border: #c7c7c7;
|
||||
--color-button-default-text: #666666;
|
||||
--color-button-default-hover-text: #444444;
|
||||
--color-button-default-focus-text: #444444;
|
||||
--color-button-default-active-text: #444444;
|
||||
--color-button-default-disabled-text: #444444;
|
||||
|
||||
/* 主色 - 按钮 */
|
||||
--color-button-primary: #E22C08;
|
||||
--color-button-primary-hover: #EA6B52;
|
||||
--color-button-primary-focus: #C02000;
|
||||
--color-button-primary-active: #C02000;
|
||||
--color-button-primary-disabled: #F6BFB4;
|
||||
--color-button-primary-border: #E22C08;
|
||||
--color-button-primary-hover-border: #EA6B52;
|
||||
--color-button-primary-focus-border: #C02000;
|
||||
--color-button-primary-active-border: #C02000;
|
||||
--color-button-primary-disabled-border: #F6BFB4;
|
||||
--color-button-primary-text: #FFFFFF;
|
||||
--color-button-primary-hover-text: #FFFFFF;
|
||||
--color-button-primary-focus-text: #FFFFFF;
|
||||
--color-button-primary-active-text: #FFFFFF;
|
||||
--color-button-primary-disabled-text: #FFFFFF;
|
||||
|
||||
/* 次色 - 按钮 */
|
||||
--color-button-secondary: #FFEFE5;
|
||||
--color-button-secondary-hover: #FCE9E6;
|
||||
--color-button-secondary-focus: #FCE9E6;
|
||||
--color-button-secondary-active: #F5B5A9;
|
||||
--color-button-secondary-disabled: #F5B5A9;
|
||||
--color-button-secondary-border: #FFCBAB;
|
||||
--color-button-secondary-hover-border: #FDB6B0;
|
||||
--color-button-secondary-focus-border: #FDB6B0;
|
||||
--color-button-secondary-active-border: #F5B5A9;
|
||||
--color-button-secondary-disabled-border: #F5B5A9;
|
||||
--color-button-secondary-text: #E22C08;
|
||||
--color-button-secondary-hover-text: #EA6247;
|
||||
--color-button-secondary-focus-text: #E64829;
|
||||
--color-button-secondary-active-text: #E2300D;
|
||||
--color-button-secondary-disabled-text: #E2300D;
|
||||
|
||||
/* 成功 - 按钮 */
|
||||
--color-button-success: #a8e6a8;
|
||||
--color-button-success-hover: #97ee97;
|
||||
--color-button-success-focus: #5eb95e;
|
||||
--color-button-success-active: #85c085;
|
||||
--color-button-success-disabled: #85c085;
|
||||
--color-button-success-border: #7fe27f;
|
||||
--color-button-success-hover-border: #97ee97;
|
||||
--color-button-success-focus-border: #5eb95e;
|
||||
--color-button-success-active-border: #85c085;
|
||||
--color-button-success-disabled-border: #85c085;
|
||||
--color-button-success-text: #258f25;
|
||||
--color-button-success-hover-text: #239b23;
|
||||
--color-button-success-focus-text: #FFFFFF;
|
||||
--color-button-success-active-text: #bffbbf;
|
||||
--color-button-success-disabled-text: #bffbbf;
|
||||
|
||||
/* 警告 - 按钮 */
|
||||
--color-button-warning: #FAAD14;
|
||||
--color-button-warning-hover: #FBC55A;
|
||||
--color-button-warning-focus: #FBC55A;
|
||||
--color-button-warning-active: #EB9C00;
|
||||
--color-button-warning-disabled: #FDE6B8;
|
||||
--color-button-warning-border: #FAAD14;
|
||||
--color-button-warning-hover-border: #FBC55A;
|
||||
--color-button-warning-focus-border: #FBC55A;
|
||||
--color-button-warning-active-border: #EB9C00;
|
||||
--color-button-warning-disabled-border: #FDE6B8;
|
||||
--color-button-warning-text: #FFFFFF;
|
||||
--color-button-warning-hover-text: #FFFFFF;
|
||||
--color-button-warning-focus-text: #FFFFFF;
|
||||
--color-button-warning-active-text: #FFFFFF;
|
||||
--color-button-warning-disabled-text: #FFFFFF;
|
||||
|
||||
/* 危险 - 按钮 */
|
||||
--color-button-danger: #ffebeb;
|
||||
--color-button-danger-hover: #FFEFED;
|
||||
--color-button-danger-focus: #FFEFED;
|
||||
--color-button-danger-active: #FFC2B6;
|
||||
--color-button-danger-disabled: #FFFFFF;
|
||||
--color-button-danger-border: #E33816;
|
||||
--color-button-danger-hover-border: #DF2500;
|
||||
--color-button-danger-focus-border: #D58576;
|
||||
--color-button-danger-active-border: #FFC2B6;
|
||||
--color-button-danger-disabled-border: #D58E80;
|
||||
--color-button-danger-text: #da5c43;
|
||||
--color-button-danger-hover-text: #e04527;
|
||||
--color-button-danger-focus-text: #E12C08;
|
||||
--color-button-danger-active-text: #C72100;
|
||||
--color-button-danger-disabled-text: #FFC3B7;
|
||||
|
||||
/* 小徽章部分 */
|
||||
/* 默认基础色 - 小徽章 */
|
||||
--color-badge-default: #EEEEEE;
|
||||
--color-badge-default-hover: #e9e9e9;
|
||||
--color-badge-default-text: #666666;
|
||||
--color-badge-default-hover-text: #666666;
|
||||
|
||||
/* 主色 - 小徽章 */
|
||||
--color-badge-primary: #eaf1fb;
|
||||
--color-badge-primary-hover: #e4eefe;
|
||||
--color-badge-primary-text: #0c7cd5;
|
||||
--color-badge-primary-hover-text: #0c7cd5;
|
||||
|
||||
/* 次色 - 小徽章 */
|
||||
--color-badge-secondary: #ffefe5;
|
||||
--color-badge-secondary-hover: #ffebdf;
|
||||
--color-badge-secondary-text: #f18f51;
|
||||
--color-badge-secondary-hover-text: #f18f51;
|
||||
|
||||
/* 成功色 - 小徽章 */
|
||||
--color-badge-success: #d5fbd5;
|
||||
--color-badge-success-hover: #c6f9c6;
|
||||
--color-badge-success-text: #46cf45;
|
||||
--color-badge-success-hover-text: #46cf45;
|
||||
|
||||
/* 警告色 - 小徽章 */
|
||||
--color-badge-warning: #ffeac2;
|
||||
--color-badge-warning-hover: #ffe3ae;
|
||||
--color-badge-warning-text: #f3a200;
|
||||
--color-badge-warning-hover-text: #f3a200;
|
||||
|
||||
/* 危险色 - 小徽章 */
|
||||
--color-badge-danger: #FFE6E6;
|
||||
--color-badge-danger-hover: #ffdcdc;
|
||||
--color-badge-danger-text: #e04527;
|
||||
--color-badge-danger-hover-text: #e04527;
|
||||
|
|
@ -0,0 +1,207 @@
|
|||
{{if MyC('home_main_top_header_status', 1) eq 1}}
|
||||
<!-- 顶部导航条 start -->
|
||||
<div class="header-top">
|
||||
<div class="am-container header">
|
||||
<ul class="top-nav-left top-nav-left-content am-hide-sm-only">
|
||||
<div class="top-nav-items">
|
||||
<div class="menu-hd">
|
||||
<!-- 公共顶部小导航钩子-左侧前面 -->
|
||||
{{if isset($shopxo_is_develop) and $shopxo_is_develop eq true}}
|
||||
<div class="plugins-tag">
|
||||
<span>plugins_view_header_navigation_top_left_begin</span>
|
||||
</div>
|
||||
{{/if}}
|
||||
{{if !empty($plugins_view_header_navigation_top_left_begin_data) and is_array($plugins_view_header_navigation_top_left_begin_data)}}
|
||||
{{foreach $plugins_view_header_navigation_top_left_begin_data as $hook}}
|
||||
{{if is_string($hook) or is_int($hook)}}
|
||||
{{$hook|raw}}
|
||||
{{/if}}
|
||||
{{/foreach}}
|
||||
{{/if}}
|
||||
|
||||
{{if empty($user)}}
|
||||
<em class="first">{{:MyLang('common.header_top_nav_left_not_login_first')}}</em>
|
||||
<em class="site-name">{{$home_site_name}}</em>
|
||||
{{if !empty($home_user_login_type)}}
|
||||
[<a href="{{:MyUrl('index/user/logininfo')}}">{{:MyLang('common.login_title')}}</a>]
|
||||
{{/if}}
|
||||
{{if !empty($home_user_reg_type)}}
|
||||
[<a href="{{:MyUrl('index/user/reginfo')}}">{{:MyLang('common.register_title')}}</a>]
|
||||
{{/if}}
|
||||
{{else /}}
|
||||
<em class="first">{{:MyLang('common.header_top_nav_left_login_first')}}</em>
|
||||
{{if !empty($user['icon'])}}
|
||||
<img src="{{$user.icon}}" class="common-user-icon" {{if !empty($user['icon_title'])}}title="{{$user.icon_title}}"{{/if}} />
|
||||
{{/if}}
|
||||
{{if !empty($user['user_name_view'])}}
|
||||
<em class="user">{{$user.user_name_view}}</em>
|
||||
{{/if}}
|
||||
<em class="last">{{:MyLang('common.header_top_nav_left_login_last')}}</em>
|
||||
<em class="site-name">{{$home_site_name}}</em>
|
||||
<em class="logout"><a href="{{:MyUrl('index/user/logout')}}">[{{:MyLang('common.logout_title')}}]</a></em>
|
||||
{{/if}}
|
||||
|
||||
<!-- 公共顶部小导航钩子-左侧后面 -->
|
||||
{{if isset($shopxo_is_develop) and $shopxo_is_develop eq true}}
|
||||
<div class="plugins-tag">
|
||||
<span>plugins_view_header_navigation_top_left_end</span>
|
||||
</div>
|
||||
{{/if}}
|
||||
{{if !empty($plugins_view_header_navigation_top_left_end_data) and is_array($plugins_view_header_navigation_top_left_end_data)}}
|
||||
{{foreach $plugins_view_header_navigation_top_left_end_data as $hook}}
|
||||
{{if is_string($hook) or is_int($hook)}}
|
||||
{{$hook|raw}}
|
||||
{{/if}}
|
||||
{{/foreach}}
|
||||
{{/if}}
|
||||
</div>
|
||||
</div>
|
||||
</ul>
|
||||
|
||||
<div class="top-nav-left top-nav-left-site-logo am-show-sm-only">
|
||||
<a href="{{if empty($module_data['url'])}}{{$home_url}}{{else /}}{{$module_data.url}}{{/if}}">
|
||||
<img class="am-height" src="{{if empty($module_data['logo'])}}{{$home_site_logo_wap}}{{else /}}{{$module_data.logo}}{{/if}}" alt="{{if empty($module_data['name'])}}{{$home_site_name}}{{else /}}{{$module_data.name}}{{/if}}" />
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<ul class="top-nav-right">
|
||||
<!-- 公共顶部小导航钩子-右侧前面 -->
|
||||
{{if isset($shopxo_is_develop) and $shopxo_is_develop eq true}}
|
||||
<div class="plugins-tag">
|
||||
<span>plugins_view_header_navigation_top_right_begin</span>
|
||||
</div>
|
||||
{{/if}}
|
||||
{{if !empty($plugins_view_header_navigation_top_right_begin_data) and is_array($plugins_view_header_navigation_top_right_begin_data)}}
|
||||
{{foreach $plugins_view_header_navigation_top_right_begin_data as $hook}}
|
||||
{{if is_string($hook) or is_int($hook)}}
|
||||
{{$hook|raw}}
|
||||
{{/if}}
|
||||
{{/foreach}}
|
||||
{{/if}}
|
||||
|
||||
<!-- 非首页则展示首页入口 -->
|
||||
{{if MyC('home_header_top_is_home', 0) eq 1 and $module_name.$controller_name.$action_name neq 'indexindexindex'}}
|
||||
<div class="top-nav-items top-nav-items-home">
|
||||
<div class="menu-hd">
|
||||
<a href="{{$home_url}}">
|
||||
<i class="iconfont icon-index"></i>
|
||||
<span>{{:MyLang('common.shop_home_title')}}</span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
{{/if}}
|
||||
|
||||
<!-- 右侧导航 -->
|
||||
{{if !empty($common_nav_top_right_list) and is_array($common_nav_top_right_list)}}
|
||||
{{foreach $common_nav_top_right_list as $nav}}
|
||||
{{if empty($nav['items'])}}
|
||||
<div class="top-nav-items {{if !empty($nav['type'])}}top-nav-items-{{$nav.type}}{{/if}}">
|
||||
<div class="menu-hd {{if isset($nav['is_login']) and $nav['is_login'] eq 1 and empty($user)}}login-event{{/if}}">
|
||||
<a href="{{if empty($user)}}javascript:;{{else /}}{{if !empty($nav['url'])}}{{$nav.url}}{{/if}}{{/if}}" {{if !empty($nav['class'])}}class="{{$nav.class}}"{{/if}} {{if !empty($nav['attr_data'])}}{{$nav.attr_data|raw}}{{/if}}>
|
||||
{{if IsUrl($nav['icon'])}}
|
||||
<img src="{{$nav.icon}}" class="nav-icon am-vertical-align-middle" />
|
||||
{{else /}}
|
||||
<i class="iconfont {{$nav.icon}} am-vertical-align-middle"></i>
|
||||
{{/if}}
|
||||
<span class="am-vertical-align-middle">{{$nav.name}}</span>
|
||||
{{if isset($nav['badge']) and $nav['badge'] gt -1}}
|
||||
{{if $nav['badge'] gt 0}}
|
||||
<strong class="am-badge am-badge-danger am-round am-badge-tips {{if isset($nav['type']) and $nav['type'] eq 'cart'}}common-cart-total{{/if}}">{{$nav.badge}}</strong>
|
||||
{{else /}}
|
||||
<strong class="am-round {{if isset($nav['type']) and $nav['type'] eq 'cart'}}common-cart-total{{/if}}">{{$nav.badge}}</strong>
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
{{else /}}
|
||||
<div class="top-nav-items {{if !empty($nav['type'])}}top-nav-items-{{$nav.type}}{{/if}}">
|
||||
<div class="am-dropdown menu-hd" data-am-dropdown>
|
||||
<a class="am-dropdown-toggle" href="javascript:;" data-am-dropdown-toggle>
|
||||
{{if IsUrl($nav['icon'])}}
|
||||
<img src="{{$nav.icon}}" class="nav-icon am-vertical-align-middle" />
|
||||
{{else /}}
|
||||
<i class="iconfont {{$nav.icon}} am-vertical-align-middle"></i>
|
||||
{{/if}}
|
||||
<span class="am-vertical-align-middle">{{$nav.name}}</span>
|
||||
<i class="am-icon-angle-down am-vertical-align-middle"></i>
|
||||
</a>
|
||||
<ul class="am-dropdown-content am-radius">
|
||||
{{foreach $nav.items as $navs}}
|
||||
<!-- 是否为事件类型和事件值数据格式 -->
|
||||
{{if isset($navs['event_type']) and isset($navs['event_value'])}}
|
||||
<li class="nav-event-item" {{if !empty($navs['data_value'])}}data-value="{{$navs.data_value}}"{{/if}}>
|
||||
{{if isset($navs['event_type']) and isset($navs['event_value']) and in_array($navs['event_type'], [3,4])}}
|
||||
{{switch navs.event_type}}
|
||||
{{case 3}}
|
||||
<!-- 地图 -->
|
||||
<a href="javascript:;" {{if !empty($navs['event_value_data']) and isset($navs['event_value_data'][2]) and isset($navs['event_value_data'][3]) and $navs['event_value_data'][2] neq 0 and $navs['event_value_data'][3] neq 0}}class="submit-map-popup am-flex am-flex-items-center" data-lng="{{$navs['event_value_data'][2]}}" data-lat="{{$navs['event_value_data'][3]}}"{{/if}}>
|
||||
<p class="nav-images am-margin-right-xs" style="{{if !empty($navs['bg_color'])}}background:{{$navs.bg_color}};{{/if}}">
|
||||
{{if (!empty($navs['icon']) or !empty($navs['images_url'])) and !empty($navs['name'])}}
|
||||
<img src="{{if !empty($navs['icon'])}}{{$navs.icon}}{{else /}}{{$navs.images_url}}{{/if}}" alt="{{$navs.name}}" class="am-width am-block" />
|
||||
{{/if}}
|
||||
</p>
|
||||
{{/case}}
|
||||
{{case 4}}
|
||||
<!-- 电话 -->
|
||||
<a {{if !empty($navs['event_value'])}}href="tel:{{$navs.event_value}}"{{else /}}href="javascript:;"{{/if}} class="am-flex am-flex-items-center">
|
||||
<p class="nav-images am-margin-right-xs" style="{{if !empty($navs['bg_color'])}}background:{{$navs.bg_color}};{{/if}}">
|
||||
{{if (!empty($navs['icon']) or !empty($navs['images_url'])) and !empty($navs['name'])}}
|
||||
<img src="{{if !empty($navs['icon'])}}{{$navs.icon}}{{else /}}{{$navs.images_url}}{{/if}}" alt="{{$navs.name}}" class="am-width am-block" />
|
||||
{{/if}}
|
||||
</p>
|
||||
{{/case}}
|
||||
{{/switch}}
|
||||
{{else /}}
|
||||
<!-- 默认url地址 -->
|
||||
<a {{if !empty($navs['event_value'])}}href="{{$navs.event_value}}"{{else /}}href="javascript:;"{{/if}} class="am-flex am-flex-items-center">
|
||||
<p class="nav-images am-margin-right-xs" style="{{if !empty($navs['bg_color'])}}background:{{$navs.bg_color}};{{/if}}">
|
||||
{{if (!empty($navs['icon']) or !empty($navs['images_url'])) and !empty($navs['name'])}}
|
||||
<img src="{{if !empty($navs['icon'])}}{{$navs.icon}}{{else /}}{{$navs.images_url}}{{/if}}" alt="{{$navs.name}}" class="am-width am-block" />
|
||||
{{/if}}
|
||||
</p>
|
||||
{{/if}}
|
||||
<p class="am-text-truncate">{{$navs.name}}</p>
|
||||
</a>
|
||||
</li>
|
||||
{{else /}}
|
||||
<!-- 默认为标准名称和url格式 -->
|
||||
{{if !empty($navs['name'])}}
|
||||
<li class="{{if ((isset($nav['is_login']) and $nav['is_login'] eq 1) or (isset($navs['is_login']) and $navs['is_login'] eq 1)) and empty($user)}}login-event{{/if}}">
|
||||
<a class="am-flex am-flex-items-center {{if !empty($navs['class'])}}{{$navs.class}}{{/if}}" href="{{if ((isset($nav['is_login']) and $nav['is_login'] eq 1) or (isset($navs['is_login']) and $navs['is_login'] eq 1)) and empty($user)}}javascript:;{{else /}}{{if !empty($navs['url'])}}{{$navs.url}}{{/if}}{{/if}}" {{if !empty($navs['attr_data'])}}{{$navs.attr_data|raw}}{{/if}}>
|
||||
{{if !empty($navs['icon']) or !empty($navs['images_url'])}}
|
||||
<p class="nav-images am-margin-right-xs" >
|
||||
<img src="{{if !empty($navs['icon'])}}{{$navs.icon}}{{else /}}{{$navs.images_url}}{{/if}}" alt="{{$navs.name}}" class="am-width am-block" />
|
||||
</p>
|
||||
{{/if}}
|
||||
<p class="am-text-truncate">{{$navs.name}}</p>
|
||||
</a>
|
||||
</li>
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
{{/foreach}}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
{{/if}}
|
||||
{{/foreach}}
|
||||
{{/if}}
|
||||
|
||||
<!-- 公共顶部小导航钩子-右侧后面 -->
|
||||
{{if isset($shopxo_is_develop) and $shopxo_is_develop eq true}}
|
||||
<div class="plugins-tag">
|
||||
<span>plugins_view_header_navigation_top_right_end</span>
|
||||
</div>
|
||||
{{/if}}
|
||||
{{if !empty($plugins_view_header_navigation_top_right_end_data) and is_array($plugins_view_header_navigation_top_right_end_data)}}
|
||||
{{foreach $plugins_view_header_navigation_top_right_end_data as $hook}}
|
||||
{{if is_string($hook) or is_int($hook)}}
|
||||
{{$hook|raw}}
|
||||
{{/if}}
|
||||
{{/foreach}}
|
||||
{{/if}}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<!-- 顶部导航条 end -->
|
||||
{{/if}}
|
||||
|
|
@ -0,0 +1,27 @@
|
|||
{{if !empty($banner_list)}}
|
||||
<div class="banner theme-data-edit-event" data-module="slide_list">
|
||||
<div data-am-widget="slider" class="am-slider am-slider-a1" data-am-slider='{"directionNav":false}'>
|
||||
<ul class="am-slides">
|
||||
{{foreach $banner_list as $banner}}
|
||||
{{if !empty($banner['images_url'])}}
|
||||
<li {{if !empty($banner['bg_color'])}}style="background: {{$banner.bg_color}};"{{/if}}>
|
||||
{{switch banner.event_type}}
|
||||
{{case 3}}
|
||||
<!-- 地图 -->
|
||||
<a href="javascript:;" {{if !empty($banner['event_value_data']) and isset($banner['event_value_data'][2]) and isset($banner['event_value_data'][3]) and $banner['event_value_data'][2] neq 0 and $banner['event_value_data'][3] neq 0}}class="submit-map-popup" data-lng="{{$banner['event_value_data'][2]}}" data-lat="{{$banner['event_value_data'][3]}}"{{/if}}><img src="{{$banner.images_url}}" alt="{{$banner.name}}" /></a>
|
||||
{{/case}}
|
||||
{{case 4}}
|
||||
<!-- 电话 -->
|
||||
<a {{if !empty($banner['event_value'])}}href="tel:{{$banner.event_value}}"{{else /}}href="javascript:;"{{/if}}><img src="{{$banner.images_url}}" alt="{{$banner.name}}" /></a>
|
||||
{{/case}}
|
||||
{{default /}}
|
||||
<!-- 默认url地址 -->
|
||||
<a {{if !empty($banner['event_value'])}}href="{{$banner.event_value}}" target="_blank"{{else /}}href="javascript:;"{{/if}}><img src="{{$banner.images_url}}" alt="{{$banner.name}}" /></a>
|
||||
{{/switch}}
|
||||
</li>
|
||||
{{/if}}
|
||||
{{/foreach}}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
{{/if}}
|
||||
|
|
@ -0,0 +1,28 @@
|
|||
{{if !empty($navigation)}}
|
||||
<div class="am-container">
|
||||
<div class="am-g small-nav">
|
||||
{{foreach $navigation as $nav}}
|
||||
<div class="am-u-sm-3">
|
||||
{{switch nav.event_type}}
|
||||
{{case 3}}
|
||||
<!-- 地图 -->
|
||||
<a href="javascript:;" {{if $nav['is_need_login'] eq 1 and empty($user)}} class="login-event" {{else /}}{{if !empty($nav['event_value_data']) and isset($nav['event_value_data'][2]) and isset($nav['event_value_data'][3]) and $nav['event_value_data'][2] neq 0 and $nav['event_value_data'][3] neq 0}}class="submit-map-popup" data-lng="{{$nav['event_value_data'][2]}}" data-lat="{{$nav['event_value_data'][3]}}"{{/if}}{{/if}}>
|
||||
{{/case}}
|
||||
{{case 4}}
|
||||
<!-- 电话 -->
|
||||
<a {{if $nav['is_need_login'] eq 1 and empty($user)}} href="javascript:;" class="login-event" {{else /}}{{if !empty($nav['event_value'])}}href="tel:{{$nav.event_value}}"{{else /}}href="javascript:;"{{/if}}{{/if}}>
|
||||
{{/case}}
|
||||
{{default /}}
|
||||
<!-- 默认url地址 -->
|
||||
<a {{if $nav['is_need_login'] eq 1 and empty($user)}} href="javascript:;" class="login-event" {{else /}}{{if !empty($nav['event_value'])}}href="{{$nav.event_value}}"{{else /}}href="javascript:;"{{/if}}{{/if}}>
|
||||
{{/switch}}
|
||||
<div class="nav-icon {{if empty($nav['bg_color'])}} item-exposed{{/if}}" style="{{if !empty($nav['bg_color'])}}background:{{$nav.bg_color}};{{/if}}">
|
||||
<img src="{{$nav.images_url}}" alt="{{$nav.name}}" />
|
||||
</div>
|
||||
<div class="mini-nav-title">{{$nav.name}}</div>
|
||||
</a>
|
||||
</div>
|
||||
{{/foreach}}
|
||||
</div>
|
||||
</div>
|
||||
{{/if}}
|
||||
|
|
@ -0,0 +1 @@
|
|||
|
||||
|
|
@ -0,0 +1,50 @@
|
|||
{{:ModuleInclude('public/header')}}
|
||||
|
||||
<!-- header nav start -->
|
||||
{{if isset($is_header) and $is_header eq 1}}
|
||||
<!-- header top nav -->
|
||||
{{:ModuleInclude('public/header_top_nav')}}
|
||||
|
||||
<!-- search -->
|
||||
{{:ModuleInclude('public/nav_search')}}
|
||||
|
||||
<!-- header nav -->
|
||||
{{:ModuleInclude('public/header_nav')}}
|
||||
|
||||
<!-- goods category -->
|
||||
{{:ModuleInclude('public/goods_category')}}
|
||||
{{/if}}
|
||||
<!-- header nav end -->
|
||||
|
||||
<!-- conntent start -->
|
||||
<div class="am-g">
|
||||
<div class="am-text-center am-margin-top-xl am-padding-xl">
|
||||
<p><i class="am-icon-info-circle am-icon-lg am-text-xl am-text-warning"></i></p>
|
||||
<p class="am-margin-top-xs am-text-sm">{{if isset($msg)}}{{$msg}}{{else /}}{{:MyLang('operate_fail')}}{{/if}}</p>
|
||||
<p class="am-margin-top-xl">
|
||||
<a href="{{if empty($url)}}javascript:history.go(-1){{else /}}{{$url}}{{/if}}" class="am-text-primary">{{:MyLang('back_prev_page_name')}}</a>
|
||||
<span class="am-margin-left-sm"><span class="wait-time">{{if empty($wait_time)}}5{{else /}}{{$wait_time}}{{/if}}</span>{{:MyLang('back_prev_time_auto_text')}}</span>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<!-- conntent end -->
|
||||
|
||||
<!-- footer -->
|
||||
{{:ModuleInclude('public/footer')}}
|
||||
<script type="text/javascript">
|
||||
var interval = setInterval(function()
|
||||
{
|
||||
var time = parseInt($('.wait-time').text() || 5)-1;
|
||||
if(time <= 0)
|
||||
{
|
||||
clearInterval(interval);
|
||||
{{if empty($url)}}
|
||||
history.go(-1);
|
||||
{{else /}}
|
||||
window.location.href = '{{$url}}';
|
||||
{{/if}}
|
||||
} else {
|
||||
$('.wait-time').text(time);
|
||||
}
|
||||
}, 1000);
|
||||
</script>
|
||||
|
|
@ -0,0 +1,50 @@
|
|||
{{:ModuleInclude('public/header')}}
|
||||
|
||||
<!-- header nav start -->
|
||||
{{if isset($is_header) and $is_header eq 1}}
|
||||
<!-- header top nav -->
|
||||
{{:ModuleInclude('public/header_top_nav')}}
|
||||
|
||||
<!-- search -->
|
||||
{{:ModuleInclude('public/nav_search')}}
|
||||
|
||||
<!-- header nav -->
|
||||
{{:ModuleInclude('public/header_nav')}}
|
||||
|
||||
<!-- goods category -->
|
||||
{{:ModuleInclude('public/goods_category')}}
|
||||
{{/if}}
|
||||
<!-- header nav end -->
|
||||
|
||||
<!-- conntent start -->
|
||||
<div class="am-g">
|
||||
<div class="am-text-center am-margin-top-xl am-padding-xl">
|
||||
<p><i class="am-icon-check-circle am-icon-lg am-text-xl am-text-success"></i></p>
|
||||
<p class="am-margin-top-xs am-text-sm">{{if isset($msg)}}{{$msg}}{{else /}}{{:MyLang('operate_success')}}{{/if}}</p>
|
||||
<p class="am-margin-top-xl">
|
||||
<a href="{{if empty($url)}}javascript:history.go(-1){{else /}}{{$url}}{{/if}}" class="am-text-primary">{{:MyLang('back_prev_page_name')}}</a>
|
||||
<span class="am-margin-left-sm"><span class="wait-time">{{if empty($wait_time)}}5{{else /}}{{$wait_time}}{{/if}}</span>{{:MyLang('back_prev_time_auto_text')}}</span>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<!-- content end -->
|
||||
|
||||
<!-- footer -->
|
||||
{{:ModuleInclude('public/footer')}}
|
||||
<script type="text/javascript">
|
||||
var interval = setInterval(function()
|
||||
{
|
||||
var time = parseInt($('.wait-time').text() || 5)-1;
|
||||
if(time <= 0)
|
||||
{
|
||||
clearInterval(interval);
|
||||
{{if empty($url)}}
|
||||
history.go(-1);
|
||||
{{else /}}
|
||||
window.location.href = '{{$url}}';
|
||||
{{/if}}
|
||||
} else {
|
||||
$('.wait-time').text(time);
|
||||
}
|
||||
}, 1000);
|
||||
</script>
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
<div class="loading-container am-text-center am-text-grey">
|
||||
<img src="{{:StaticAttachmentUrl('loading.gif')}}" />
|
||||
<p>{{:MyLang('processing_tips')}}</p>
|
||||
</div>
|
||||
|
|
@ -0,0 +1,56 @@
|
|||
{{:ModuleInclude('public/header')}}
|
||||
|
||||
<!-- header nav start -->
|
||||
{{if isset($is_header) and $is_header eq 1}}
|
||||
<!-- header top nav -->
|
||||
{{:ModuleInclude('public/header_top_nav')}}
|
||||
|
||||
<!-- search -->
|
||||
{{:ModuleInclude('public/nav_search')}}
|
||||
|
||||
<!-- header nav -->
|
||||
{{:ModuleInclude('public/header_nav')}}
|
||||
|
||||
<!-- goods category -->
|
||||
{{:ModuleInclude('public/goods_category')}}
|
||||
{{/if}}
|
||||
<!-- header nav end -->
|
||||
|
||||
<!-- conntent start -->
|
||||
<div class="am-g my-content tips-success">
|
||||
<div class="am-u-md-6 am-u-sm-centered am-text-center">
|
||||
<i class="am-icon-check-circle am-icon-lg"></i>
|
||||
<span class="msg">{{$msg}}</span>
|
||||
{{if !isset($is_home) or $is_home eq 1}}
|
||||
<div class="tips-nav">
|
||||
<a href="{{$home_url}}" class="am-btn am-btn-secondary am-radius">{{:MyLang('common.back_to_the_home_title')}}</a>
|
||||
</div>
|
||||
{{/if}}
|
||||
</div>
|
||||
</div>
|
||||
<!-- conntent end -->
|
||||
|
||||
{{:ModuleInclude('public/footer')}}
|
||||
|
||||
{{if !empty($data['body_html'])}}
|
||||
{{$data.body_html|raw}}
|
||||
{{/if}}
|
||||
|
||||
<script type="text/javascript">
|
||||
{{if isset($is_parent) and $is_parent eq 1}}
|
||||
setTimeout(function()
|
||||
{
|
||||
if(self.frameElement && self.frameElement.tagName == "IFRAME")
|
||||
{
|
||||
parent.location.reload();
|
||||
}else{
|
||||
window.location.href='{{$home_url}}';
|
||||
}
|
||||
}, 1500);
|
||||
{{else /}}
|
||||
setTimeout(function()
|
||||
{
|
||||
window.location.href='{{$home_url}}';
|
||||
}, 1500);
|
||||
{{/if}}
|
||||
</script>
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
{{if !empty($common_bottom_nav_list)}}
|
||||
<ul class="mobile-navigation">
|
||||
{{foreach $common_bottom_nav_list as $nav}}
|
||||
<li {{if $controller_name.$action_name eq $nav['only_tag']}}class="active"{{/if}}>
|
||||
<a {{if isset($nav['is_login']) and $nav['is_login'] eq 1 and empty($user)}}href="javascript:;" data-login-info="1" class="login-event am-block"{{else /}} href="{{$nav.url}}" class="am-block"{{/if}}>
|
||||
<i class="iconfont {{$nav.icon}}{{if $controller_name.$action_name eq $nav['only_tag']}}-active{{/if}}"></i>
|
||||
<p>{{$nav.name}}</p>
|
||||
</a>
|
||||
{{if isset($nav['badge']) and $nav['badge'] nheq null and $nav['badge'] gt 0}}
|
||||
<span class="am-badge am-badge-danger am-round common-cart-total hot-icon">{{$nav.badge}}</span>
|
||||
{{/if}}
|
||||
</li>
|
||||
{{/foreach}}
|
||||
</ul>
|
||||
{{/if}}
|
||||
|
|
@ -0,0 +1,87 @@
|
|||
{{if MyC('home_main_logo_search_status', 1) eq 1}}
|
||||
<!-- 搜索框 start -->
|
||||
<div class="nav-search white am-hide-sm-only">
|
||||
<div class="am-container">
|
||||
<div class="logo-big theme-data-edit-event" data-module="site_base">
|
||||
<a href="{{$home_url}}">
|
||||
<img src="{{$home_site_logo}}" alt="{{$home_site_name}}" />
|
||||
</a>
|
||||
</div>
|
||||
<!-- logo右侧 -->
|
||||
{{if isset($shopxo_is_develop) and $shopxo_is_develop eq true}}
|
||||
<div class="plugins-tag">
|
||||
<span>plugins_view_common_logo_right</span>
|
||||
</div>
|
||||
{{/if}}
|
||||
{{if !empty($plugins_view_common_logo_right_data) and is_array($plugins_view_common_logo_right_data)}}
|
||||
{{foreach $plugins_view_common_search_right_data as $hook}}
|
||||
{{if is_string($hook) or is_int($hook)}}
|
||||
{{$hook|raw}}
|
||||
{{/if}}
|
||||
{{/foreach}}
|
||||
{{/if}}
|
||||
|
||||
<div class="search-bar">
|
||||
<!-- 公共搜索框内左侧 -->
|
||||
{{if isset($shopxo_is_develop) and $shopxo_is_develop eq true}}
|
||||
<div class="plugins-tag">
|
||||
<span>plugins_view_common_search_inside_left</span>
|
||||
</div>
|
||||
{{/if}}
|
||||
{{if !empty($plugins_view_common_search_inside_left_data) and is_array($plugins_view_common_search_inside_left_data)}}
|
||||
{{foreach $plugins_view_common_search_inside_left_data as $hook}}
|
||||
{{if is_string($hook) or is_int($hook)}}
|
||||
{{$hook|raw}}
|
||||
{{/if}}
|
||||
{{/foreach}}
|
||||
{{/if}}
|
||||
|
||||
<!-- 搜索框 -->
|
||||
<form action="{{:MyUrl('index/search/index')}}" method="POST">
|
||||
<div class="search-group am-radius am-nbfc">
|
||||
<input id="search-input" name="wd" type="text" placeholder="{{:MyLang('common.search_input_placeholder')}}" value="{{if !empty($params['wd'])}}{{$params.wd}}{{/if}}" autocomplete="off" data-is-clearout="0" />
|
||||
<button type="submit" id="ai-topsearch" class="submit am-btn-primary">
|
||||
<span>{{:MyLang('common.search_button_text')}}</span>
|
||||
</button>
|
||||
</div>
|
||||
{{if !empty($home_search_keywords)}}
|
||||
<ul class="search-hot-keywords">
|
||||
{{foreach $home_search_keywords as $v}}
|
||||
<li><a href="{{:MyUrl('index/search/index', ['wd'=>StrToAscii($v)])}}" target="_blank">{{$v}}</a></li>
|
||||
{{/foreach}}
|
||||
</ul>
|
||||
{{/if}}
|
||||
</form>
|
||||
|
||||
<!-- 公共搜索框内右侧 -->
|
||||
{{if isset($shopxo_is_develop) and $shopxo_is_develop eq true}}
|
||||
<div class="plugins-tag">
|
||||
<span>plugins_view_common_search_inside_right</span>
|
||||
</div>
|
||||
{{/if}}
|
||||
{{if !empty($plugins_view_common_search_inside_right_data) and is_array($plugins_view_common_search_inside_right_data)}}
|
||||
{{foreach $plugins_view_common_search_inside_right_data as $hook}}
|
||||
{{if is_string($hook) or is_int($hook)}}
|
||||
{{$hook|raw}}
|
||||
{{/if}}
|
||||
{{/foreach}}
|
||||
{{/if}}
|
||||
</div>
|
||||
|
||||
<!-- 公共搜索框右侧 -->
|
||||
{{if isset($shopxo_is_develop) and $shopxo_is_develop eq true}}
|
||||
<div class="plugins-tag">
|
||||
<span>plugins_view_common_search_right</span>
|
||||
</div>
|
||||
{{/if}}
|
||||
{{if !empty($plugins_view_common_search_right_data) and is_array($plugins_view_common_search_right_data)}}
|
||||
{{foreach $plugins_view_common_search_right_data as $hook}}
|
||||
{{if is_string($hook) or is_int($hook)}}
|
||||
{{$hook|raw}}
|
||||
{{/if}}
|
||||
{{/foreach}}
|
||||
{{/if}}
|
||||
</div>
|
||||
</div>
|
||||
<!-- 搜索框 end -->
|
||||
{{/if}}
|
||||
|
|
@ -0,0 +1,9 @@
|
|||
{{if !empty($module_data['nav_data']) and is_array($module_data['nav_data'])}}
|
||||
<div class="nav-switch-btn">
|
||||
{{foreach $module_data.nav_data as $k=>$v}}
|
||||
{{if (!isset($v.is_show) or $v.is_show eq 1) and isset($v['key']) and isset($v['name'])}}
|
||||
<a href="javascript:;" class="item {{if isset($module_data['index']) and $module_data.index eq $k or (!isset($module_data['index']) and $k eq 0)}}am-active{{/if}}" data-key="{{$v.key}}">{{$v.name}}</a>
|
||||
{{/if}}
|
||||
{{/foreach}}
|
||||
</div>
|
||||
{{/if}}
|
||||
|
|
@ -0,0 +1,25 @@
|
|||
{{if !empty($module_data['nav_data']) and is_array($module_data['nav_data'])}}
|
||||
<div class="nav-switch-tabs am-pr">
|
||||
<ul>
|
||||
{{foreach $module_data.nav_data as $v}}
|
||||
<!-- 页面含有两级 -->
|
||||
{{if !empty($module_data['view_type']) and isset($module_data['view_type'])}}
|
||||
<li class="{{if $module_data['view_type'] eq $v['type']}}am-active{{/if}}" data-type="{{$v.type}}">
|
||||
<a href="{{:MyUrl($module_data['url'], ['nav_type'=>$module_data['nav_type'], 'view_type'=>$v['type']])}}">{{$v.name}}</a>
|
||||
</li>
|
||||
{{else /}}
|
||||
<!-- 页面只含有一级 -->
|
||||
<li class="{{if $module_data['nav_type'] eq $v['type']}}am-active{{/if}}" data-type="{{$v.type}}">
|
||||
<a href="{{:MyUrl($module_data['url'], ['type'=>$v['type']])}}">{{$v.name}}</a>
|
||||
</li>
|
||||
{{/if}}
|
||||
{{/foreach}}
|
||||
</ul>
|
||||
{{if !empty($module_data['other']) and !empty($module_data['other_url'])}}
|
||||
<a class="more-text" href="{{$module_data.other_url}}" target="_blank">
|
||||
<i class="iconfont {{if empty($module_data['other_icon'])}}icon-download-btn{{else /}}{{$module_data.other_icon}}{{/if}}"></i>
|
||||
<span class="am-hide-sm-only am-margin-left-xs">{{$module_data.other_name}} </span>
|
||||
</a>
|
||||
{{/if}}
|
||||
</div>
|
||||
{{/if}}
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
<div class="table-no am-radius">
|
||||
<img src="{{if !empty($module_data) and !empty($module_data['icon'])}}{{$module_data.icon}}{{else /}}{{:StaticAttachmentUrl('no-data.png')}}{{/if}}" />
|
||||
<p class="am-margin-top-sm">{{if !empty($module_data) and !empty($module_data['msg'])}}{{$module_data.msg}}{{else /}}{{:MyLang('no_data')}}{{/if}}</p>
|
||||
</div>
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
<div class="am-modal am-page-loading" style="--loading-logo:url({{$page_loading_logo}});--loading-logo-border:url({{$page_loading_logo_border}});">
|
||||
{{if isset($is_page_loading_images) and $is_page_loading_images eq 1 and !empty($page_loading_images_url)}}
|
||||
<img src="{{$page_loading_images_url}}" />
|
||||
{{else /}}
|
||||
<div class="loading-logo-content"></div>
|
||||
{{/if}}
|
||||
</div>
|
||||
|
|
@ -0,0 +1,20 @@
|
|||
{{if !empty($module_data['plugins']) and (!empty($module_data['title']) or (!empty($module_data['nav_data']) and is_array($module_data['nav_data'])))}}
|
||||
<div class="nav-switch-tabs am-pr plugins-admin-nav-container {{$module_data.plugins}}">
|
||||
{{if !empty($module_data['back_url'])}}
|
||||
<a href="{{$module_data.back_url}}" class="form-nav-top-retreat am-fr am-text-lg">
|
||||
<i class="iconfont icon-back"></i>
|
||||
</a>
|
||||
{{/if}}
|
||||
{{if !empty($module_data['nav_data']) and is_array($module_data['nav_data'])}}
|
||||
<ul>
|
||||
{{foreach $module_data.nav_data as $v}}
|
||||
<li {{if (isset($v['is_active']) and $v['is_active'] eq 1) or (!isset($v['is_active']) and !empty($plugins_controller_name) and !empty($plugins_action_name) and $plugins_controller_name.$plugins_action_name eq $v['control'].$v['action'])}}class="am-active"{{/if}}>
|
||||
<a href="{{:PluginsHomeUrl(empty($v['plugins']) ? $module_data['plugins'] : $v['plugins'], $v['control'], $v['action'], empty($v['params']) ? [] : $v['params'])}}">{{$v.name}}</a>
|
||||
</li>
|
||||
{{/foreach}}
|
||||
</ul>
|
||||
{{else /}}
|
||||
<span class="am-text-default">{{$module_data.title}}</span>
|
||||
{{/if}}
|
||||
</div>
|
||||
{{/if}}
|
||||
|
|
@ -0,0 +1,9 @@
|
|||
{{if !empty($module_data['plugins']) and !empty($module_data['nav_data']) and is_array($module_data['nav_data'])}}
|
||||
<div class="nav-switch-btn plugins-admin-nav-btn-container {{$module_data.plugins}}">
|
||||
{{foreach $module_data.nav_data as $k=>$v}}
|
||||
{{if !isset($v.is_show) or $v.is_show eq 1}}
|
||||
<a href="{{if empty($v['url'])}}javascript:;{{else /}}{{$v.url}}{{/if}}" class="item {{if (isset($params['type']) and isset($v['type']) and $params['type'] eq $v['type']) or (!empty($plugins_controller_name) and !empty($v['control']) and $plugins_controller_name eq $v['control']) or (!isset($params['type']) and isset($v['type']) and $k eq 0)}} am-active{{/if}}" data-key="{{if isset($v['type'])}}{{$v.type}}{{/if}}">{{$v.name}}</a>
|
||||
{{/if}}
|
||||
{{/foreach}}
|
||||
</div>
|
||||
{{/if}}
|
||||
|
|
@ -0,0 +1,37 @@
|
|||
{{:ModuleInclude('public/header')}}
|
||||
|
||||
<!-- header nav start -->
|
||||
{{if isset($is_header) and $is_header eq 1}}
|
||||
<!-- header top nav -->
|
||||
{{:ModuleInclude('public/header_top_nav')}}
|
||||
|
||||
<!-- search -->
|
||||
{{:ModuleInclude('public/nav_search')}}
|
||||
|
||||
<!-- header nav -->
|
||||
{{:ModuleInclude('public/header_nav')}}
|
||||
|
||||
<!-- goods category -->
|
||||
{{:ModuleInclude('public/goods_category')}}
|
||||
{{/if}}
|
||||
<!-- header nav end -->
|
||||
|
||||
<!-- conntent start -->
|
||||
<div class="am-g tips-error">
|
||||
<div class="am-u-md-6 am-u-sm-centered am-text-center">
|
||||
<i class="am-icon-times-circle am-icon-lg"></i>
|
||||
<span class="msg">{{$msg}}</span>
|
||||
<div class="tips-nav">
|
||||
{{if !isset($is_to_home) or $is_to_home eq 1}}
|
||||
<a href="{{$home_url}}" class="am-btn am-btn-warning am-btn-xs am-radius">{{:MyLang('common.back_to_the_home_title')}}</a>
|
||||
{{/if}}
|
||||
{{if !empty($to_url) and !empty($to_title)}}
|
||||
<a href="{{$to_url}}" class="am-btn am-btn-primary am-btn-xs am-radius">{{$to_title}}</a>
|
||||
{{/if}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- conntent end -->
|
||||
|
||||
<!-- footer -->
|
||||
{{:ModuleInclude('public/footer')}}
|
||||
|
|
@ -0,0 +1,37 @@
|
|||
{{:ModuleInclude('public/header')}}
|
||||
|
||||
<!-- header nav start -->
|
||||
{{if isset($is_header) and $is_header eq 1}}
|
||||
<!-- header top nav -->
|
||||
{{:ModuleInclude('public/header_top_nav')}}
|
||||
|
||||
<!-- search -->
|
||||
{{:ModuleInclude('public/nav_search')}}
|
||||
|
||||
<!-- header nav -->
|
||||
{{:ModuleInclude('public/header_nav')}}
|
||||
|
||||
<!-- goods category -->
|
||||
{{:ModuleInclude('public/goods_category')}}
|
||||
{{/if}}
|
||||
<!-- header nav end -->
|
||||
|
||||
<!-- conntent start -->
|
||||
<div class="am-g tips-success">
|
||||
<div class="am-u-md-6 am-u-sm-centered am-text-center">
|
||||
<i class="am-icon-check-circle am-icon-lg"></i>
|
||||
<span class="msg">{{$msg}}</span>
|
||||
<div class="tips-nav">
|
||||
{{if !isset($is_to_home) or $is_to_home eq 1}}
|
||||
<a href="{{$home_url}}" class="am-btn am-btn-secondary am-radius">{{:MyLang('common.back_to_the_home_title')}}</a>
|
||||
{{/if}}
|
||||
{{if !empty($to_url) and !empty($to_title)}}
|
||||
<a href="{{$to_url}}" class="am-btn am-btn-primary am-radius">{{$to_title}}</a>
|
||||
{{/if}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- conntent end -->
|
||||
|
||||
<!-- footer -->
|
||||
{{:ModuleInclude('public/footer')}}
|
||||
|
|
@ -0,0 +1,28 @@
|
|||
{{if !empty($home_seo_site_title)}}
|
||||
<div class="am-flex am-flex-items-center am-margin-bottom-main">
|
||||
{{if !empty($module_data['operate_url']) and !empty($module_data['operate_name'])}}
|
||||
<a href="{{$module_data['operate_url']}}" class="am-text-sm am-color-main">
|
||||
{{if !empty($module_data['operate_icon'])}}
|
||||
<i class="iconfont {{$module_data['operate_icon']}}"></i>
|
||||
{{/if}}
|
||||
<span>{{$module_data['operate_name']}}</span>
|
||||
</a>
|
||||
<em class="form-nav-top-retreat-ds am-color-grey-light am-text-sm am-margin-horizontal">|</em>
|
||||
{{/if}}
|
||||
<h1 class="user-center-main-title am-text-sm">
|
||||
{{if empty($module_data['title'])}}
|
||||
{{if empty($user_center_main_title)}}
|
||||
{{if stripos($home_seo_site_title, ' - ') heq false}}
|
||||
{{$home_seo_site_title}}
|
||||
{{else /}}
|
||||
{{:explode(' - ', $home_seo_site_title)[0]}}
|
||||
{{/if}}
|
||||
{{else /}}
|
||||
{{$user_center_main_title}}
|
||||
{{/if}}
|
||||
{{else /}}
|
||||
{{$module_data.title}}
|
||||
{{/if}}
|
||||
</h1>
|
||||
</div>
|
||||
{{/if}}
|
||||
|
|
@ -0,0 +1,87 @@
|
|||
<!-- 用户中心菜单 -->
|
||||
<div class="user-sidebar am-offcanvas" id="user-offcanvas">
|
||||
<div class="am-offcanvas-bar user-offcanvas-bar am-padding-left-lg am-padding-right-xs am-padding-vertical-sm am-background-white am-radius">
|
||||
<ul class="am-list user-sidebar-list am-margin-bottom-0 am-padding-bottom-0">
|
||||
{{if !empty($user_left_menu) and is_array($user_left_menu)}}
|
||||
{{foreach $user_left_menu as $k=>$v}}
|
||||
{{if $v.is_show eq 1}}
|
||||
{{if empty($v['item'])}}
|
||||
<li class="{{if isset($v['contains']) and ((in_array(strtolower($module_name.$controller_name.$action_name), $v['contains']) and isset($v['is_system']) and $v['is_system'] eq 1) or (!empty($plugins_module_name) and !empty($plugins_controller_name) and !empty($plugins_action_name) and in_array(strtolower($plugins_module_name.$plugins_controller_name.$plugins_action_name), $v['contains']) and (!isset($v['is_system']) or $v['is_system'] neq 1)))}} am-active{{/if}}" >
|
||||
<a href="{{$v.url}}">{{if !empty($v['icon'])}}<i class="iconfont {{$v.icon}}"></i>{{/if}} {{$v.name}}</a>
|
||||
</li>
|
||||
{{else /}}
|
||||
<li>
|
||||
<a class="am-cf user-item-parent" data-am-collapse="{target: '#collapse-nav-{{$k}}'}">{{if !empty($v['icon'])}}<i class="iconfont {{$v.icon}}"></i>{{/if}} {{$v.name}}</a>
|
||||
<ul class="am-list am-collapse user-sidebar-sub am-in" id="collapse-nav-{{$k}}">
|
||||
{{foreach $v.item as $vs}}
|
||||
{{if $vs.is_show eq 1}}
|
||||
<li class="{{if isset($vs['contains']) and ((in_array(strtolower($module_name.$controller_name.$action_name), $vs['contains']) and isset($vs['is_system']) and $vs['is_system'] eq 1) or (!empty($plugins_module_name) and !empty($plugins_controller_name) and !empty($plugins_action_name) and in_array(strtolower($plugins_module_name.$plugins_controller_name.$plugins_action_name), $vs['contains']) and (!isset($vs['is_system']) or $vs['is_system'] neq 1)))}} am-active{{/if}}">
|
||||
<a href="{{$vs.url}}" class="am-cf">{{$vs.name}}</a>
|
||||
</li>
|
||||
{{/if}}
|
||||
{{/foreach}}
|
||||
</ul>
|
||||
</li>
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
{{/foreach}}
|
||||
{{/if}}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<a href="javascript:;" class="am-icon-btn am-show-sm-only user-menu" data-am-offcanvas="{target: '#user-offcanvas'}">
|
||||
<i class="iconfont icon-table-grid"></i>
|
||||
</a>
|
||||
|
||||
<!-- 用户头像修改 -->
|
||||
<div class="am-popup am-radius common-cropper-popup" id="user-avatar-popup">
|
||||
<div class="am-popup-inner">
|
||||
<div class="am-popup-hd meila-radius">
|
||||
<h4 class="am-popup-title">{{:MyLang('common.avatar_upload_title')}}</h4>
|
||||
<span data-am-modal-close class="am-close">×</span>
|
||||
</div>
|
||||
<div class="am-popup-bd">
|
||||
<form class="am-form form-validation-user-avatar am-form-full-screen am-form-popup-fixed" action="{{:MyUrl('index/personal/useravatarupload')}}" method="POST" request-type="ajax-reload" enctype="multipart/form-data">
|
||||
<div class="cropper-images-view">
|
||||
<div class="img-container am-fl user-avatar-img-container">
|
||||
<img src="{{:UserDefaultAvatar()}}" alt="Picture" />
|
||||
</div>
|
||||
<div class="img-preview preview-lg am-fl am-radius user-avatar-img-preview am-hide-sm-only"></div>
|
||||
<div class="img-preview preview-md am-fl am-radius user-avatar-img-preview "></div>
|
||||
<div class="img-preview preview-sm am-fl am-radius user-avatar-img-preview "></div>
|
||||
<input type="hidden" name="img_x" id="user-avatar-img_x" />
|
||||
<input type="hidden" name="img_y" id="user-avatar-img_y" />
|
||||
<input type="hidden" name="img_width" id="user-avatar-img_width" />
|
||||
<input type="hidden" name="img_height" id="user-avatar-img_height" />
|
||||
<input type="hidden" name="img_rotate" id="user-avatar-img_rotate" />
|
||||
</div>
|
||||
<div class="submit-operation am-margin-top-xs">
|
||||
<button type="button" class="am-btn am-btn-default am-fl am-icon-search-plus am-btn-xs am-radius" data-method="zoom" data-option="0.1"></button>
|
||||
<div class="am-form-group am-form-file am-fl am-form-group-refreshing">
|
||||
<button type="button" class="am-btn am-btn-default am-btn-xs am-radius cropper-input-images-submit">
|
||||
<i class="am-icon-cloud-upload"></i> {{:MyLang('common.choice_images_text')}}</button>
|
||||
<input type="file" name="file" multiple accept="image/gif,image/jpeg,image/jpg,image/png" data-validation-message="{{:MyLang('common.choice_images_error_tips')}}" required />
|
||||
</div>
|
||||
<button type="button" class="am-btn am-btn-default am-fl am-icon-search-minus am-btn-xs am-radius" data-method="zoom" data-option="-0.1"></button>
|
||||
</div>
|
||||
|
||||
{{if is_array(MyLang('common.avatar_upload_tips'))}}
|
||||
<div class="am-alert am-alert-secondary">
|
||||
<p>{{:implode('</p><p>', MyLang('common.avatar_upload_tips'))}}</p>
|
||||
</div>
|
||||
{{/if}}
|
||||
|
||||
<div class="am-form-popup-submit">
|
||||
<button type="button" class="am-btn am-btn-warning am-radius am-btn-xs am-margin-right-lg" data-am-modal-close>
|
||||
<i class="am-icon-paint-brush"></i>
|
||||
<span>{{:MyLang('cancel_title')}}</span>
|
||||
</button>
|
||||
<button type="submit" class="am-btn am-btn-primary am-radius am-btn-xs btn-loading-example" data-am-loading="{spinner: 'circle-o-notch', loadingText:'{{:MyLang('confirm_upload_title')}}'}">
|
||||
<i class="am-icon-cloud-upload"></i>
|
||||
<span>{{:MyLang('confirm_upload_title')}}</span>
|
||||
</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -448,4 +448,4 @@
|
|||
})();
|
||||
</script>
|
||||
|
||||
<?php echo ModuleInclude('public/footer_page'); ?>
|
||||
<?php echo ModuleInclude('public/footer'); ?>
|
||||
|
|
|
|||
Loading…
Reference in New Issue