初始化项目
This commit is contained in:
20
application/user/config.php
Normal file
20
application/user/config.php
Normal file
@@ -0,0 +1,20 @@
|
||||
<?php
|
||||
// +----------------------------------------------------------------------
|
||||
// | SentCMS [ WE CAN DO IT JUST THINK IT ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | Copyright (c) 2013 http://www.tensent.cn All rights reserved.
|
||||
// +----------------------------------------------------------------------
|
||||
// | Author: molong <molong@tensent.cn> <http://www.tensent.cn>
|
||||
// +----------------------------------------------------------------------
|
||||
|
||||
return array(
|
||||
|
||||
'view_replace_str' => array(
|
||||
'__ADDONS__' => BASE_PATH . '/addons',
|
||||
'__PUBLIC__' => BASE_PATH . '/public',
|
||||
'__STATIC__' => BASE_PATH . '/application/user/static',
|
||||
'__IMG__' => BASE_PATH . '/application/user/static/images',
|
||||
'__CSS__' => BASE_PATH . '/application/user/static/css',
|
||||
'__JS__' => BASE_PATH . '/application/user/static/js',
|
||||
)
|
||||
);
|
||||
184
application/user/controller/Content.php
Normal file
184
application/user/controller/Content.php
Normal file
@@ -0,0 +1,184 @@
|
||||
<?php
|
||||
// +----------------------------------------------------------------------
|
||||
// | SentCMS [ WE CAN DO IT JUST THINK IT ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | Copyright (c) 2013 http://www.tensent.cn All rights reserved.
|
||||
// +----------------------------------------------------------------------
|
||||
// | Author: molong <molong@tensent.cn> <http://www.tensent.cn>
|
||||
// +----------------------------------------------------------------------
|
||||
|
||||
namespace app\user\controller;
|
||||
use app\common\controller\User;
|
||||
|
||||
class Content extends User{
|
||||
|
||||
public function _initialize(){
|
||||
parent::_initialize();
|
||||
$this->getContentMenu();
|
||||
$model_id = $this->request->param('model_id');
|
||||
$row = db('Model')->select();
|
||||
foreach ($row as $key => $value) {
|
||||
$list[$value['id']] = $value;
|
||||
}
|
||||
|
||||
if (empty($list[$model_id])) {
|
||||
return $this->error("无此模型!");
|
||||
}else {
|
||||
$this->modelInfo = $list[$model_id];
|
||||
if ($this->modelInfo['extend'] > 1) {
|
||||
$this->model = model($this->modelInfo['name']);
|
||||
}else{
|
||||
$this->model = model('Document')->extend($this->modelInfo['name']);
|
||||
}
|
||||
}
|
||||
|
||||
$this->assign('model_id',$model_id);
|
||||
$this->assign('model_list',$list);
|
||||
$this->assign('model_info',$this->modelInfo);
|
||||
}
|
||||
|
||||
public function index(){
|
||||
if ($this->modelInfo['list_grid'] == '') {
|
||||
return $this->error("列表定义不正确!", url('admin/model/edit',array('id'=>$this->modelInfo['id'])));
|
||||
}
|
||||
$grid_list = get_grid_list($this->modelInfo['list_grid']);
|
||||
$order = "id desc";
|
||||
$map['uid'] = session('user_auth.uid');
|
||||
if ($this->modelInfo['extend'] == 1) {
|
||||
$map['model_id'] = $this->modelInfo['id'];
|
||||
}
|
||||
|
||||
$field = array_filter($grid_list['fields']);
|
||||
$list = $this->model->where($map)->field($field)->order($order)->paginate(15);
|
||||
|
||||
$data = array(
|
||||
'grid' => $grid_list,
|
||||
'list' => $list,
|
||||
'page' => $list->render()
|
||||
);
|
||||
$this->assign($data);
|
||||
return $this->fetch();
|
||||
}
|
||||
|
||||
/**
|
||||
* 内容添加
|
||||
* @author molong <ycgpp@126.com>
|
||||
*/
|
||||
public function add(){
|
||||
if (IS_POST) {
|
||||
$result = $this->model->change();
|
||||
if ($result) {
|
||||
return $this->success("添加成功!",url('admin/content/index',array('model_id'=>$this->modelInfo['id'])));
|
||||
}else{
|
||||
return $this->error($this->model->getError(),'');
|
||||
}
|
||||
}else{
|
||||
$info = array(
|
||||
'model_id' => $this->modelInfo['id']
|
||||
);
|
||||
$data = array(
|
||||
'info' => $info,
|
||||
'fieldGroup' => $this->getField($this->modelInfo)
|
||||
);
|
||||
$this->assign($data);
|
||||
return $this->fetch('public/edit');
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 内容修改
|
||||
* @author molong <ycgpp@126.com>
|
||||
*/
|
||||
public function edit($id){
|
||||
if (IS_POST) {
|
||||
$result = $this->model->change();
|
||||
if ($result !== false) {
|
||||
return $this->success("更新成功!",url('admin/content/index',array('model_id'=>$this->modelInfo['id'])));
|
||||
}else{
|
||||
return $this->error($this->model->getError(),'');
|
||||
}
|
||||
}else{
|
||||
if (!$id) {
|
||||
return $this->error("非法操作!");
|
||||
}
|
||||
$info = $this->model->detail($id);
|
||||
if (!$info) {
|
||||
return $this->error($this->model->getError());
|
||||
}
|
||||
$info['model_id'] = $this->modelInfo['id'];
|
||||
$data = array(
|
||||
'info' => $info,
|
||||
'fieldGroup' => $this->getField($this->modelInfo)
|
||||
);
|
||||
$this->assign($data);
|
||||
return $this->fetch('public/edit');
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 内容删除
|
||||
* @author molong <ycgpp@126.com>
|
||||
*/
|
||||
public function del(){
|
||||
$id = input('get.id','','trim');
|
||||
$ids = input('post.ids/a',array());
|
||||
array_push($ids, $id);
|
||||
if (empty($ids)) {
|
||||
return $this->error("非法操作!");
|
||||
}
|
||||
|
||||
$map['id'] = array('IN',$ids);
|
||||
$result = $this->model->del($map);
|
||||
|
||||
if ($result) {
|
||||
return $this->success("删除成功!");
|
||||
}else{
|
||||
return $this->error("删除失败!", '', "");
|
||||
}
|
||||
}
|
||||
|
||||
protected function getField(){
|
||||
$field_group = parse_config_attr($this->modelInfo['field_group']);
|
||||
$field_sort = json_decode($this->modelInfo['field_sort'],true);
|
||||
|
||||
if ($this->modelInfo['extend'] > 1) {
|
||||
$map['model_id'] = $this->modelInfo['id'];
|
||||
}else{
|
||||
$model_id[] = $this->modelInfo['id'];
|
||||
$model_id[] = 1;
|
||||
$map['model_id'] = array('IN',$model_id);
|
||||
}
|
||||
if (ACTION_NAME == 'add') {
|
||||
$map['is_show'] = array('in',array('1','2'));
|
||||
}elseif(ACTION_NAME == 'edit'){
|
||||
$map['is_show'] = array('in',array('1','3'));
|
||||
}
|
||||
|
||||
//获得数组的第一条数组
|
||||
$first_key = array_keys($field_group);
|
||||
$fields = model('Attribute')->getFieldlist($map);
|
||||
if (!empty($field_sort)) {
|
||||
foreach ($field_sort as $key => $value) {
|
||||
foreach ($value as $index) {
|
||||
if (isset($fields[$index])) {
|
||||
$groupfield[$key][] = $fields[$index];
|
||||
unset($fields[$index]);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
//未进行排序的放入第一组中
|
||||
$fields[] = array('name'=>'model_id','type'=>'hidden'); //加入模型ID值
|
||||
$fields[] = array('name'=>'id','type'=>'hidden'); //加入模型ID值
|
||||
foreach ($fields as $key => $value) {
|
||||
$groupfield[$first_key[0]][] = $value;
|
||||
}
|
||||
|
||||
foreach ($field_group as $key => $value) {
|
||||
if ($groupfield[$key]) {
|
||||
$data[$value] = $groupfield[$key];
|
||||
}
|
||||
}
|
||||
return $data;
|
||||
}
|
||||
}
|
||||
18
application/user/controller/Index.php
Normal file
18
application/user/controller/Index.php
Normal file
@@ -0,0 +1,18 @@
|
||||
<?php
|
||||
// +----------------------------------------------------------------------
|
||||
// | SentCMS [ WE CAN DO IT JUST THINK IT ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | Copyright (c) 2013 http://www.tensent.cn All rights reserved.
|
||||
// +----------------------------------------------------------------------
|
||||
// | Author: molong <molong@tensent.cn> <http://www.tensent.cn>
|
||||
// +----------------------------------------------------------------------
|
||||
|
||||
namespace app\user\controller;
|
||||
use app\common\controller\User;
|
||||
|
||||
class Index extends User{
|
||||
|
||||
public function index(){
|
||||
return $this->fetch();
|
||||
}
|
||||
}
|
||||
74
application/user/controller/Login.php
Normal file
74
application/user/controller/Login.php
Normal file
@@ -0,0 +1,74 @@
|
||||
<?php
|
||||
// +----------------------------------------------------------------------
|
||||
// | SentCMS [ WE CAN DO IT JUST THINK IT ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | Copyright (c) 2013 http://www.tensent.cn All rights reserved.
|
||||
// +----------------------------------------------------------------------
|
||||
// | Author: molong <molong@tensent.cn> <http://www.tensent.cn>
|
||||
// +----------------------------------------------------------------------
|
||||
|
||||
namespace app\user\controller;
|
||||
use app\common\controller\Fornt;
|
||||
|
||||
class Login extends Fornt{
|
||||
|
||||
public function index($username = '', $password = '', $verify = ''){
|
||||
if (IS_POST) {
|
||||
if (!$username || !$password) {
|
||||
return $this->error('用户名或者密码不能为空!','');
|
||||
}
|
||||
//验证码验证
|
||||
$this->checkVerify($verify);
|
||||
$user = model('User');
|
||||
$uid = $user->login($username,$password);
|
||||
if ($uid > 0) {
|
||||
$url = session('http_referer') ? session('http_referer') : url('user/index/index');
|
||||
return $this->success('登录成功!', $url);
|
||||
}else{
|
||||
switch($uid) {
|
||||
case -1: $error = '用户不存在或被禁用!'; break; //系统级别禁用
|
||||
case -2: $error = '密码错误!'; break;
|
||||
default: $error = '未知错误!'; break; // 0-接口参数错误(调试阶段使用)
|
||||
}
|
||||
return $this->error($error,'');
|
||||
}
|
||||
}else{
|
||||
session('http_referer', isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : '');
|
||||
if (is_login()) {
|
||||
return $this->redirect('user/index/index');
|
||||
}else{
|
||||
return $this->fetch();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public function logout(){
|
||||
model('User')->logout();
|
||||
return $this->redirect('index/index/index');
|
||||
}
|
||||
|
||||
public function register(){
|
||||
if (IS_POST) {
|
||||
$user = model('User');
|
||||
$username = input('username', '', 'trim');
|
||||
$password = input('password', '', 'trim');
|
||||
$repassword = input('repassword', '', 'trim');
|
||||
$verify = input('verify', '', 'trim');
|
||||
|
||||
//验证码验证
|
||||
$this->checkVerify($verify);
|
||||
|
||||
if ($username == '' || $password == '' || $repassword == '') {
|
||||
return $this->error("请填写完整注册信息!", '');
|
||||
}
|
||||
$result = $user->register($username, $password, $repassword);
|
||||
if ($result) {
|
||||
return $this->success('注册成功!', url('user/index/index'));
|
||||
}else{
|
||||
return $this->error($user->getError(), '');
|
||||
}
|
||||
}else{
|
||||
return $this->fetch();
|
||||
}
|
||||
}
|
||||
}
|
||||
57
application/user/controller/Profile.php
Normal file
57
application/user/controller/Profile.php
Normal file
@@ -0,0 +1,57 @@
|
||||
<?php
|
||||
// +----------------------------------------------------------------------
|
||||
// | SentCMS [ WE CAN DO IT JUST THINK IT ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | Copyright (c) 2013 http://www.tensent.cn All rights reserved.
|
||||
// +----------------------------------------------------------------------
|
||||
// | Author: molong <molong@tensent.cn> <http://www.tensent.cn>
|
||||
// +----------------------------------------------------------------------
|
||||
|
||||
namespace app\user\controller;
|
||||
use app\common\controller\User;
|
||||
|
||||
class Profile extends User{
|
||||
|
||||
//修改资料
|
||||
public function index(){
|
||||
$user = model('User');
|
||||
if (IS_POST) {
|
||||
$result = $user->change();
|
||||
if ($result !== false) {
|
||||
return $this->success("更新成功!", "");
|
||||
}else{
|
||||
return $this->error($user->getError(), '');
|
||||
}
|
||||
}else{
|
||||
$group['基础资料'] = $user->useredit;
|
||||
|
||||
$info = $user->getInfo(session('user_auth.uid'));
|
||||
$data = array(
|
||||
'fieldGroup' => $group,
|
||||
'info' => $info
|
||||
);
|
||||
$this->assign($data);
|
||||
return $this->fetch('public/edit');
|
||||
}
|
||||
}
|
||||
|
||||
//修改密码
|
||||
public function editpw(){
|
||||
$user = model('User');
|
||||
if (IS_POST) {
|
||||
$result = $user->editpw();
|
||||
if ($result !== false) {
|
||||
return $this->success("更新成功!", "");
|
||||
}else{
|
||||
return $this->error($user->getError(), '');
|
||||
}
|
||||
}else{
|
||||
return $this->fetch();
|
||||
}
|
||||
}
|
||||
|
||||
//修改头像
|
||||
public function avatar(){
|
||||
return $this->fetch();
|
||||
}
|
||||
}
|
||||
75
application/user/controller/Upload.php
Normal file
75
application/user/controller/Upload.php
Normal file
@@ -0,0 +1,75 @@
|
||||
<?php
|
||||
// +----------------------------------------------------------------------
|
||||
// | SentCMS [ WE CAN DO IT JUST THINK IT ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | Copyright (c) 2013 http://www.tensent.cn All rights reserved.
|
||||
// +----------------------------------------------------------------------
|
||||
// | Author: molong <molong@tensent.cn> <http://www.tensent.cn>
|
||||
// +----------------------------------------------------------------------
|
||||
|
||||
namespace app\user\controller;
|
||||
use app\common\controller\User;
|
||||
|
||||
class Upload extends User {
|
||||
|
||||
protected $controller;
|
||||
|
||||
public function _initialize(){
|
||||
parent::_initialize();
|
||||
$this->controller = controller('common/Upload');
|
||||
}
|
||||
|
||||
public function _empty(){
|
||||
$action = $this->request->action();
|
||||
return $this->controller->$action();
|
||||
}
|
||||
|
||||
public function download(){
|
||||
$order_id = input('order_id', '', 'trim');
|
||||
$product_id = input('product_id', '', 'trim');
|
||||
|
||||
//判断是否已经支付
|
||||
$pay_status = db('Order')->where(array('id'=>$order_id))->value('pay_status');
|
||||
if (!$pay_status) {
|
||||
return $this->error("您还未购买!");
|
||||
}
|
||||
//获取产品文件
|
||||
$book = db('Book')->where(array('id'=>$product_id))->find();
|
||||
|
||||
if (!$book['file']) {
|
||||
return $this->error("无此图书文件,请联系网站管理员!");
|
||||
}
|
||||
|
||||
$book_file = db('file')->where(array('id'=>$book['file']))->find();
|
||||
$attachment = config('attachment_upload');
|
||||
$file = array(
|
||||
'rootpath' => $attachment['rootPath'],
|
||||
'savepath' => $book_file['savepath'],
|
||||
'savename' => $book_file['savename'],
|
||||
'type' => $book_file['ext'],
|
||||
'size' => $book_file['size'],
|
||||
'name' => $book['book_name'].'.'.$book_file['ext']
|
||||
);
|
||||
$result = $this->controller->downLocalFile($file);
|
||||
if ($result === false) {
|
||||
return $this->error("下载失败!");
|
||||
}
|
||||
}
|
||||
|
||||
public function avatar(){
|
||||
$file = \think\Input::file('UpFile');
|
||||
$info = $file->rule('uniqid')->move('./uploads/avatar/'.setavatardir(session('user_auth.uid')), true, true);
|
||||
|
||||
$image = new \org\Image();
|
||||
$image->init()->open($info->getPathname())->thumb(120,120)->save('./uploads/avatar/'.setavatardir(session('user_auth.uid')).'/avatar_big.png');
|
||||
$image->init()->open($info->getPathname())->thumb(100,100)->save('./uploads/avatar/'.setavatardir(session('user_auth.uid')).'/avatar_middle.png');
|
||||
$image->init()->open($info->getPathname())->thumb(60,60)->save('./uploads/avatar/'.setavatardir(session('user_auth.uid')).'/avatar_small.png');
|
||||
unlink($info->getPathname());
|
||||
$data = array(
|
||||
array('ImgUrl' => '/uploads/avatar/'.setavatardir(session('user_auth.uid')).'/avatar_big.png'),
|
||||
array('ImgUrl' => '/uploads/avatar/'.setavatardir(session('user_auth.uid')).'/avatar_middle.png'),
|
||||
array('ImgUrl' => '/uploads/avatar/'.setavatardir(session('user_auth.uid')).'/avatar_small.png'),
|
||||
);
|
||||
return json_encode($data);
|
||||
}
|
||||
}
|
||||
6155
application/user/static/css/style.css
Normal file
6155
application/user/static/css/style.css
Normal file
File diff suppressed because it is too large
Load Diff
0
application/user/static/js/app.js
Normal file
0
application/user/static/js/app.js
Normal file
60
application/user/view/content/index.html
Normal file
60
application/user/view/content/index.html
Normal file
@@ -0,0 +1,60 @@
|
||||
{extend name="public/base"/}
|
||||
{block name="body"}
|
||||
<div class="main-box clearfix">
|
||||
<header class="main-box-header clearfix">
|
||||
<div class="pull-left">
|
||||
<h2>{$model_info['title']}管理</h2>
|
||||
</div>
|
||||
<div class="pull-right">
|
||||
<a class="btn btn-primary" href="{:url('user/content/add?model_id='.$model_id)}">新 增</a>
|
||||
<button class="btn btn-danger ajax-post confirm" url="{:url('user/content/del?model_id='.$model_id)}" target-form="ids">删 除</button>
|
||||
</div>
|
||||
</header>
|
||||
<div class="main-box-body clearfix">
|
||||
<div class="table-responsive clearfix">
|
||||
|
||||
<div class="table-responsive clearfix">
|
||||
<table class="table table-hover">
|
||||
<thead>
|
||||
<tr>
|
||||
<th width="30"><input class="checkbox check-all" type="checkbox"></th>
|
||||
{volist name="grid['grids']" id="item"}
|
||||
<th>{$item['title']}</th>
|
||||
{/volist}
|
||||
<th>操作</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{if condition="empty($list)"}
|
||||
{php}
|
||||
$cow = count($grid['grids'])+2;
|
||||
{/php}
|
||||
<tr>
|
||||
<td colspan="{$cow}" align="center">暂无数据!</td>
|
||||
</tr>
|
||||
{else/}
|
||||
{volist name="list" id="item"}
|
||||
<tr>
|
||||
<td><input class="ids row-selected" type="checkbox" name="ids[]" value="{$item['id']}"></td>
|
||||
{volist name="grid['grids']" id="vo"}
|
||||
{if isset($vo['format'])}
|
||||
<td>{$item[$vo['field'][0]]|$vo['format']}</td>
|
||||
{else/}
|
||||
<td>{$item[$vo['field'][0]]}</td>
|
||||
{/if}
|
||||
{/volist}
|
||||
<td>
|
||||
<a href="{:url('user/content/edit',array('id'=>$item['id'],'model_id'=>$model_id))}" >编辑</a>
|
||||
<a href="{:url('user/content/del',array('id'=>$item['id'],'model_id'=>$model_id))}" class="ajax-get confirm">删除</a>
|
||||
</td>
|
||||
</tr>
|
||||
{/volist}
|
||||
{/if}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
{$page}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{/block}
|
||||
18
application/user/view/index/index.html
Normal file
18
application/user/view/index/index.html
Normal file
@@ -0,0 +1,18 @@
|
||||
{extend name="public/base" /}
|
||||
{block name="body"}
|
||||
<div class="row">
|
||||
<div class="col-lg-6 col-sm-6 col-xs-12">
|
||||
<div class="main-box infographic-box colored bg-primary"> <i class="fa fa-shopping-bag"></i>
|
||||
<span class="headline">订单总数</span>
|
||||
<span class="value">0</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-6 col-sm-6 col-xs-12">
|
||||
<div class="main-box infographic-box colored bg-primary"> <i class="fa fa-money"></i>
|
||||
<span class="headline">我的消费</span>
|
||||
<span class="value">0</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{/block}
|
||||
141
application/user/view/login/index.html
Normal file
141
application/user/view/login/index.html
Normal file
@@ -0,0 +1,141 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
|
||||
<meta charset="UTF-8">
|
||||
<title>会员登录</title>
|
||||
<link rel="stylesheet" type="text/css" href="__PUBLIC__/css/bootstrap/bootstrap.min.css"/>
|
||||
<link rel="stylesheet" type="text/css" href="__PUBLIC__/css/libs/font-awesome.css"/>
|
||||
<link rel="stylesheet" type="text/css" href="__PUBLIC__/css/libs/nanoscroller.css"/>
|
||||
<link rel="stylesheet" type="text/css" href="__PUBLIC__/css/common.css"/>
|
||||
<!-- <link href='//fonts.googleapis.com/css?family=Open+Sans:400,600,700,300|Titillium+Web:200,300,400' rel='stylesheet' type='text/css'> -->
|
||||
<link rel="stylesheet" type="text/css" href="__CSS__/style.css"/>
|
||||
<script src="__PUBLIC__/js/jquery.js"></script>
|
||||
<!--[if lt IE 9]>
|
||||
<script src="__PUBLIC__/js/html5shiv.js"></script>
|
||||
<script src="__PUBLIC__/js/respond.min.js"></script>
|
||||
<![endif]-->
|
||||
</head>
|
||||
<body>
|
||||
<body id="login-page-full">
|
||||
<div id="login-full-wrapper">
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-xs-12">
|
||||
<div id="login-box">
|
||||
<div id="login-box-holder">
|
||||
<div class="row">
|
||||
<div class="col-xs-12">
|
||||
<div id="login-box-inner">
|
||||
<form role="form" method="post">
|
||||
<div class="input-group">
|
||||
<span class="input-group-addon"> <i class="fa fa-user"></i>
|
||||
</span>
|
||||
<input class="form-control" name="username" type="text" placeholder="登录账户"></div>
|
||||
<div class="input-group">
|
||||
<span class="input-group-addon"> <i class="fa fa-key"></i>
|
||||
</span>
|
||||
<input type="password" name="password" class="form-control" placeholder="登录密码"></div>
|
||||
<div class="input-group">
|
||||
<span class="input-group-addon"> <i class="fa fa-qrcode"></i>
|
||||
</span>
|
||||
<input type="text" name="verify" class="form-control" placeholder="验证码">
|
||||
<span class="input-group-addon reloadverify"><img src="{:url('user/index/verify')}" alt="验证码" height="40" class="verifyimg"></span>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-xs-12">
|
||||
<button type="submit" class="btn btn-success col-xs-12">
|
||||
<span class="hidden">
|
||||
<i class="fa-loading"></i>
|
||||
登 录 中 ...
|
||||
</span>
|
||||
<span class="show">登 录</span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="login-box-footer">
|
||||
<div class="row">
|
||||
<div class="col-xs-12">
|
||||
版权所有
|
||||
© <a href="http://www.tensent.cn" target="_blank">TenSent,Inc.</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
<script src="__PUBLIC__/js/messager.js"></script>
|
||||
<script type="text/javascript">
|
||||
$(function(){
|
||||
|
||||
/* 登陆表单获取焦点变色 */
|
||||
$(".login-form").on("focus", "input", function(){
|
||||
$(this).closest('.item').addClass('focus');
|
||||
}).on("blur","input",function(){
|
||||
$(this).closest('.item').removeClass('focus');
|
||||
});
|
||||
|
||||
//表单提交
|
||||
$(document).ajaxStart(function(){
|
||||
$("button:submit").addClass("log-in").attr("disabled", true);
|
||||
}).ajaxStop(function(){
|
||||
$("button:submit").removeClass("log-in").attr("disabled", false);
|
||||
});
|
||||
|
||||
$("form").submit(function(){
|
||||
var self = $(this);
|
||||
$.post(self.attr("action"), self.serialize(), success, "json");
|
||||
return false;
|
||||
|
||||
function success(data){
|
||||
if(data.code){
|
||||
window.location.href = data.url;
|
||||
} else {
|
||||
$.messager.show(data.msg, {placement: 'center',type:'success'});
|
||||
//刷新验证码
|
||||
$(".reloadverify").click();
|
||||
}
|
||||
}
|
||||
});
|
||||
//初始化选中用户名输入框
|
||||
$("#itemBox").find("input[name=username]").focus();
|
||||
//刷新验证码
|
||||
var verifyimg = $(".verifyimg").attr("src");
|
||||
$(".reloadverify").click(function(){
|
||||
if( verifyimg.indexOf('?')>0){
|
||||
$(".verifyimg").attr("src", verifyimg+'&random='+Math.random());
|
||||
}else{
|
||||
$(".verifyimg").attr("src", verifyimg.replace(/\?.*$/,'')+'?'+Math.random());
|
||||
}
|
||||
});
|
||||
|
||||
//placeholder兼容性
|
||||
//如果支持
|
||||
function isPlaceholer(){
|
||||
var input = document.createElement('input');
|
||||
return "placeholder" in input;
|
||||
}
|
||||
//如果不支持
|
||||
if(!isPlaceholer()){
|
||||
$(".placeholder_copy").css({display:'block'})
|
||||
$("#itemBox input").keydown(function(){
|
||||
$(this).parents(".item").next(".placeholder_copy").css({display:'none'})
|
||||
})
|
||||
$("#itemBox input").blur(function(){
|
||||
if($(this).val()==""){
|
||||
$(this).parents(".item").next(".placeholder_copy").css({display:'block'})
|
||||
}
|
||||
})
|
||||
}
|
||||
});
|
||||
</script>
|
||||
145
application/user/view/login/register.html
Normal file
145
application/user/view/login/register.html
Normal file
@@ -0,0 +1,145 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
|
||||
<meta charset="UTF-8">
|
||||
<title>用户注册</title>
|
||||
<link rel="stylesheet" type="text/css" href="__PUBLIC__/css/bootstrap/bootstrap.min.css"/>
|
||||
<link rel="stylesheet" type="text/css" href="__PUBLIC__/css/libs/font-awesome.css"/>
|
||||
<link rel="stylesheet" type="text/css" href="__PUBLIC__/css/libs/nanoscroller.css"/>
|
||||
<link rel="stylesheet" type="text/css" href="__PUBLIC__/css/common.css"/>
|
||||
<!-- <link href='//fonts.googleapis.com/css?family=Open+Sans:400,600,700,300|Titillium+Web:200,300,400' rel='stylesheet' type='text/css'> -->
|
||||
<link rel="stylesheet" type="text/css" href="__CSS__/style.css"/>
|
||||
<script src="__PUBLIC__/js/jquery.js"></script>
|
||||
<!--[if lt IE 9]>
|
||||
<script src="__PUBLIC__/js/html5shiv.js"></script>
|
||||
<script src="__PUBLIC__/js/respond.min.js"></script>
|
||||
<![endif]-->
|
||||
</head>
|
||||
<body>
|
||||
<body id="login-page-full">
|
||||
<div id="login-full-wrapper">
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-xs-12">
|
||||
<div id="login-box">
|
||||
<div id="login-box-holder">
|
||||
<div class="row">
|
||||
<div class="col-xs-12">
|
||||
<div id="login-box-inner">
|
||||
<form role="form" method="post">
|
||||
<div class="input-group">
|
||||
<span class="input-group-addon"> <i class="fa fa-user"></i>
|
||||
</span>
|
||||
<input class="form-control" name="username" type="text" placeholder="登录账户"></div>
|
||||
<div class="input-group">
|
||||
<span class="input-group-addon"> <i class="fa fa-key"></i>
|
||||
</span>
|
||||
<input type="password" name="password" class="form-control" placeholder="密码"></div>
|
||||
<div class="input-group">
|
||||
<span class="input-group-addon"> <i class="fa fa-key"></i>
|
||||
</span>
|
||||
<input type="password" name="repassword" class="form-control" placeholder="确认密码"></div>
|
||||
<div class="input-group">
|
||||
<span class="input-group-addon"> <i class="fa fa-qrcode"></i>
|
||||
</span>
|
||||
<input type="text" name="verify" class="form-control" placeholder="验证码">
|
||||
<span class="input-group-addon reloadverify"><img src="{:url('user/index/verify')}" alt="验证码" height="40" class="verifyimg"></span>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-xs-12">
|
||||
<button type="submit" class="btn btn-success col-xs-12">
|
||||
<span class="hidden">
|
||||
<i class="fa-loading"></i>
|
||||
注 册 中 ...
|
||||
</span>
|
||||
<span class="show">注 册</span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="login-box-footer">
|
||||
<div class="row">
|
||||
<div class="col-xs-12">
|
||||
版权所有
|
||||
© <a href="http://www.tensent.cn" target="_blank">TenSent,Inc.</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
<script src="__PUBLIC__/js/messager.js"></script>
|
||||
<script type="text/javascript">
|
||||
$(function(){
|
||||
|
||||
/* 登陆表单获取焦点变色 */
|
||||
$(".login-form").on("focus", "input", function(){
|
||||
$(this).closest('.item').addClass('focus');
|
||||
}).on("blur","input",function(){
|
||||
$(this).closest('.item').removeClass('focus');
|
||||
});
|
||||
|
||||
//表单提交
|
||||
$(document).ajaxStart(function(){
|
||||
$("button:submit").addClass("log-in").attr("disabled", true);
|
||||
}).ajaxStop(function(){
|
||||
$("button:submit").removeClass("log-in").attr("disabled", false);
|
||||
});
|
||||
|
||||
$("form").submit(function(){
|
||||
var self = $(this);
|
||||
$.post(self.attr("action"), self.serialize(), success, "json");
|
||||
return false;
|
||||
|
||||
function success(data){
|
||||
if(data.code){
|
||||
window.location.href = data.url;
|
||||
} else {
|
||||
$.messager.show(data.msg, {placement: 'center',type:'success'});
|
||||
//刷新验证码
|
||||
$(".reloadverify").click();
|
||||
}
|
||||
}
|
||||
});
|
||||
//初始化选中用户名输入框
|
||||
$("#itemBox").find("input[name=username]").focus();
|
||||
//刷新验证码
|
||||
var verifyimg = $(".verifyimg").attr("src");
|
||||
$(".reloadverify").click(function(){
|
||||
if( verifyimg.indexOf('?')>0){
|
||||
$(".verifyimg").attr("src", verifyimg+'&random='+Math.random());
|
||||
}else{
|
||||
$(".verifyimg").attr("src", verifyimg.replace(/\?.*$/,'')+'?'+Math.random());
|
||||
}
|
||||
});
|
||||
|
||||
//placeholder兼容性
|
||||
//如果支持
|
||||
function isPlaceholer(){
|
||||
var input = document.createElement('input');
|
||||
return "placeholder" in input;
|
||||
}
|
||||
//如果不支持
|
||||
if(!isPlaceholer()){
|
||||
$(".placeholder_copy").css({display:'block'})
|
||||
$("#itemBox input").keydown(function(){
|
||||
$(this).parents(".item").next(".placeholder_copy").css({display:'none'})
|
||||
})
|
||||
$("#itemBox input").blur(function(){
|
||||
if($(this).val()==""){
|
||||
$(this).parents(".item").next(".placeholder_copy").css({display:'block'})
|
||||
}
|
||||
})
|
||||
}
|
||||
});
|
||||
</script>
|
||||
94
application/user/view/order/confirm.html
Normal file
94
application/user/view/order/confirm.html
Normal file
@@ -0,0 +1,94 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="UTF-8"/>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
|
||||
<title>确认订单信息-会员中心 - Powered by TenSent,Inc.</title>
|
||||
<link rel="stylesheet" type="text/css" href="__PUBLIC__/css/bootstrap/bootstrap.min.css"/>
|
||||
<link rel="stylesheet" type="text/css" href="__PUBLIC__/css/libs/font-awesome.css"/>
|
||||
<link rel="stylesheet" type="text/css" href="__PUBLIC__/css/libs/nanoscroller.css"/>
|
||||
<link rel="stylesheet" type="text/css" href="__PUBLIC__/css/common.css"/>
|
||||
<!-- <link href='//fonts.googleapis.com/css?family=Open+Sans:400,600,700,300|Titillium+Web:200,300,400' rel='stylesheet' type='text/css'> -->
|
||||
<link rel="stylesheet" type="text/css" href="__PUBLIC__/css/style.css"/>
|
||||
<link rel="stylesheet" type="text/css" href="__PUBLIC__/css/order.css"/>
|
||||
<script src="__PUBLIC__/js/jquery.js"></script>
|
||||
<!--[if lt IE 9]>
|
||||
<script src="__PUBLIC__/js/html5shiv.js"></script>
|
||||
<script src="__PUBLIC__/js/respond.min.js"></script>
|
||||
<![endif]-->
|
||||
{block name="style"}{/block}
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<div class="header">
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-xs-12">
|
||||
<div class="logo">
|
||||
<a href="{:url('index/book/index')}"><img src="__PUBLIC__/images/logo.png" alt="确认订单信息-会员中心"></a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="container">
|
||||
|
||||
<div class="row">
|
||||
<div class="col-xs-12">
|
||||
<div class="progress">
|
||||
<div class="progress-bar progress-bar-danger progress-bar-striped" style="width: 25%">
|
||||
<span>1、购物车</span>
|
||||
</div>
|
||||
<div class="progress-bar progress-bar-danger progress-bar-striped" style="width: 25%">
|
||||
<span>2、确认订单信息</span>
|
||||
</div>
|
||||
<div class="progress-bar progress-bar-success progress-bar-striped" style="width: 25%">
|
||||
<span>3、选择支付</span>
|
||||
</div>
|
||||
<div class="progress-bar progress-bar-primary progress-bar-striped" style="width: 25%">
|
||||
<span>4、订购完成</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-xs-12">
|
||||
<p class="no-data"><span class="red"><i class="fa fa-edit"></i></span> 订单已成功提交!</p>
|
||||
<form action="{:url('user/order/pay')}" method="post" class="form">
|
||||
<table class="table table-bordered">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td width="200" class="text-right">订单编号:</td>
|
||||
<td>{$info['order_no']}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="200" class="text-right">订单金额:</td>
|
||||
<td>¥{$info['price_count']}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="200" class="text-right">支付方式:</td>
|
||||
<td>{$info['pay_type_text']}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
<div class="pull-right">
|
||||
<input type="hidden" name="order_id" value="{$info['id']}">
|
||||
<input type="hidden" name="pay_type" value="{$info['pay_type']}">
|
||||
<button class="btn btn-danger">立即支付</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="footer">
|
||||
<div class="warp">
|
||||
<p>Copyright © 2013-2016 <a href="http://www.tensent.cn" target="_blank">腾速科技</a> 版权所有</p>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
50
application/user/view/order/index.html
Normal file
50
application/user/view/order/index.html
Normal file
@@ -0,0 +1,50 @@
|
||||
{extend name="public/base" /}
|
||||
{block name="body"}
|
||||
<div class="tabs-wrapper">
|
||||
<ul class="nav nav-tabs">
|
||||
<li class="active"><a href="#editpw" data-toggle="tab">我的订单</a></li>
|
||||
</ul>
|
||||
<div class="tab-content">
|
||||
<div class="tab-pane fade in active" id="editpw">
|
||||
{volist name="list" id="item"}
|
||||
<div class="panel panel-info">
|
||||
<div class="panel-heading">
|
||||
订单号:{$item['order_no']}({$item['create_time']|date='Y-m-d',###})
|
||||
<span class="pull-right">
|
||||
{if $item['pay_status']}
|
||||
已付款
|
||||
{else/}
|
||||
<a href="{:url('user/order/cancel',array('order_id'=>$item['id']))}" class="ajax-get"><i class="fa fa-close"></i> 取消订单</a>
|
||||
<a href="{:url('user/order/lists',array('order_id'=>$item['id']))}" target="_blank" class="text-danger">付款</a>
|
||||
{/if}
|
||||
</span>
|
||||
</div>
|
||||
<table class="table">
|
||||
<tr>
|
||||
<th>图书</th>
|
||||
<th>图书名称</th>
|
||||
<th>操作</th>
|
||||
</tr>
|
||||
{volist name="item['product']" id="product"}
|
||||
<tr>
|
||||
<td width="80">
|
||||
<a href="{:url('index/book/detail', array('id'=>$product['product_id']))}" target="_blank"><img src="{:get_cover($product->book['cover_id'],'path')}" alt="{$product->book['book_name']}" width="60"></a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="{:url('index/book/detail', array('id'=>$product['product_id']))}" target="_blank">{$product->book['book_name']}</a>
|
||||
</td>
|
||||
<td width="120">
|
||||
{if $item['pay_status']}
|
||||
<a href="{:url('user/upload/download',array('order_id'=>$item['id'],'product_id'=>$product['product_id']))}" target="_blank">下载图书</a>
|
||||
{/if}
|
||||
</td>
|
||||
</tr>
|
||||
{/volist}
|
||||
</table>
|
||||
</div>
|
||||
{/volist}
|
||||
{$page}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{/block}
|
||||
124
application/user/view/order/lists.html
Normal file
124
application/user/view/order/lists.html
Normal file
@@ -0,0 +1,124 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="UTF-8"/>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
|
||||
<title>确认订单信息-会员中心 - Powered by TenSent,Inc.</title>
|
||||
<link rel="stylesheet" type="text/css" href="__PUBLIC__/css/bootstrap/bootstrap.min.css"/>
|
||||
<link rel="stylesheet" type="text/css" href="__PUBLIC__/css/libs/font-awesome.css"/>
|
||||
<link rel="stylesheet" type="text/css" href="__PUBLIC__/css/libs/nanoscroller.css"/>
|
||||
<link rel="stylesheet" type="text/css" href="__PUBLIC__/css/common.css"/>
|
||||
<!-- <link href='//fonts.googleapis.com/css?family=Open+Sans:400,600,700,300|Titillium+Web:200,300,400' rel='stylesheet' type='text/css'> -->
|
||||
<link rel="stylesheet" type="text/css" href="__PUBLIC__/css/style.css"/>
|
||||
<link rel="stylesheet" type="text/css" href="__PUBLIC__/css/order.css"/>
|
||||
<script src="__PUBLIC__/js/jquery.js"></script>
|
||||
<!--[if lt IE 9]>
|
||||
<script src="__PUBLIC__/js/html5shiv.js"></script>
|
||||
<script src="__PUBLIC__/js/respond.min.js"></script>
|
||||
<![endif]-->
|
||||
{block name="style"}{/block}
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<div class="header">
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-xs-12">
|
||||
<div class="logo">
|
||||
<a href="{:url('index/book/index')}"><img src="__PUBLIC__/images/logo.png" alt="确认订单信息-会员中心"></a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="container">
|
||||
|
||||
<div class="row">
|
||||
<div class="col-xs-12">
|
||||
<div class="progress">
|
||||
<div class="progress-bar progress-bar-danger progress-bar-striped" style="width: 25%">
|
||||
<span>1、购物车</span>
|
||||
</div>
|
||||
<div class="progress-bar progress-bar-success progress-bar-striped" style="width: 25%">
|
||||
<span>2、确认订单信息</span>
|
||||
</div>
|
||||
<div class="progress-bar progress-bar-primary progress-bar-striped" style="width: 25%">
|
||||
<span>3、选择支付</span>
|
||||
</div>
|
||||
<div class="progress-bar progress-bar-primary progress-bar-striped" style="width: 25%">
|
||||
<span>4、订购完成</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-xs-12">
|
||||
<form action="{:url('user/order/confirm')}" method="post" class="form">
|
||||
<div class="order_title">商品清单</div>
|
||||
{if !empty($list)}
|
||||
<table class="table table-striped">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>商品</th>
|
||||
<th>名称</th>
|
||||
<th>单价</th>
|
||||
<th>数量</th>
|
||||
<th>小计</th>
|
||||
<th>操作</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{volist name="list" id="item"}
|
||||
<tr>
|
||||
<td width="90">
|
||||
<a href="{:url('index/book/detail',array('id'=>$item->book['id']))}"><img src="{:get_cover($item->book['cover_id'],'path')}" width="80"></a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="{:url('index/book/detail',array('id'=>$item->book['id']))}">{$item->book['book_name']}</a>
|
||||
</td>
|
||||
<td>¥{$item['price']}</td>
|
||||
<td>{$item['num']}</td>
|
||||
<td>¥{$item['price_count']}</td>
|
||||
<td width="60">
|
||||
<a href="{:url('index/cart/del',array('id'=>$item['id']))}" class="ajax-get confirm"><i class="fa fa-close"></i></a>
|
||||
</td>
|
||||
</tr>
|
||||
{/volist}
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<div class="text-right price_count">
|
||||
<p>应付总额:<span>¥{$price_count}</span></p>
|
||||
</div>
|
||||
|
||||
<div class="order_title">支付方式</div>
|
||||
<div class="clearfix">
|
||||
<ul class="payment-list">
|
||||
<li class="selected">
|
||||
<input type="radio" name="payment" value="alipay" checked="true">
|
||||
<label><b>支付宝支付</b> </label>
|
||||
<div><img src="__PUBLIC__/images/pay/alipay.png" width="180"></div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="pull-right">
|
||||
<input type="hidden" name="order_id" value="{$order_id}">
|
||||
<button type="submit" class="btn btn-danger">提交订单</button>
|
||||
</div>
|
||||
{else/}
|
||||
<p class="no-data">购物车为空!<a href="{:url('index/book/index')}">去继续选择……</a></p>
|
||||
{/if}
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="footer">
|
||||
<div class="warp">
|
||||
<p>Copyright © 2013-2016 <a href="http://www.tensent.cn" target="_blank">腾速科技</a> 版权所有</p>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
93
application/user/view/order/pay.html
Normal file
93
application/user/view/order/pay.html
Normal file
@@ -0,0 +1,93 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="UTF-8"/>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
|
||||
<title>确认订单信息-会员中心 - Powered by TenSent,Inc.</title>
|
||||
<link rel="stylesheet" type="text/css" href="__PUBLIC__/css/bootstrap/bootstrap.min.css"/>
|
||||
<link rel="stylesheet" type="text/css" href="__PUBLIC__/css/libs/font-awesome.css"/>
|
||||
<link rel="stylesheet" type="text/css" href="__PUBLIC__/css/libs/nanoscroller.css"/>
|
||||
<link rel="stylesheet" type="text/css" href="__PUBLIC__/css/common.css"/>
|
||||
<!-- <link href='//fonts.googleapis.com/css?family=Open+Sans:400,600,700,300|Titillium+Web:200,300,400' rel='stylesheet' type='text/css'> -->
|
||||
<link rel="stylesheet" type="text/css" href="__PUBLIC__/css/style.css"/>
|
||||
<link rel="stylesheet" type="text/css" href="__PUBLIC__/css/order.css"/>
|
||||
<script src="__PUBLIC__/js/jquery.js"></script>
|
||||
<!--[if lt IE 9]>
|
||||
<script src="__PUBLIC__/js/html5shiv.js"></script>
|
||||
<script src="__PUBLIC__/js/respond.min.js"></script>
|
||||
<![endif]-->
|
||||
{block name="style"}{/block}
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<div class="header">
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-xs-12">
|
||||
<div class="logo">
|
||||
<a href="{:url('index/book/index')}"><img src="__PUBLIC__/images/logo.png" alt="确认订单信息-会员中心"></a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="container">
|
||||
|
||||
<div class="row">
|
||||
<div class="col-xs-12">
|
||||
<div class="progress">
|
||||
<div class="progress-bar progress-bar-danger progress-bar-striped" style="width: 25%">
|
||||
<span>1、购物车</span>
|
||||
</div>
|
||||
<div class="progress-bar progress-bar-danger progress-bar-striped" style="width: 25%">
|
||||
<span>2、确认订单信息</span>
|
||||
</div>
|
||||
<div class="progress-bar progress-bar-danger progress-bar-striped" style="width: 25%">
|
||||
<span>3、选择支付</span>
|
||||
</div>
|
||||
<div class="progress-bar progress-bar-success progress-bar-striped" style="width: 25%">
|
||||
<span>4、订购完成</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-xs-12">
|
||||
<p class="no-data"><span class="red"><i class="fa fa-spinner fa-spin fa-fw"></i></span> 等待支付!</p>
|
||||
{$sHtml}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{if $is_submit}
|
||||
<script type="text/javascript">
|
||||
$(function(){
|
||||
setTimeout(function(){
|
||||
document.forms['paysubmit'].submit();
|
||||
},300);
|
||||
|
||||
setInterval(function(){
|
||||
$.ajax({
|
||||
url : " {:config('base_url')} " + "/user/pay/notify.html",
|
||||
type : 'post',
|
||||
data : {'order_id':"{$order_no}"},
|
||||
success : function(data){
|
||||
if(data.code === 1){
|
||||
window.location
|
||||
}
|
||||
},
|
||||
dataType : 'json'
|
||||
})
|
||||
},10000);
|
||||
})
|
||||
</script>
|
||||
{/if}
|
||||
<div class="footer">
|
||||
<div class="warp">
|
||||
<p>Copyright © 2013-2016 <a href="http://www.tensent.cn" target="_blank">腾速科技</a> 版权所有</p>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
138
application/user/view/profile/avatar.html
Normal file
138
application/user/view/profile/avatar.html
Normal file
@@ -0,0 +1,138 @@
|
||||
{extend name="public/base" /}
|
||||
{block name="style"}
|
||||
<link href="__PUBLIC__/plugs/avatar/css/style.css" rel="stylesheet" type="text/css" media="all">
|
||||
<script type="text/javascript" src="__PUBLIC__/plugs/avatar/js/ShearPhoto.js"></script>
|
||||
<script type="text/javascript" src="__PUBLIC__/plugs/avatar/js/alloyimage.js"></script>
|
||||
<script type="text/javascript" src="__PUBLIC__/plugs/avatar/js/handle.js"></script>
|
||||
{/block}
|
||||
{block name="body"}
|
||||
<div class="tabs-wrapper">
|
||||
<ul class="nav nav-tabs">
|
||||
<li class="active"><a href="#editpw" data-toggle="tab">修改头像</a></li>
|
||||
</ul>
|
||||
<div class="tab-content">
|
||||
<div class="tab-pane fade in active" id="editpw">
|
||||
|
||||
<div id="shearphoto_loading">程序加载中......</div>
|
||||
<!--这是2.2版本加入的缓冲效果,JS方法加载前显示的等待效果-->
|
||||
<div id="shearphoto_main">
|
||||
<!--效果开始.............如果你不要特效,可以直接删了........-->
|
||||
<div class="Effects" id="shearphoto_Effects" autocomplete="off">
|
||||
<strong class="EffectsStrong">截图效果</strong>
|
||||
<a href="javascript:;" StrEvent="原图" class="Aclick"><img src="__PUBLIC__/plugs/avatar/images/Effects/e0.jpg" />原图</a>
|
||||
<a href="javascript:;" StrEvent="美肤"><img src="__PUBLIC__/plugs/avatar/images/Effects/e1.jpg" />美肤效果</a>
|
||||
<a href="javascript:;" StrEvent="素描"><img src="__PUBLIC__/plugs/avatar/images/Effects/e2.jpg" />素描效果</a>
|
||||
<a href="javascript:;" StrEvent="自然增强"><img src="__PUBLIC__/plugs/avatar/images/Effects/e3.jpg" />自然增强</a>
|
||||
<a href="javascript:;" StrEvent="紫调"><img src="__PUBLIC__/plugs/avatar/images/Effects/e4.jpg" />紫调效果</a>
|
||||
<a href="javascript:;" StrEvent="柔焦"><img src="__PUBLIC__/plugs/avatar/images/Effects/e5.jpg" />柔焦效果</a>
|
||||
<a href="javascript:;" StrEvent="复古"><img src="__PUBLIC__/plugs/avatar/images/Effects/e6.jpg" />复古效果</a>
|
||||
<a href="javascript:;" StrEvent="黑白"><img src="__PUBLIC__/plugs/avatar/images/Effects/e7.jpg" />黑白效果</a>
|
||||
<a href="javascript:;" StrEvent="仿lomo"><img src="__PUBLIC__/plugs/avatar/images/Effects/e8.jpg" />仿lomo</a>
|
||||
<a href="javascript:;" StrEvent="亮白增强"><img src="__PUBLIC__/plugs/avatar/images/Effects/e9.jpg" />亮白增强</a>
|
||||
<a href="javascript:;" StrEvent="灰白"><img src="__PUBLIC__/plugs/avatar/images/Effects/e10.jpg" />灰白效果</a>
|
||||
<a href="javascript:;" StrEvent="灰色"><img src="__PUBLIC__/plugs/avatar/images/Effects/e11.jpg" />灰色效果</a>
|
||||
<a href="javascript:;" StrEvent="暖秋"><img src="__PUBLIC__/plugs/avatar/images/Effects/e12.jpg" />暖秋效果</a>
|
||||
<a href="javascript:;" StrEvent="木雕"><img src="__PUBLIC__/plugs/avatar/images/Effects/e13.jpg" />木雕效果</a>
|
||||
<a href="javascript:;" StrEvent="粗糙"><img src="__PUBLIC__/plugs/avatar/images/Effects/e14.jpg" />粗糙效果</a>
|
||||
</div>
|
||||
<!--效果结束...........................如果你不要特效,可以直接删了.....................................................-->
|
||||
<!--primary范围开始-->
|
||||
<div class="primary">
|
||||
<!--main范围开始-->
|
||||
<div id="main">
|
||||
<div class="point">
|
||||
</div>
|
||||
<!--选择加载图片方式开始-->
|
||||
<div id="SelectBox">
|
||||
<form id="ShearPhotoForm" enctype="multipart/form-data" method="post" target="POSTiframe">
|
||||
<input name="shearphoto" type="hidden" value="我要传参数" autocomplete="off">
|
||||
<!--示例传参数到服务端,后端文件UPLOAD.php用$_POST['shearphoto']接收,注意:HTML5切图时,这个参数是不会传的-->
|
||||
<a href="javascript:;" id="selectImage">
|
||||
<input type="file" name="UpFile" autocomplete="off" />
|
||||
</a>
|
||||
</form>
|
||||
</div>
|
||||
<!--选择加载图片方式结束-->
|
||||
<div id="relat">
|
||||
<div id="black">
|
||||
</div>
|
||||
<div id="movebox">
|
||||
<div id="smallbox">
|
||||
<img src="__PUBLIC__/plugs/avatar/images/default.gif" class="MoveImg" />
|
||||
<!--截框上的小图-->
|
||||
</div>
|
||||
<!--动态边框开始-->
|
||||
<i id="borderTop">
|
||||
</i>
|
||||
|
||||
<i id="borderLeft">
|
||||
</i>
|
||||
|
||||
<i id="borderRight">
|
||||
</i>
|
||||
|
||||
<i id="borderBottom">
|
||||
</i>
|
||||
<!--动态边框结束-->
|
||||
<i id="BottomRight">
|
||||
</i>
|
||||
<i id="TopRight">
|
||||
</i>
|
||||
<i id="Bottomleft">
|
||||
</i>
|
||||
<i id="Topleft">
|
||||
</i>
|
||||
<i id="Topmiddle">
|
||||
</i>
|
||||
<i id="leftmiddle">
|
||||
</i>
|
||||
<i id="Rightmiddle">
|
||||
</i>
|
||||
<i id="Bottommiddle">
|
||||
</i>
|
||||
</div>
|
||||
<img src="__PUBLIC__/plugs/avatar/images/default.gif" class="BigImg" />
|
||||
<!--MAIN上的大图-->
|
||||
</div>
|
||||
</div>
|
||||
<!--main范围结束-->
|
||||
<div style="clear: both"></div>
|
||||
<!--工具条开始-->
|
||||
<div id="Shearbar">
|
||||
<a id="LeftRotate" href="javascript:;">
|
||||
<em>
|
||||
</em> 向左旋转
|
||||
</a>
|
||||
<em class="hint L">
|
||||
</em>
|
||||
<div class="ZoomDist" id="ZoomDist">
|
||||
<div id="Zoomcentre">
|
||||
</div>
|
||||
<div id="ZoomBar">
|
||||
</div>
|
||||
<span class="progress">
|
||||
</span>
|
||||
</div>
|
||||
<em class="hint R">
|
||||
</em>
|
||||
<a id="RightRotate" href="javascript:;">
|
||||
向右旋转
|
||||
<em>
|
||||
</em>
|
||||
</a>
|
||||
<p class="Psava">
|
||||
<a id="againIMG" href="javascript:;">重新选择</a>
|
||||
<a id="saveShear" href="javascript:;">保存截图</a>
|
||||
</p>
|
||||
</div>
|
||||
<!--工具条结束-->
|
||||
</div>
|
||||
<!--primary范围结束-->
|
||||
<div style="clear: both"></div>
|
||||
</div>
|
||||
<!--shearphoto_main范围结束-->
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{/block}
|
||||
40
application/user/view/profile/editpw.html
Normal file
40
application/user/view/profile/editpw.html
Normal file
@@ -0,0 +1,40 @@
|
||||
{extend name="public/base" /}
|
||||
{block name="body"}
|
||||
<form method="post" class="form form-horizontal">
|
||||
<div class="tabs-wrapper">
|
||||
<ul class="nav nav-tabs">
|
||||
<li class="active"><a href="#editpw" data-toggle="tab">密码修改</a></li>
|
||||
</ul>
|
||||
<div class="tab-content">
|
||||
<div class="tab-pane fade in active" id="editpw">
|
||||
<form method="post" class="form form-horizontal">
|
||||
<div class="form-group">
|
||||
<label class="col-lg-2 control-label">原密码:</label>
|
||||
<div class="col-lg-6 col-sm-10">
|
||||
<input type="password" name="oldpassword" class="form-control " autocomplete="off" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-lg-2 control-label">新密码:</label>
|
||||
<div class="col-lg-6 col-sm-10">
|
||||
<input type="password" name="password" class="form-control " autocomplete="off" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-lg-2 control-label">确认密码:</label>
|
||||
<div class="col-lg-6 col-sm-10">
|
||||
<input type="password" name="repassword" class="form-control " autocomplete="off" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-lg-offset-2 col-lg-10">
|
||||
<button class="btn btn-success submit-btn ajax-post" type="submit" target-form="form-horizontal">确 定</button>
|
||||
<button class="btn btn-danger btn-return" onclick="javascript:history.back(-1);return false;">返 回</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
{/block}
|
||||
31
application/user/view/profile/index.html
Normal file
31
application/user/view/profile/index.html
Normal file
@@ -0,0 +1,31 @@
|
||||
{extend name="public/base" /}
|
||||
{block name="body"}
|
||||
<form method="post" class="form form-horizontal">
|
||||
<div class="tabs-wrapper">
|
||||
<ul class="nav nav-tabs">
|
||||
{volist name="fieldGroup" id="vGroup"}
|
||||
<li {if $i eq 1}class="active"{/if}><a href="#tab{$key}" data-toggle="tab">{$key}</a></li>
|
||||
{/volist}
|
||||
</ul>
|
||||
<div class="tab-content">
|
||||
{volist name="fieldGroup" id="vGroup"}
|
||||
<div class="tab-pane fade {if condition="$i eq 1"}in active{/if}" id="tab{$key}">
|
||||
{volist name="vGroup" id="field"}
|
||||
{if $field['type'] eq 'hidden'}
|
||||
<input type="hidden" name="{$field['name']}" value="{$info[$field['name']]|default=''}"/>
|
||||
{else/}
|
||||
<div class="form-group">
|
||||
<label class="col-lg-2 control-label">{$field['title']|htmlspecialchars}</label>
|
||||
<div class="col-lg-8 col-sm-10">
|
||||
{:widget('common/Form/show',array($field,$info))}
|
||||
<div class="help-block">{$field['help']|default=''}</div>
|
||||
</div>
|
||||
</div>
|
||||
{/if}
|
||||
{/volist}
|
||||
</div>
|
||||
{/volist}
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
{/block}
|
||||
96
application/user/view/public/base.html
Normal file
96
application/user/view/public/base.html
Normal file
@@ -0,0 +1,96 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="UTF-8"/>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
|
||||
<title>{if isset($title)}{$title} - {/if}会员中心 - Powered by TenSent,Inc.</title>
|
||||
<link rel="stylesheet" type="text/css" href="__PUBLIC__/css/bootstrap/bootstrap.min.css"/>
|
||||
<link rel="stylesheet" type="text/css" href="__PUBLIC__/css/libs/font-awesome.css"/>
|
||||
<link rel="stylesheet" type="text/css" href="__PUBLIC__/css/libs/nanoscroller.css"/>
|
||||
<link rel="stylesheet" type="text/css" href="__PUBLIC__/css/common.css"/>
|
||||
<!-- <link href='//fonts.googleapis.com/css?family=Open+Sans:400,600,700,300|Titillium+Web:200,300,400' rel='stylesheet' type='text/css'> -->
|
||||
<link rel="stylesheet" type="text/css" href="__CSS__/style.css"/>
|
||||
<script src="__PUBLIC__/js/jquery.js"></script>
|
||||
<!--[if lt IE 9]>
|
||||
<script src="__PUBLIC__/js/html5shiv.js"></script>
|
||||
<script src="__PUBLIC__/js/respond.min.js"></script>
|
||||
<![endif]-->
|
||||
<script type="text/javascript">
|
||||
var BASE_URL = "{:config('base_url')}"; //根目录地址
|
||||
</script>
|
||||
{block name="style"}{/block}
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<div class="header">
|
||||
<div class="top">
|
||||
<div class="warp">
|
||||
<div class="pull-left">
|
||||
<a href="{:url('user/index/index')}" class="user-home">会员中心</a>
|
||||
</div>
|
||||
<div class="pull-right">
|
||||
<span class="user dropdown profile-dropdown">
|
||||
<a href="#" class="dropdown-toggle" data-toggle="dropdown"><i class="fa fa-user"></i> {:session('user_auth.username')} <span class="caret"></span></a>
|
||||
<ul class="dropdown-menu dropdown-menu-right">
|
||||
<li><a href="{:url('user/profile/index')}">资料修改</a></li>
|
||||
<li><a href="{:url('user/profile/editpw')}">修改密码</a></li>
|
||||
<li><a href="{:url('user/login/logout')}">退出</a></li>
|
||||
</ul>
|
||||
</span>
|
||||
<a href="{:url('index/index/index')}">网站首页</a>
|
||||
</div>
|
||||
<div class="clearfix"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="warp userinfo">
|
||||
<div class="avatar">
|
||||
<img src="{:avatar($user['uid'])}" alt="">
|
||||
</div>
|
||||
<div class="info">
|
||||
<span class="username">{$user['username']}</span>
|
||||
<span class="desc">签名:{$user['signature']}</span>
|
||||
</div>
|
||||
<div class="clearfix"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="warp user-body">
|
||||
<div class="pull-left left">
|
||||
{include file="public/left_nav" /}
|
||||
</div>
|
||||
<div class="pull-left right">
|
||||
{block name="body"}{/block}
|
||||
</div>
|
||||
<div class="clearfix"></div>
|
||||
</div>
|
||||
|
||||
<div class="footer">
|
||||
<div class="warp">
|
||||
<p>Copyright © 2013-2016 <a href="http://www.tensent.cn" target="_blank">腾速科技</a> 版权所有</p>
|
||||
</div>
|
||||
</div>
|
||||
<script src="__PUBLIC__/js/bootstrap.js"></script>
|
||||
<script src="__PUBLIC__/js/jquery.nanoscroller.min.js"></script>
|
||||
<script src="__PUBLIC__/js/pace.min.js"></script>
|
||||
|
||||
<script src="__PUBLIC__/js/hopscotch.js"></script>
|
||||
<link rel="stylesheet" type="text/css" href="__PUBLIC__/css/libs/hopscotch.css">
|
||||
|
||||
<script src="__PUBLIC__/js/messager.js"></script>
|
||||
<script src="__JS__/app.js"></script>
|
||||
<script type="text/javascript">
|
||||
(function(){
|
||||
var SentCMS = window.Sent = {
|
||||
"ROOT" : "__ROOT__", //当前网站地址
|
||||
"APP" : "__APP__", //当前项目地址
|
||||
"PUBLIC" : "__PUBLIC__", //项目公共目录地址
|
||||
"DEEP" : "{:config('URL_PATHINFO_DEPR')}", //PATHINFO分割符
|
||||
"MODEL" : ["{:config('URL_MODEL')}", "{:config('URL_CASE_INSENSITIVE')}", "{:config('URL_HTML_SUFFIX')}"],
|
||||
"VAR" : ["{:config('VAR_MODULE')}", "{:config('VAR_CONTROLLER')}", "{:config('VAR_ACTION')}"]
|
||||
}
|
||||
})();
|
||||
</script>
|
||||
<script src="__PUBLIC__/js/core.js"></script>
|
||||
{block name="script"}{/block}
|
||||
</body>
|
||||
</html>
|
||||
77
application/user/view/public/edit.html
Normal file
77
application/user/view/public/edit.html
Normal file
@@ -0,0 +1,77 @@
|
||||
{extend name="public/base" /}
|
||||
{block name="style"}
|
||||
<link rel="stylesheet" href="__PUBLIC__/plugs/tagsinput/bootstrap-tagsinput.css">
|
||||
<script src="__PUBLIC__/plugs/tagsinput/bootstrap-tagsinput.js"></script>
|
||||
|
||||
<link rel="stylesheet" type="text/css" href="__PUBLIC__/plugs/webuploader/webuploader.css">
|
||||
<script type="text/javascript" charset="utf-8" src="__PUBLIC__/plugs/ueditor/ueditor.config.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="__PUBLIC__/plugs/ueditor/ueditor.all.min.js"></script>
|
||||
<!-- datepicker statr -->
|
||||
<link href="__PUBLIC__/plugs/datepicker/css/foundation-datepicker.min.css" rel="stylesheet" type="text/css">
|
||||
<script src="__PUBLIC__/plugs/datepicker/js/foundation-datepicker.js"></script>
|
||||
<script src="__PUBLIC__/plugs/datepicker/js/foundation-datepicker.zh-CN.js"></script>
|
||||
<link rel="stylesheet" type="text/css" href="__PUBLIC__/plugs/board/board.min.css">
|
||||
<!-- datepicker end -->
|
||||
{/block}
|
||||
{block name="body"}
|
||||
<form method="post" class="form form-horizontal">
|
||||
{if !isset($info)}
|
||||
{assign name="info" value="" /}
|
||||
{/if}
|
||||
{if !empty($fieldGroup)}
|
||||
<div class="tabs-wrapper">
|
||||
<ul class="nav nav-tabs">
|
||||
{volist name="fieldGroup" id="vGroup"}
|
||||
<li {if $i eq 1}class="active"{/if}><a href="#tab{$key}" data-toggle="tab">{$key}</a></li>
|
||||
{/volist}
|
||||
</ul>
|
||||
<div class="tab-content">
|
||||
{volist name="fieldGroup" id="vGroup"}
|
||||
<div class="tab-pane fade {if condition="$i eq 1"}in active{/if}" id="tab{$key}">
|
||||
{volist name="vGroup" id="field"}
|
||||
{if $field['type'] eq 'hidden'}
|
||||
<input type="hidden" name="{$field['name']}" value="{$info[$field['name']]|default=''}"/>
|
||||
{else/}
|
||||
<div class="form-group">
|
||||
<label class="col-lg-2 control-label">{$field['title']|htmlspecialchars}</label>
|
||||
<div class="col-lg-8 col-sm-10">
|
||||
{:widget('common/Form/show',array($field,$info))}
|
||||
<div class="help-block">{$field['help']|default=''}</div>
|
||||
</div>
|
||||
</div>
|
||||
{/if}
|
||||
{/volist}
|
||||
</div>
|
||||
{/volist}
|
||||
</div>
|
||||
</div>
|
||||
{else/}
|
||||
{volist name="keyList" id="field"}
|
||||
{if $field['type'] eq 'hidden'}
|
||||
<input type="hidden" name="{$field['name']}" value="{$info[$field['name']]|default=''}"/>
|
||||
{else/}
|
||||
<div class="form-group">
|
||||
<label class="col-lg-2 control-label">{$field['title']|htmlspecialchars}</label>
|
||||
<div class="col-lg-8 col-sm-10">
|
||||
{:widget('common/Form/show',array($field,$info))}
|
||||
<div class="help-block">{$field['help']|default=''}</div>
|
||||
</div>
|
||||
</div>
|
||||
{/if}
|
||||
{/volist}
|
||||
{/if}
|
||||
<div class="form-group">
|
||||
<div class="col-lg-offset-2 col-lg-10">
|
||||
<input type="hidden" name="id" value="{$info['id']|default=''}">
|
||||
<button class="btn btn-success submit-btn ajax-post" type="submit" target-form="form-horizontal">确 定</button>
|
||||
<button class="btn btn-danger btn-return" onclick="javascript:history.back(-1);return false;">返 回</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
{/block}
|
||||
{block name="script"}
|
||||
<script type="text/javascript" src="__PUBLIC__/plugs/webuploader/webuploader.min.js"></script>
|
||||
<script type="text/javascript" src="__PUBLIC__/plugs/webuploader/webuploader.custom.js"></script>
|
||||
<script type="text/javascript" src="__PUBLIC__/js/droppable.js"></script>
|
||||
<script type="text/javascript" src="__PUBLIC__/plugs/board/board.min.js"></script>
|
||||
{/block}
|
||||
8
application/user/view/public/left_nav.html
Normal file
8
application/user/view/public/left_nav.html
Normal file
@@ -0,0 +1,8 @@
|
||||
{volist name="__MENU__" id="submenu"}
|
||||
<ul class="left-nav">
|
||||
<h3><i class="fa fa-cube"></i> {$key}</h3>
|
||||
{volist name="submenu" id="item"}
|
||||
<li class="{$item['active']}"><a href="{$item['url']|get_nav_url}"><i class="fa fa-{$item['icon']|default='list'}"></i> {$item['title']}</a> <span class="pull-right"><i class="fa fa-chevron-right text-primary"></i></span></li>
|
||||
{/volist}
|
||||
</ul>
|
||||
{/volist}
|
||||
Reference in New Issue
Block a user