index.html 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348
  1. <!DOCTYPE html>
  2. <html lang="zh_CN" style="overflow: hidden;">
  3. <head>
  4. <meta http-equiv="X-UA-Compatible" content="IE=edge"/>
  5. <!-- Set render engine for 360 browser -->
  6. <meta name="renderer" content="webkit">
  7. <meta charset="utf-8">
  8. <title>商家后台 {:lang('ADMIN_CENTER')}</title>
  9. <meta name="description" content="This is page-header (.page-header &gt; h1)">
  10. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  11. <!-- HTML5 shim for IE8 support of HTML5 elements -->
  12. <!--[if lt IE 9]>
  13. <script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
  14. <![endif]-->
  15. <link href="__TMPL__/public/assets/themes/{:cmf_get_admin_style()}/bootstrap.min.css" rel="stylesheet">
  16. <link href="__TMPL__/public/assets/simpleboot3/css/simplebootadmin.css" rel="stylesheet">
  17. <link href="__STATIC__/font-awesome/css/font-awesome.min.css?page=index" rel="stylesheet" type="text/css">
  18. <link rel="stylesheet" href="__TMPL__/public/assets/themes/{:cmf_get_admin_style()}/simplebootadminindex.min.css">
  19. <!--[if lt IE 9]>
  20. <script src="https://cdn.bootcss.com/respond.js/1.4.2/respond.min.js"></script>
  21. <![endif]-->
  22. <style>
  23. /*-----------------导航hack--------------------*/
  24. .nav-list > li.open {
  25. position: relative;
  26. }
  27. .nav-list > li.open .back {
  28. display: none;
  29. }
  30. .nav-list > li.open .normal {
  31. display: inline-block !important;
  32. }
  33. .nav-list > li.open a {
  34. padding-left: 7px;
  35. }
  36. .nav-list > li .submenu > li > a {
  37. background: #fff;
  38. }
  39. .nav-list > li .submenu > li a > [class*="fa-"]:first-child {
  40. left: 20px;
  41. }
  42. .nav-list > li ul.submenu ul.submenu > li a > [class*="fa-"]:first-child {
  43. left: 30px;
  44. }
  45. /*----------------导航hack--------------------*/
  46. </style>
  47. <script>
  48. //全局变量
  49. var GV = {
  50. HOST: "{$_SERVER['HTTP_HOST']|default=''}",
  51. ROOT: "__ROOT__/",
  52. WEB_ROOT: "__WEB_ROOT__/",
  53. JS_ROOT: "static/js/"
  54. };
  55. </script>
  56. <php>$submenus=$menus;</php>
  57. <php>
  58. if (!function_exists('getsubmenu')) {
  59. function getsubmenu($submenus){
  60. </php>
  61. <notempty name="submenus">
  62. <php>foreach($submenus as $menu){</php>
  63. <li>
  64. <php>
  65. $lang = isset($menu['lang'])? $menu['lang'] : '';
  66. $name = isset($menu['name'])? $menu['name'] : '';
  67. $menu_name=lang($lang);
  68. $menu_name=$lang==$menu_name?$name:$menu_name;
  69. </php>
  70. <php>if(empty($menu['items'])){</php>
  71. <a href="javascript:openapp('{$menu.url}','{$menu.id}','{$menu_name}',true);">
  72. <i class="fa fa-{$menu.icon|default='desktop'}"></i>
  73. <span class="menu-text"> {$menu_name} </span>
  74. </a>
  75. <php>}else{</php>
  76. <ul class="submenu">
  77. <php>getsubmenu1($menu['items'])</php>
  78. </ul>
  79. <php>}</php>
  80. </li>
  81. <php>}</php>
  82. </notempty>
  83. <php>
  84. }
  85. }
  86. </php>
  87. <php>
  88. if (!function_exists('getsubmenu1')) {
  89. function getsubmenu1($submenus){
  90. </php>
  91. <php>foreach($submenus as $menu){</php>
  92. <li>
  93. <php>
  94. $menu_name=lang($menu['lang']);
  95. $menu_name=$menu['lang']==$menu_name?$menu['name']:$menu_name;
  96. </php>
  97. <php>if(empty($menu['items'])){</php>
  98. <a href="javascript:openapp('{$menu.url}','{$menu.id}','{$menu_name}',true);">
  99. <i class="fa fa-caret-right"></i>
  100. <span class="menu-text">
  101. {$menu_name}
  102. </span>
  103. </a>
  104. <php>}else{</php>
  105. <a href="#" class="dropdown-toggle">
  106. <i class="fa fa-caret-right"></i>
  107. <span class="menu-text">
  108. {$menu_name}
  109. </span>
  110. <b class="arrow fa fa-angle-right"></b>
  111. </a>
  112. <ul class="submenu">
  113. <php>getsubmenu2($menu['items'])</php>
  114. </ul>
  115. <php>}</php>
  116. </li>
  117. <php>}</php>
  118. <php>}
  119. }
  120. </php>
  121. <php>
  122. if (!function_exists('getsubmenu2')) {
  123. function getsubmenu2($submenus){</php>
  124. <php>foreach($submenus as $menu){</php>
  125. <li>
  126. <php>
  127. $menu_name=lang($menu['lang']);
  128. $menu_name=$menu['lang']==$menu_name?$menu['name']:$menu_name;
  129. </php>
  130. <a href="javascript:openapp('{$menu.url}','{$menu.id}','{$menu_name}',true);">
  131. &nbsp;<i class="fa fa-angle-double-right"></i>
  132. <span class="menu-text">
  133. {$menu_name}
  134. </span>
  135. </a>
  136. </li>
  137. <php>}</php>
  138. <php>}
  139. }
  140. </php>
  141. <if condition="APP_DEBUG">
  142. <style>
  143. #think_page_trace_open {
  144. left: 0 !important;
  145. right: initial !important;
  146. }
  147. </style>
  148. </if>
  149. </head>
  150. <body style="min-width:900px;overflow: hidden;">
  151. <div id="loading"><i class="loadingicon"></i><span>{:lang('LOADING')}</span></div>
  152. <div id="right-tools-wrapper">
  153. <!--<span id="right_tools_clearcache" title="清除缓存" onclick="javascript:openapp('{:url('shop/Setting/clearcache')}','right_tool_clearcache','清除缓存');"><i class="fa fa-trash-o right_tool_icon"></i></span>-->
  154. <!--<span id="refresh-wrapper" title="{:lang('REFRESH_CURRENT_PAGE')}"><i-->
  155. <!--class="fa fa-refresh right_tool_icon"></i></span>-->
  156. </div>
  157. <div class="navbar navbar-default">
  158. <div class="container-fluid">
  159. <div class="navbar-header">
  160. <a href="{:url('shop/index/index')}" class="navbar-brand" style="min-width: 200px;text-align: center;"><if condition="$shopInfo.name">{$shopInfo.name}的</if>商家后台</a>
  161. <button class="navbar-toggle" type="button" data-toggle="collapse" data-target="#navbar-main">
  162. <span class="icon-bar"></span>
  163. <span class="icon-bar"></span>
  164. <span class="icon-bar"></span>
  165. </button>
  166. </div>
  167. <div class="navbar-collapse collapse" id="navbar-main">
  168. <ul class="nav navbar-nav navbar-right simplewind-nav">
  169. <li class="light-blue dropdown" style="border-left:none;">
  170. <a data-toggle="dropdown" href="#" class="dropdown-toggle">
  171. <if condition="isset($admin['avatar']) && $admin['avatar']">
  172. <img class="nav-user-photo" width="30" height="30"
  173. src="{:cmf_get_user_avatar_url($admin['avatar'])}" alt="{$admin.user_login}">
  174. <else/>
  175. <img class="nav-user-photo" width="30" height="30"
  176. src="__TMPL__/public/assets/images/logo-18.png" alt="{$admin.user_login|default=''}">
  177. </if>
  178. <span class="user-info">
  179. {:lang('WELCOME_USER',array('user_nickname' => empty($admin['user_nickname'] )? $admin['user_login'] : $admin['user_nickname']))}
  180. </span>
  181. <i class="fa fa-caret-down"></i>
  182. </a>
  183. <ul class="user-menu pull-right dropdown-menu dropdown-yellow dropdown-caret dropdown-closer">
  184. <if condition="cmf_auth_check(cmf_get_current_admin_id(),'shop/Setting/site')">
  185. <li>
  186. <a href="javascript:openapp('{:url('setting/site')}','index_site','{:lang('ADMIN_SETTING_SITE')}');"><i
  187. class="fa fa-cog"></i> {:lang('ADMIN_SETTING_SITE')}</a></li>
  188. </if>
  189. <if condition="cmf_auth_check(cmf_get_current_admin_id(),'shop/user/userinfo')">
  190. <li>
  191. <a href="javascript:openapp('{:url('user/userinfo')}','index_userinfo','{:lang('ADMIN_USER_USERINFO')}');"><i
  192. class="fa fa-user"></i> {:lang('ADMIN_USER_USERINFO')}</a></li>
  193. </if>
  194. <if condition="cmf_auth_check(cmf_get_current_admin_id(),'shop/Setting/password')">
  195. <li>
  196. <a href="javascript:openapp('{:url('setting/password')}','index_password','{:lang('ADMIN_SETTING_PASSWORD')}');"><i
  197. class="fa fa-lock"></i> {:lang('ADMIN_SETTING_PASSWORD')}</a></li>
  198. </if>
  199. <li><a href="{:url('Public/logout')}"><i class="fa fa-sign-out"></i> {:lang('LOGOUT')}</a></li>
  200. </ul>
  201. </li>
  202. </ul>
  203. </div>
  204. </div>
  205. </div>
  206. <div class="main-container container-fluid">
  207. <div class="sidebar" id="sidebar">
  208. <div class="sidebar-shortcuts" id="sidebar-shortcuts" style="text-align: left; margin-left: 5px;">
  209. <if condition="cmf_auth_check(cmf_get_current_admin_id(),'shop/Setting/clearcache')">
  210. <a class="btn btn-sm btn-danger"
  211. href="javascript:openapp('{:url('shop/Setting/clearcache')}','index_clearcache','{:lang('ADMIN_SETTING_CLEARCACHE')}',true);"
  212. title="{:lang('ADMIN_SETTING_CLEARCACHE')}"
  213. data-toggle="tooltip">
  214. <i class="fa fa-trash-o"></i>
  215. </a>
  216. </if>
  217. <if condition="cmf_auth_check(cmf_get_current_admin_id(),'shop/RecycleBin/index')">
  218. <a class="btn btn-sm btn-primary"
  219. href="javascript:openapp('{:url('shop/RecycleBin/index')}','index_recycle','回收站',true);"
  220. title="回收站"
  221. data-toggle="tooltip">
  222. <i class="fa fa-recycle"></i>
  223. </a>
  224. </if>
  225. </div>
  226. <div id="nav-wrapper">
  227. <ul class="nav nav-list">
  228. {:getsubmenu($submenus)}
  229. </ul>
  230. </div>
  231. </div>
  232. <div class="main-content">
  233. <div class="page-content" id="content">
  234. <iframe src="{:url('Main/index')}" style="width:100%;height: 100%;" frameborder="0" id="appiframe-0"
  235. class="appiframe"></iframe>
  236. </div>
  237. </div>
  238. </div>
  239. <script src="__TMPL__/public/assets/js/jquery-1.10.2.min.js"></script>
  240. <script src="__STATIC__/js/wind.js"></script>
  241. <script src="__TMPL__/public/assets/js/bootstrap.min.js"></script>
  242. <script src="__STATIC__/js/admin.js"></script>
  243. <script src="__TMPL__/public/assets/simpleboot3/js/adminindex.js"></script>
  244. <script>
  245. $(function () {
  246. $("[data-toggle='tooltip']").tooltip();
  247. $("li.dropdown").hover(function () {
  248. $(this).addClass("open");
  249. }, function () {
  250. $(this).removeClass("open");
  251. });
  252. var menus= {:$menus_js_var};
  253. //读取url参数。尝试执行菜单功能。
  254. if(typeof(menus) != "undefined"){
  255. var tw = window.top;
  256. var twa =tw.location.href.split("#");
  257. var url = twa[1];
  258. var urlTmp = url;
  259. if (url !=null ){
  260. //去掉/ 去掉_ 全部小写。
  261. urlTmp = urlTmp.replace(/[\\/|_|]/g,"");
  262. urlTmp = urlTmp.replace(".html","");
  263. var menu = menus[urlTmp];
  264. if (menu){
  265. openapp(url,menu.id+menu.app,menu.name,true);
  266. }
  267. }
  268. }
  269. });
  270. var ismenumin = $("#sidebar").hasClass("menu-min");
  271. $(".nav-list").on("click", function (event) {
  272. var closest_a = $(event.target).closest("a");
  273. if (!closest_a || closest_a.length == 0) {
  274. return
  275. }
  276. if (!closest_a.hasClass("dropdown-toggle")) {
  277. if (ismenumin && "click" == "tap" && closest_a.get(0).parentNode.parentNode == this) {
  278. var closest_a_menu_text = closest_a.find(".menu-text").get(0);
  279. if (event.target != closest_a_menu_text && !$.contains(closest_a_menu_text, event.target)) {
  280. return false
  281. }
  282. }
  283. return
  284. }
  285. var closest_a_next = closest_a.next().get(0);
  286. if (!$(closest_a_next).is(":visible")) {
  287. var closest_ul = $(closest_a_next.parentNode).closest("ul");
  288. if (ismenumin && closest_ul.hasClass("nav-list")) {
  289. return
  290. }
  291. closest_ul.find("> .open > .submenu").each(function () {
  292. if (this != closest_a_next && !$(this.parentNode).hasClass("active")) {
  293. $(this).slideUp(150).parent().removeClass("open")
  294. }
  295. });
  296. }
  297. if (ismenumin && $(closest_a_next.parentNode.parentNode).hasClass("nav-list")) {
  298. return false;
  299. }
  300. $(closest_a_next).slideToggle(150).parent().toggleClass("open");
  301. return false;
  302. });
  303. </script>
  304. </body>
  305. </html>