多站点CMS

pull/41/head
devlike 2018-02-08 11:11:50 +08:00
parent d8fb4f1884
commit 812bbb55c2
17 changed files with 1517 additions and 0 deletions

View File

@ -0,0 +1,148 @@
<style>
.fieldlist dd ins:first-child{width:220px;}
</style>
<form id="add-form" class="form-horizontal" role="form" data-toggle="validator" method="POST" action="" >
<div class="row">
<div class="col-md-8 col-sm-12">
<div class="panel panel-default panel-intro">
<div class="panel-heading">
<ul class="nav nav-tabs">
<li class="active"><a href="#basic" data-toggle="tab">{:__('Basic')}</a></li>
<li><a href="#extra" data-toggle="tab">{:__('Extra')}</a></li>
</ul>
</div>
<div class="panel-body">
<div id="myTabContent" class="tab-content">
<div class="tab-pane fade active in" id="basic">
{notempty name="siteList"}
<div class="form-group">
<label for="c-site_ID" class="control-label col-xs-12 col-sm-2">{:__('Site_id')}:</label>
<div class="col-xs-12 col-sm-8">
<select id="c-site_id" data-rule="required" class="form-control selectpicker" name="row[site_id]">
{foreach name="siteList" item="vo"}
<option data-lang="{$vo.lang}" value="{$vo.id}">{$vo.name} ({$vo.domain})</option>
{/foreach}
</select>
</div>
</div>
{/notempty}
<div class="form-group">
<label for="c-channel_id" class="control-label col-xs-12 col-sm-2">{:__('Channel_id')}:</label>
<div class="col-xs-12 col-sm-8">
<select id="c-channel_id" data-rule="required" class="form-control selectpicker" data-live-search="true" name="row[channel_id]">
{foreach name="channelList" item="vo"}
<option data-siteid="{$vo.site_id}" data-model="{$vo.model}" value="{$key}" {eq name="vo.disabled" value="1"}disabled{/eq}>{$vo.name}</option>
{/foreach}
</select>
</div>
<input type="hidden" name="row[type]" id="c-type" value="">
</div>
<div class="form-group">
<label for="c-title" class="control-label col-xs-12 col-sm-2">{:__('Title')}:</label>
<div class="col-xs-12 col-sm-8">
<input id="c-title" data-rule="required" class="form-control" name="row[title]" type="text">
</div>
</div>
<div class="form-group">
<label for="c-diyname" class="control-label col-xs-12 col-sm-2">{:__('Diyname')}:</label>
<div class="col-xs-12 col-sm-8">
<input id="c-diyname" data-rule="diyname" class="form-control" name="row[diyname]" type="text">
</div>
</div>
<div class="form-group">
<label for="c-subtitle" class="control-label col-xs-12 col-sm-2">{:__('Subtitle')}:</label>
<div class="col-xs-12 col-sm-8">
<textarea id="c-subtitle" data-rule="required" class="form-control " rows="5" name="row[subtitle]" cols="50"></textarea>
</div>
</div>
<div class="form-group">
<label for="c-cover" class="control-label col-xs-12 col-sm-2">{:__('Cover')}:</label>
<div class="col-xs-12 col-sm-8">
<div class="form-inline">
<input id="c-cover" class="form-control" size="45" name="row[cover]" type="text" value="">
<span><button type="button" id="plupload-image" class="btn btn-danger plupload" data-input-id="c-cover" data-mimetype="image/*" data-multiple="false" data-preview-id="p-image"><i class="fa fa-upload"></i> {:__('Upload')}</button></span>
<span><button type="button" id="fachoose-image" class="btn btn-primary fachoose" data-input-id="c-cover" data-mimetype="image/*" data-multiple="false"><i class="fa fa-list"></i> {:__('Choose')}</button></span>
<ul class="row list-inline plupload-preview" id="p-image"></ul>
</div>
</div>
</div>
<div class="form-group">
<label for="c-content" class="control-label col-xs-12 col-sm-2">{:__('Content')}:</label>
<div class="col-xs-12 col-sm-8">
<textarea id="c-content" data-rule="required" class="form-control editor" rows="5" name="row[content]" cols="50"></textarea>
</div>
</div>
</div>
<div class="tab-pane fade" id="extra">
</div>
</div>
<div class="form-group normal-footer">
<label class="control-label col-xs-12 col-sm-2"></label>
<div class="col-xs-12 col-sm-8">
<button type="submit" class="btn btn-success btn-embossed">{:__('OK')}</button>
<button type="reset" class="btn btn-default btn-embossed">{:__('Reset')}</button>
</div>
</div>
</div>
</div>
</div>
<div class="col-md-4 col-sm-12">
<div class="panel panel-default panel-intro">
<div class="panel-heading">
<div class="panel-lead"><em>{:__('Other')}</em></div>
</div>
<div class="panel-body">
<div id="myTabContent" class="tab-content">
<div class="tab-pane fade active in" id="one">
<div class="form-group has-success">
<label for="c-views" class="control-label col-xs-12 col-sm-3">{:__('Views')}:</label>
<div class="col-xs-12 col-sm-8">
<div class="input-group margin-bottom-sm">
<input id="c-views" class="form-control" name="row[views]" type="number" value="0">
<span class="input-group-addon"><i class="fa fa-eye text-success"></i></span>
</div>
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-12 col-sm-3">{:__('status')}:</label>
<div class="col-xs-12 col-sm-8">
{:build_radios('row[status]', ['new'=>__('New'), 'normal'=>__('Normal'), 'hidden'=>__('Hidden')], 'new','radio-info')}
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-12 col-sm-3">{:__('Comment_status')}:</label>
<div class="col-xs-12 col-sm-8">
{:build_radios('row[comment_status]', ['0'=>__('Open'), '1'=>__('Close')],0,'radio-info')}
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-12 col-sm-3">{:__('Multi-Language')}:</label>
<div class="col-xs-12 col-sm-8" id="language_choose">
{$multilanguage}
</div>
</div>
<div class="form-group">
<label for="c-updatetime" class="control-label col-xs-12 col-sm-3">{:__('Updatetime')}:</label>
<div class="col-xs-12 col-sm-8">
<div class='input-group date datetimepicker'>
<input type='text' id="c-updatetime" name="row[updatetime]" data-date-format="YYYY-MM-DD HH:mm:ss" value="" class="form-control datetimepicker" />
<span class="input-group-addon">
<span class="fa fa-calendar"></span>
</span>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</form>

View File

@ -0,0 +1,137 @@
<style>
.fieldlist dd ins:first-child{width:220px;}
</style>
<form id="add-form" class="form-horizontal" role="form" data-toggle="validator" method="POST" action="" >
<div class="row">
<div class="col-md-8 col-sm-12">
<div class="panel panel-default panel-intro">
<div class="panel-heading">
<ul class="nav nav-tabs">
<li class="active"><a href="#basic" data-toggle="tab">{:__('Basic')}</a></li>
<li><a href="#extra" data-toggle="tab">{:__('Extra')}</a></li>
</ul>
</div>
<div class="panel-body">
<div id="myTabContent" class="tab-content">
<div class="tab-pane fade active in" id="basic">
<div class="form-group">
<label for="c-channel_id" class="control-label col-xs-12 col-sm-2">{:__('Channel_id')}:</label>
<div class="col-xs-12 col-sm-8">
<select id="c-channel_id" data-rule="required" class="form-control selectpicker" name="row[channel_id]">
{foreach name="channelList" item="vo"}
<option data-siteid = "{$vo.site_id}" data-model="{$vo.model}" value="{$key}" {in name="key" value="$row['channel_id']"}selected{/in} {eq name="vo.disabled" value="1"}disabled{/eq}>{$vo.name}</option>
{/foreach}
</select>
</div>
<input type="hidden" name="row[type]" id="c-type" value="{$row.type}">
</div>
<div class="form-group">
<label for="c-title" class="control-label col-xs-12 col-sm-2">{:__('Title')}:</label>
<div class="col-xs-12 col-sm-8">
<input id="c-title" data-rule="required" class="form-control" name="row[title]" type="text" value="{$row.title}">
</div>
</div>
<div class="form-group">
<label for="c-diyname" class="control-label col-xs-12 col-sm-2">{:__('Diyname')}:</label>
<div class="col-xs-12 col-sm-8">
<input id="c-diyname" data-rule="diyname" class="form-control" name="row[diyname]" type="text" value="{$row.diyname}">
</div>
</div>
<div class="form-group">
<label for="c-subtitle" class="control-label col-xs-12 col-sm-2">{:__('subtitle')}:</label>
<div class="col-xs-12 col-sm-8">
<input id="c-subtitle" class="form-control" name="row[subtitle]" type="text" value="{$row.subtitle}">
</div>
</div>
<div class="form-group">
<label for="c-cover" class="control-label col-xs-12 col-sm-2">{:__('Cover')}:</label>
<div class="col-xs-12 col-sm-8">
<div class="form-inline">
<input id="c-cover" class="form-control" size="45" name="row[cover]" type="text" value="{$row.cover}">
<span><button type="button" id="plupload-image" class="btn btn-danger plupload" data-input-id="c-post_cover" data-mimetype="image/*" data-multiple="false" data-preview-id="p-image"><i class="fa fa-upload"></i> {:__('Upload')}</button></span>
<span><button type="button" id="fachoose-image" class="btn btn-primary fachoose" data-input-id="c-post_cover" data-mimetype="image/*" data-multiple="false"><i class="fa fa-list"></i> {:__('Choose')}</button></span>
<ul class="row list-inline plupload-preview" id="p-image"></ul>
</div>
</div>
</div>
<div class="form-group">
<label for="c-content" class="control-label col-xs-12 col-sm-2">{:__('Content')}:</label>
<div class="col-xs-12 col-sm-8">
<textarea id="c-content" data-rule="required" class="form-control summernote" rows="5" name="row[content]" cols="50">{$row.content}</textarea>
</div>
</div>
</div>
<div class="tab-pane fade" id="extra">
{$extra}
</div>
</div>
<div class="form-group normal-footer">
<label class="control-label col-xs-12 col-sm-2"></label>
<div class="col-xs-12 col-sm-8">
<button type="submit" class="btn btn-success btn-embossed">{:__('OK')}</button>
<button type="reset" class="btn btn-default btn-embossed">{:__('Reset')}</button>
</div>
</div>
</div>
</div>
</div>
<div class="col-md-4 col-sm-12">
<div class="panel panel-default panel-intro">
<div class="panel-heading">
<div class="panel-lead"><em>{:__('Other')}</em></div>
</div>
<div class="panel-body">
<div id="myTabContent" class="tab-content">
<div class="tab-pane fade active in" id="one">
<div class="form-group has-success">
<label for="c-views" class="control-label col-xs-12 col-sm-3">{:__('Views')}:</label>
<div class="col-xs-12 col-sm-8">
<div class="input-group margin-bottom-sm">
<input id="c-views" class="form-control" name="row[views]" type="number" value="{$row.views}">
<span class="input-group-addon"><i class="fa fa-eye text-success"></i></span>
</div>
</div>
</div>
<div class="form-group">
<label for="c-status" class="control-label col-xs-12 col-sm-3">{:__('Status')}:</label>
<div class="col-xs-12 col-sm-8">
{:build_radios('row[status]', ['new'=>__('New'), 'normal'=>__('normal'), 'hidden'=>__('hidden')], $row['status'],'radio-info')}
</div>
</div>
<div class="form-group">
<label for="c-comment_status" class="control-label col-xs-12 col-sm-3">{:__('Comment_status')}:</label>
<div class="col-xs-12 col-sm-8">
{:build_radios('row[comment_status]', ['open'=>__('Open'), 'close'=>__('Close')], $row['comment_status'],'radio-info')}
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-12 col-sm-3">{:__('Multi-Language')}:</label>
<div class="col-xs-12 col-sm-8" id="language_choose">
{$multilanguage}
</div>
</div>
<div class="form-group">
<label for="c-updatetime" class="control-label col-xs-12 col-sm-3">{:__('updatetime')}:</label>
<div class="col-xs-12 col-sm-8">
<div class='input-group date datetimepicker'>
<input type="hidden" name="row[updatetime_old]" value="{$row.updatetime|date='Y-m-d H:i:s',###}" />
<input type='text' id="c-updatetime" name="row[updatetime]" value="{$row.updatetime|date='Y-m-d H:i:s',###}" class="form-control datetimepicker" />
<span class="input-group-addon">
<span class="fa fa-calendar"></span>
</span>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</form>

View File

@ -0,0 +1,48 @@
<div class="panel panel-default panel-intro">
{:build_heading()}
<div class="panel-body">
<div id="myTabContent" class="tab-content">
<div class="tab-pane fade active in" id="one">
<div class="widget-body no-padding">
<div id="toolbar" class="toolbar">
{:build_toolbar(['refresh','add','move','del'], ['add'=>[url('posts/archives/add'), 'btn btn-success btn-addtabs', 'fa fa-plus', __('Add'), __('Add')], 'move'=>['javascript:;', 'btn btn-info btn-move btn-disabled', 'fa fa-arrow-right', __('Move'), __('Move')]])}
<a href="javascript:;" class="btn btn-danger btn-restory btn-disabled disabled hidden"><i class="fa fa-undo"></i> {:__('Restore')}</a>
<div class="dropdown btn-group {:$auth->check('posts/archives/multi')?'':'hide'}">
<a class="btn btn-primary btn-more dropdown-toggle btn-disabled disabled" data-toggle="dropdown"><i class="fa fa-cog"></i> {:__('More')}</a>
<ul class="dropdown-menu text-left" role="menu">
<li><a class="btn btn-link btn-multi btn-disabled disabled" href="javascript:;" data-params="post_status=pass"><i class="fa fa-check-circle"></i> {:__('Set Passed')}</a></li>
<li><a class="btn btn-link btn-multi btn-disabled disabled" href="javascript:;" data-params="post_status=fail"><i class="fa fa-times-circle"></i> {:__('Set Unpassed')}</a></li>
</ul>
</div>
<a href="{:url('posts/archives/recyclebin')}" class="btn btn-danger btn-draft btn-dialog" title="{:__('Recyclebin')}"><i class="fa fa-recycle"></i> {:__('Recyclebin')}</a>
</div>
<table id="table" class="table table-striped table-bordered table-hover"
data-operate-edit="{:$auth->check('posts/archives/edit')}"
data-operate-del="{:$auth->check('posts/archives/del')}"
width="100%">
</table>
</div>
</div>
</div>
</div>
</div>
<script id="channeltpl" type="text/html">
<div class="box box-solid bg-red-gradient">
<div class="box-header ui-sortable-handle" style="cursor: move;">温馨提示</div>
<div class="box-body">只能将数据移动到相同模型的栏目下,不同模型的数据移动将被忽略</div>
<div class="box-footer text-black">
<div class="row">
<div class="col-sm-6">
<select name="channel" class="selectpicker" id="">
{foreach name="channelList" item="vo"}
<option data-siteid="{$vo.site_id}" data-model="{$vo.model}" value="{$key}" {eq name="vo.disabled" value="1"}disabled{/eq}>[{$vo.sitename}]{$vo.name}</option>
{/foreach}
</select>
</div>
</div>
</div>
</div>
</script>

View File

@ -0,0 +1,25 @@
<div class="panel panel-default panel-intro">
{:build_heading()}
<div class="panel-body">
<div id="myTabContent" class="tab-content">
<div class="tab-pane fade active in" id="one">
<div class="widget-body no-padding">
<div id="toolbar" class="toolbar">
{:build_toolbar(['refresh'])}
<a class="btn btn-info btn-restore btn-disabled" href="{:url('posts/archives/restore')}"><i class="fa fa-rotate-left"></i> {:__('Restore')}</a>
<a class="btn btn-danger btn-destroy btn-disabled" href="{:url('posts/archives/destroy')}"><i class="fa fa-times"></i> {:__('Destroy')}</a>
<a class="btn btn-success btn-restoreall" href="{:url('posts/archives/restore')}" title="{:__('Restore all')}"><i class="fa fa-rotate-left"></i> {:__('Restore all')}</a>
<a class="btn btn-danger btn-destroyall" href="{:url('posts/archives/destroy')}" title="{:__('Empty recyclebin')}"><i class="fa fa-times"></i> {:__('Empty recyclebin')}</a>
</div>
<table id="table" class="table table-striped table-bordered table-hover"
data-operate-destroy="{:$auth->check('posts/archives/destroy')}"
data-operate-restory="{:$auth->check('posts/archives/restore')}"
width="100%">
</table>
</div>
</div>
</div>
</div>
</div>

View File

@ -0,0 +1,161 @@
<form id="add-form" class="form-horizontal" role="form" data-toggle="validator" method="POST" action="">
<div class="row">
<div class="col-md-12 col-sm-12">
<div class="panel panel-default panel-intro">
<div class="panel-heading">
<ul class="nav nav-tabs">
<li class="active"><a href="#basic" data-toggle="tab">{:__('Basic')}</a></li>
<li><a href="#extra" data-toggle="tab">{:__('Extra')}</a></li>
</ul>
</div>
<div class="panel-body">
<div id="myTabContent" class="tab-content">
<div class="tab-pane fade active in" id="basic">
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('Type')}:</label>
<div class="control-radio col-xs-12 col-sm-8">
<div class="radio">
{foreach name="typeList" item="vo"}
<label for="c-type_{$key}"><input type="radio" name="row[type]" id="c-type_{$key}" value="{$key}" {in name="$key" value="channel"}checked{/in}>{$vo}</label>
{/foreach}
</div>
<div class="margin" style="margin-left:0;">
<div class="alert alert-dismissable bg-info">
<button type="button" class="close" data-dismiss="alert">×</button>
<strong>栏目</strong>: 栏目类型下不可以发布文章,但可以添加子栏目、列表、链接<br>
<strong>列表</strong>: 列表类型下可以发布文章,但不能添加子栏目<br>
<strong>链接</strong>: 链接类型下不可以发布文章和子级栏目<br>
</div>
</div>
</div>
</div>
<div class="form-group tf tf-channel tf-list">
<label class="control-label col-xs-12 col-sm-2">{:__('Model')}:</label>
<div class="control-radio col-xs-12 col-sm-8">
<div class="radio">
{foreach name="modelList" item="vo"}
<label for="c-model_{$vo['name']}"><input type="radio" name="row[model]" id="c-model_{$vo['name']}" value="{$vo['name']}" data-channeltpl="{$vo.channeltpl}" data-listtpl="{$vo.listtpl}" {in name="key" value=""}checked{/in}>{$vo['title']}</label>
<span></span>
{/foreach}
</div>
</div>
</div>
{notempty name="siteList"}
<div class="form-group">
<label for="c-site_id" class="control-label col-xs-12 col-sm-2">{:__('Site_id')}:</label>
<div class="col-xs-12 col-sm-8">
<select id="c-site_id" class="form-control selectpicker" name="row[site_id]">
{foreach name="siteList" item="vo"}
<option data-lang="{$vo.lang}" value="{$vo.id}">{$vo.name} ({$vo.domain})</option>
{/foreach}
</select>
</div>
</div>
{/notempty}
<div class="form-group">
<label for="c-pid" class="control-label col-xs-12 col-sm-2">{:__('Pid')}:</label>
<div class="col-xs-12 col-sm-8">
<select id="c-pid" data-rule="required" class="form-control selectpicker" data-live-search="true" name="row[pid]">
{foreach name="parentList" item="vo"}
<option data-siteid="{$vo.site_id}" value="{$key}" {in name="key" value=""}selected{/in}>{$vo.name}</option>
{/foreach}
</select>
</div>
</div>
<div class="form-group">
<label for="c-name" class="control-label col-xs-12 col-sm-2">{:__('Name')}:</label>
<div class="col-xs-12 col-sm-8">
<input id="c-name" data-rule="required" class="form-control" name="row[name]" type="text" value="">
</div>
</div>
<div class="form-group tf tf-channel tf-list">
<label for="c-diyname" class="control-label col-xs-12 col-sm-2" title="{:__('Diyname_tip')}"><i class="fa fa-info-circle text-blue"></i> {:__('Diyname')}:</label>
<div class="col-xs-12 col-sm-8">
<input id="c-diyname" data-rule="diyname" class="form-control" name="row[diyname]" type="text" value="" >
</div>
</div>
<div class="form-group tf tf-redirect">
<label for="c-redirect" class="control-label col-xs-12 col-sm-2">{:__('Redirect')}:</label>
<div class="col-xs-12 col-sm-8">
<input id="c-redirect" class="form-control" name="row[redirect]" type="text" value="" >
</div>
</div>
<div class="form-group tf tf-channel tf-list">
<label for="c-template" class="control-label col-xs-12 col-sm-2">{:__('Template')}:</label>
<div class="col-xs-12 col-sm-8">
<input id="c-template" class="form-control" name="row[template]" type="text" value="" >
</div>
</div>
<div class="form-group">
<label for="c-weigh" class="control-label col-xs-12 col-sm-2">{:__('Weigh')}:</label>
<div class="col-xs-12 col-sm-8">
<input id="c-weigh" class="form-control" name="row[weigh]" type="number" value="0">
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('Status')}:</label>
<div class="control-radio col-xs-12 col-sm-8">
{:build_radios('row[status]', ['normal'=>__('Normal'), 'hidden'=>__('Hidden')],null,'radio-inline radio-success')}
</div>
</div>
</div>
<div class="tab-pane fade" id="extra">
<div class="form-group">
<label for="c-image" class="control-label col-xs-12 col-sm-2">{:__('Image')}:</label>
<div class="col-xs-12 col-sm-8">
<div class="form-inline">
<input id="c-image" class="form-control" size="45" name="row[image]" type="text" value="">
<span><button type="button" id="plupload-image" class="btn btn-danger plupload" data-input-id="c-image" data-mimetype="image/*" data-multiple="false" data-preview-id="p-image"><i class="fa fa-upload"></i> {:__('Upload')}</button></span>
<span><button type="button" id="fachoose-image" class="btn btn-primary fachoose" data-input-id="c-image" data-mimetype="image/*" data-multiple="false"><i class="fa fa-list"></i> {:__('Choose')}</button></span>
<ul class="row list-inline plupload-preview" id="p-image"></ul>
</div>
</div>
</div>
<div class="form-group">
<label for="c-flag" class="control-label col-xs-12 col-sm-2">{:__('Flag')}:</label>
<div class="control-radio col-xs-12 col-sm-8">
<select id="c-flag" class="form-control selectpicker" multiple="" name="row[flag][]">
{foreach name="flagList" item="vo"}
<option value="{$key}">{$vo}</option>
{/foreach}
</select>
</div>
</div>
<div class="form-group">
<label for="c-keywords" class="control-label col-xs-12 col-sm-2">{:__('Keywords')}:</label>
<div class="col-xs-12 col-sm-8">
<input id="c-keywords" class="form-control" name="row[keywords]" type="text" value="">
</div>
</div>
<div class="form-group">
<label for="c-description" class="control-label col-xs-12 col-sm-2">{:__('Description')}:</label>
<div class="col-xs-12 col-sm-8">
<textarea id="c-description" class="form-control" name="row[description]"></textarea>
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('Multi-Language')}:</label>
<div class="control-radio col-xs-12 col-sm-8" id="language_choose">
{$multilanguage}
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="form-group layer-footer">
<label class="control-label col-xs-12 col-sm-2"></label>
<div class="col-xs-12 col-sm-8">
<button type="submit" class="btn btn-success btn-embossed disabled">{:__('OK')}</button>
<button type="reset" class="btn btn-default btn-embossed">{:__('Reset')}</button>
</div>
</div>
</form>

View File

@ -0,0 +1,162 @@
<form id="edit-form" class="form-horizontal" role="form" data-toggle="validator" method="POST" action="">
<div class="row">
<div class="col-md-12 col-sm-12">
<div class="panel panel-default panel-intro">
<div class="panel-heading">
<ul class="nav nav-tabs">
<li class="active"><a href="#basic" data-toggle="tab">{:__('Basic')}</a></li>
<li><a href="#extra" data-toggle="tab">{:__('Extra')}</a></li>
</ul>
</div>
<div class="panel-body">
<div id="myTabContent" class="tab-content">
<div class="tab-pane fade active in" id="basic">
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('Type')}:</label>
<div class="control-radio col-xs-12 col-sm-8">
<div class="radio">
{foreach name="typeList" item="vo"}
<label for="c-type_{$key}"><input type="radio" name="row[type]" id="c-type_{$key}" value="{$key}" {in name="$key" value="$row.type"}checked{/in}>{$vo}</label>
{/foreach}
</div>
<div class="margin" style="margin-left:0;">
<div class="alert alert-dismissable bg-info">
<button type="button" class="close" data-dismiss="alert">×</button>
<strong>栏目</strong>: 栏目类型下不可以发布文章,但可以添加子栏目、列表、链接<br>
<strong>列表</strong>: 列表类型下可以发布文章,但不能添加子栏目<br>
<strong>链接</strong>: 链接类型下不可以发布文章和子级栏目<br>
</div>
</div>
</div>
</div>
<div class="form-group tf tf-channel tf-list">
<label class="control-label col-xs-12 col-sm-2">{:__('Model')}:</label>
<div class="control-radio col-xs-12 col-sm-8">
<div class="radio">
{foreach name="modelList" item="vo"}
<label for="c-model_{$vo['name']}"><input type="radio" name="row[model]" id="c-model_{$vo['name']}" value="{$vo['name']}" {in name="$vo['name']" value="$row.model"}checked{/in}>{$vo['title']}</label>
<span></span>
{/foreach}
</div>
</div>
</div>
{notempty name="siteList"}
<div class="form-group">
<label for="c-site_id" class="control-label col-xs-12 col-sm-2">{:__('Site_id')}:</label>
<div class="col-xs-12 col-sm-8">
<select id="c-site_id" data-rule="required" class="form-control selectpicker" name="row[site_id]">
{foreach name="siteList" item="vo"}
<option value="{$vo.id}" {in name="key" value="{$vo['id']}"}selected{/eq}>{$vo.name} ({$vo.domain})</option>
{/foreach}
</select>
</div>
</div>
{/notempty}
<div class="form-group">
<label for="c-pid" class="control-label col-xs-12 col-sm-2">{:__('Pid')}:</label>
<div class="col-xs-12 col-sm-8">
<select id="c-pid" data-rule="required" class="form-control selectpicker" data-live-search="true" name="row[pid]">
{foreach name="parentList" item="vo"}
<option data-siteid="{$vo.site_id}" class="{:$vo.site_id==$row.site_id?'':'hide'}" value="{$key}" {in name="key" value="$row.pid"}selected{/in}>{$vo.name}</option>
{/foreach}
</select>
</div>
</div>
<div class="form-group">
<label for="c-name" class="control-label col-xs-12 col-sm-2">{:__('Name')}:</label>
<div class="col-xs-12 col-sm-8">
<input id="c-name" data-rule="required" class="form-control" name="row[name]" type="text" value="{$row.name}">
</div>
</div>
<div class="form-group tf tf-channel tf-list">
<label for="c-diyname" class="control-label col-xs-12 col-sm-2" title="{:__('Diyname_tip')}"><i class="fa fa-info-circle text-blue"></i> {:__('Diyname')}:</label>
<div class="col-xs-12 col-sm-8">
<input id="c-diyname" class="form-control" name="row[diyname]" type="text" value="{$row.diyname}" >
</div>
</div>
<div class="form-group tf tf-redirect">
<label for="c-redirect" class="control-label col-xs-12 col-sm-2">{:__('Redirect')}:</label>
<div class="col-xs-12 col-sm-8">
<input id="c-redirect" class="form-control" name="row[redirect]" type="text" value="{$row.redirect}" >
</div>
</div>
<div class="form-group tf tf-channel tf-list">
<label for="c-template" class="control-label col-xs-12 col-sm-2">{:__('Template')}:</label>
<div class="col-xs-12 col-sm-8">
<input id="c-template" class="form-control" name="row[template]" type="text" value="{$row.template}" >
</div>
</div>
<div class="form-group">
<label for="c-weigh" class="control-label col-xs-12 col-sm-2">{:__('Weigh')}:</label>
<div class="col-xs-12 col-sm-8">
<input id="c-weigh" class="form-control" name="row[weigh]" type="number" value="{$row.weigh}">
</div>
</div>
<div class="form-group">
<label for="c-status" class="control-label col-xs-12 col-sm-2">{:__('Status')}:</label>
<div class="col-xs-12 col-sm-8">
{:build_radios('row[status]', ['normal'=>__('Normal'), 'hidden'=>__('Hidden')], $row['status'])}
</div>
</div>
</div>
<div class="tab-pane fade" id="extra">
<div class="form-group">
<label for="c-image" class="control-label col-xs-12 col-sm-2">{:__('Image')}:</label>
<div class="col-xs-12 col-sm-8">
<div class="form-inline">
<input id="c-image" class="form-control" size="45" name="row[image]" type="text" value="{$row.image}">
<span><button type="button" id="plupload-image" class="btn btn-danger plupload" data-input-id="c-image" data-mimetype="image/*" data-multiple="false" data-preview-id="p-image"><i class="fa fa-upload"></i> {:__('Upload')}</button></span>
<span><button type="button" id="fachoose-image" class="btn btn-primary fachoose" data-input-id="c-image" data-mimetype="image/*" data-multiple="false"><i class="fa fa-list"></i> {:__('Choose')}</button></span>
<ul class="row list-inline plupload-preview" id="p-image"></ul>
</div>
</div>
</div>
<div class="form-group">
<label for="c-flag" class="control-label col-xs-12 col-sm-2">{:__('Flag')}:</label>
<div class="col-xs-12 col-sm-8">
<select class="form-control selectpicker" multiple="" name="row[flag][]">
{foreach name="flagList" item="vo"}
<option value="{$key}" {in name="key" value="$row.flag"}selected{/in}>{$vo}</option>
{/foreach}
</select>
</div>
</div>
<div class="form-group">
<label for="c-keywords" class="control-label col-xs-12 col-sm-2">{:__('Keywords')}:</label>
<div class="col-xs-12 col-sm-8">
<input id="c-keywords" class="form-control" name="row[keywords]" type="text" value="{$row.keywords}">
</div>
</div>
<div class="form-group">
<label for="c-description" class="control-label col-xs-12 col-sm-2">{:__('Description')}:</label>
<div class="col-xs-12 col-sm-8">
<textarea id="c-description" class="form-control" name="row[description]">{$row.description}</textarea>
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('Multi-Language')}:</label>
<div class="control-radio col-xs-12 col-sm-8" id="language_choose">
{$multilanguage}
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="form-group layer-footer">
<label class="control-label col-xs-12 col-sm-2"></label>
<div class="col-xs-12 col-sm-8">
<button type="submit" class="btn btn-success btn-embossed disabled">{:__('OK')}</button>
<button type="reset" class="btn btn-default btn-embossed">{:__('Reset')}</button>
</div>
</div>
</form>

View File

@ -0,0 +1,28 @@
<div class="panel panel-default panel-intro">
{:build_heading()}
<div class="panel-body">
<div id="myTabContent" class="tab-content">
<div class="tab-pane fade active in" id="one">
<div class="widget-body no-padding">
<div id="toolbar" class="toolbar">
{:build_toolbar()}
<div class="dropdown btn-group {:$auth->check('posts/channel/multi')?'':'hide'}">
<a class="btn btn-primary btn-more dropdown-toggle btn-disabled disabled" data-toggle="dropdown"><i class="fa fa-cog"></i> {:__('More')}</a>
<ul class="dropdown-menu text-left" role="menu">
<li><a class="btn btn-link btn-multi btn-disabled disabled" href="javascript:;" data-params="status=normal"><i class="fa fa-eye"></i> {:__('Set to normal')}</a></li>
<li><a class="btn btn-link btn-multi btn-disabled disabled" href="javascript:;" data-params="status=hidden"><i class="fa fa-eye-slash"></i> {:__('Set to hidden')}</a></li>
</ul>
</div>
</div>
<table id="table" class="table table-striped table-bordered table-hover"
data-operate-edit="{:$auth->check('posts/channel/edit')}"
data-operate-del="{:$auth->check('posts/channel/del')}"
width="100%">
</table>
</div>
</div>
</div>
</div>
</div>

View File

@ -0,0 +1,24 @@
<form id="add-form" class="form-horizontal" role="form" data-toggle="validator" method="POST" action="">
<div class="form-group">
<label for="c-name" class="control-label col-xs-12 col-sm-2">{:__('Name')}:</label>
<div class="col-xs-12 col-sm-8">
<input id="c-name" class="form-control" name="row[name]" type="text" value=""
data-rule="required;mname; length(3~30); remote(posts/modelx/check)"
data-rule-mname="[/^[\w\d]{3,30}$/]">
</div>
</div>
<div class="form-group">
<label for="c-title" class="control-label col-xs-12 col-sm-2">{:__('Title')}:</label>
<div class="col-xs-12 col-sm-8">
<input id="c-title" class="form-control" name="row[title]" type="text" value="" data-rule="required">
</div>
</div>
<div class="form-group layer-footer">
<label class="control-label col-xs-12 col-sm-2"></label>
<div class="col-xs-12 col-sm-8">
<button type="submit" class="btn btn-success btn-embossed disabled">{:__('OK')}</button>
<button type="reset" class="btn btn-default btn-embossed">{:__('Reset')}</button>
</div>
</div>
</form>

View File

@ -0,0 +1,92 @@
<style>
#extra ul, #extra li { list-style: none; margin:0;padding:0; }
#btnAddParam {padding:3px 5px;line-height: 200%;}
#extra {border:solid 1px #e4e4e4;}
#extra .header{line-height: 200%; font-weight: bold; }
#extra .header>span, #extra #fieldset>li>span {display: inline-block; padding: 3px 5px; }
#extra .lbl-field {width:20%;}
#extra .lbl-title {width:40%;}
#extra .lbl-type {width:12%;}
#extra .lbl-status {width:10%;}
#extra .lbl-operate {width:10%;}
#extra ul li, #btnAddParam {border-top:solid 1px #E4E4E4;}
#extra span {border-right:solid 1px #E4E4E4;}
#extra span:last-child{border-right: none 0px;}
.tab-pane { padding-top:10px; }
.item {margin:5px 0;}
#one h2 { float:left;}
#one .floatright { float:right; margin-right:4px;margin-top:20px}
</style>
<form id="edit-form" class="form-horizontal" role="form" data-toggle="validator" method="POST" action="">
<div class="container">
<div class="item">
<h2>{$row.title}{:__('Name')} <span class="small">({$row.name})</span> </h2>
<div class="margin" style="margin-left:0;">
<div class="alert alert-dismissable bg-info">
<button type="button" class="close" data-dismiss="alert">×</button>
<strong class="text-danger">重要提示:</strong><strong class="text-primary">添加</strong><strong class="text-primary">删除</strong> 字段后,需要点击"保存及应用"才会生效!
</div>
</div></div>
<input type="hidden" name="ids" value="{$row.id}" />
<div id="extra">
<div class="header">
<span class="lbl-field">{:__('field')}</span>
<span class="lbl-title">{:__('fieldname')}</span>
<span class="lbl-type">{:__('type')}</span>
<span class="lbl-status">{:__('status')}</span>
<span class="lbl-operate">{:__('operate')}</span>
</div>
<ul id="fieldset">
{notempty name="$row.extra"}
{foreach $row.extra as $index=>$vo}
<li id="p{$index}" data-field="{$vo.field}"
{foreach $vo as $key=>$field}
data-{$key}="{$field}"
{/foreach}
>
<span class="lbl-field">{$vo.field}</span>
<span class="lbl-title">{$vo.fieldname}</span>
<span class="lbl-type">{:__($vo.type)}</span>
<span class="lbl-status">
<a class="btn-change text-success" data-field="{$vo.field}" data-ids="{$row.id}" title="{:__($vo.status)}">
<i class="fa fa-toggle-{eq name="$vo.status" value="hidden"}off{else/}on{/eq} fa-2x"></i>
</a>
</span>
<span class="lbl-operate">
<a href="javascript:;" title="{:__('Edit field')}" class="btn btn-xs btn-success btn-param" data-fieldid="p{$index}" data-fieldset=""><i class="fa fa-pencil"></i></a>
<a href="javascript:;" title="{:__('Del')}" class="btn btn-xs btn-danger btn-delparam"><i class="fa fa-trash"></i></a>
</span>
</li>
{/foreach}
{/notempty}
<div id="btnAddParam"><a href="javascript:;" class="btn-param" title="{:__('add field')}">
<i class="fa fa-plus"></i> {:__('add field')}
</a>
</div>
</ul>
</div>
</div>
<div class="form-group layer-footer">
<label class="control-label col-xs-12 col-sm-2"></label>
<div class="col-xs-12 col-sm-8">
<button type="submit" class="btn btn-success btn-embossed btn-submit disabled">{:__('Save & Apply')}</button>
<button type="reset" class="btn btn-default btn-embossed">{:__('Reset')}</button>
</div>
</div>
</form>
<script id="fieldTpl" type="text/html">
<li id="<%=fieldid%>" <%=datapart%>>
<span class="lbl-field"><%=field%></span>
<span class="lbl-title"><%=title%></span>
<span class="lbl-type"><%=type%></span>
<span class="lbl-status"><%=status%></span>
<span class="lbl-operate">
<a href="javascript:;" title="{:__('Edit field')}" class="btn btn-xs btn-success btn-param" data-fieldid="<%=fieldid%>" data-fieldset="<%=fieldset%>"><i class="fa fa-pencil"></i></a>
<a href="javascript:;" title="{:__('Del')}" class="btn btn-xs btn-danger btn-delparam"><i class="fa fa-trash"></i></a>
</span>
</li>
</script>

View File

@ -0,0 +1,105 @@
<form id="addParams" class="form-horizontal" role="form" data-toggle="validator" method="POST" action="">
<input type="hidden" name="fieldid" />
<div class="form-group">
<label for="c-type" class="control-label col-xs-2 col-sm-2">{:__('type')}:</label>
<div class="col-xs-12 col-sm-4">
<select id="c-type" name="type" class="form-control">
{foreach name="typeList" item="vo"}
<option value="{$key}" {in name="key" value="string"}selected{/in}>{$vo}</option>
{/foreach}
</select>
</div>
</div>
<div class="form-group">
<label for="c-field" class="control-label col-xs-2 col-sm-2">{:__('field')}:</label>
<div class="col-xs-12 col-sm-4">
<input type="hidden" name="field-old" value="" />
<input id="c-field" class="form-control" name="field" type="text" value="" data-rule="required;fieldname;">
</div>
</div>
<div class="form-group">
<label for="c-fieldName" class="control-label col-xs-2 col-sm-2">{:__('fieldName')}:</label>
<div class="col-xs-12 col-sm-8">
<input id="c-fieldName" data-rule="required" class="form-control" name="fieldname" type="text" value="">
</div>
</div>
<div class="form-group tf tf-select tf-selects tf-checkbox tf-radio">
<label for="c-vars" class="control-label col-xs-2 col-sm-2">{:__('Vars')}:</label>
<div class="col-xs-12 col-sm-8">
<textarea id="c-vars" class="form-control" name="vars" ></textarea>
</div>
</div>
<div class="form-group">
<label for="c-value" class="control-label col-xs-2 col-sm-2">{:__('value')}:</label>
<div class="col-xs-12 col-sm-8">
<input id="c-value" class="form-control" name="value" type="text" value="">
</div>
</div>
<div class="form-group tf tf-number">
<label for="c-float" class="control-label col-xs-2 col-sm-2">{:__('float')}:</label>
<div class="col-xs-12 col-sm-4">
<input id="c-float" class="form-control" name="float" type="number" value="2">
</div>
</div>
<div class="form-group tf tf-string">
<label for="c-length" class="control-label col-xs-2 col-sm-2">{:__('length')}:</label>
<div class="col-xs-12 col-sm-4">
<input id="c-length" class="form-control" name="length" type="number" value="255">
</div>
</div>
<div class="form-group tf tf-checkbox tf-radio tf-selects">
<label for="c-min" class="control-label col-xs-2 col-sm-2">{:__('min')}:</label>
<div class="col-xs-12 col-sm-4">
<input id="c-min" class="form-control" name="min" type="text" value="">
</div>
</div>
<div class="form-group tf tf-checkbox tf-selects">
<label for="c-max" class="control-label col-xs-2 col-sm-2">{:__('max')}:</label>
<div class="col-xs-12 col-sm-4">
<input id="c-max" class="form-control" name="max" type="text" value="">
</div>
</div>
<div class="form-group">
<label for="c-tip" class="control-label col-xs-2 col-sm-2">{:__('Tip')}:</label>
<div class="col-xs-12 col-sm-8">
<input type="text" class="form-control" id="c-tip" name="tip" value="" data-rule="" />
</div>
</div>
<div class="form-group">
<label for="c-rule" class="control-label col-xs-2 col-sm-2">{:__('Rule')}:</label>
<div class="col-xs-12 col-sm-8">
<input type="text" id="c-rule" class="form-control selectpage" data-source="posts/modelx/rulelist" data-multiple="true" name="rule" value="" />
</div>
</div>
<div class="form-group">
<label for="c-success" class="control-label col-xs-2 col-sm-2">{:__('success')}:</label>
<div class="col-xs-12 col-sm-8">
<input type="text" class="form-control" id="c-success" name="success" value="" data-rule="" />
</div>
</div>
<div class="form-group">
<label for="c-error" class="control-label col-xs-2 col-sm-2">{:__('error')}:</label>
<div class="col-xs-12 col-sm-8">
<input type="text" class="form-control" id="c-error" name="error" value="" data-rule="" />
</div>
</div>
<div class="form-group">
<label for="c-extend" class="control-label col-xs-2 col-sm-2">{:__('Extend')}:</label>
<div class="col-xs-12 col-sm-8">
<textarea name="extend" id="c-extend" cols="30" rows="3" class="form-control" data-rule=""></textarea>
</div>
</div>
<div class="form-group">
<label for="c-status" class="control-label col-xs-2 col-sm-2">{:__('Status')}:</label>
<div class="col-xs-12 col-sm-8">
{:build_radios('status', ['normal'=>__('Normal'), 'hidden'=>__('Hidden')], 'normal')}
</div>
</div>
<div class="form-group layer-footer">
<label class="control-label col-xs-12 col-sm-2"></label>
<div class="col-xs-12 col-sm-8">
<button type="submit" class="btn btn-success btn-embossed btn-submit disabled">{:__('OK')}</button>
<button type="reset" class="btn btn-default btn-reset btn-embossed">{:__('Reset')}</button>
</div>
</div>
</form>

View File

@ -0,0 +1,21 @@
<div class="panel panel-default panel-intro">
{:build_heading()}
<div class="panel-body">
<div id="myTabContent" class="tab-content">
<div class="tab-pane fade active in" id="one">
<div class="widget-body no-padding">
<div id="toolbar" class="toolbar">
{:build_toolbar()}
</div>
<table id="table" class="table table-striped table-bordered table-hover"
data-operate-edit="{:$auth->check('posts/modelx/edit')}"
data-operate-del="{:$auth->check('posts/modelx/del')}"
width="100%">
</table>
</div>
</div>
</div>
</div>
</div>

View File

@ -0,0 +1,112 @@
<form id="add-form" class="form-horizontal form-ajax" role="form" data-toggle="validator" method="POST" action="">
{notempty name="siteList"}
<div class="form-group">
<label for="c-site_id" class="control-label col-xs-12 col-sm-2">{:__('Site_id')}:</label>
<div class="col-xs-12 col-sm-8">
<select id="c-site_id" class="form-control selectpicker" name="row[site_id]">
{foreach name="siteList" item="vo"}
<option data-lang="{$vo.lang}" value="{$vo.id}">{$vo.name} ({$vo.domain})</option>
{/foreach}
</select>
</div>
</div>
{/notempty}
<div class="form-group">
<label for="c-title" class="control-label col-xs-12 col-sm-2">{:__('Title')}:</label>
<div class="col-xs-12 col-sm-8">
<input id="c-title" class="form-control" name="row[title]" type="text" value="" data-rule="required" >
</div>
</div>
<div class="form-group">
<label for="c-diyname" class="control-label col-xs-12 col-sm-2" style="cursor:hand" title="{:__('Diyname_tip')}"><i class="fa fa-info-circle text-blue"></i> {:__('diyname')}:</label>
<div class="col-xs-12 col-sm-8">
<div class="input-group">
<span class="input-group-addon">/a/</span>
<input id="c-diyname" class="form-control" name="row[diyname]" type="text" value="" data-rule="length(3~15);" >
</div>
</div>
</div>
<div class="form-group">
<label for="c-keywords" class="control-label col-xs-12 col-sm-2">{:__('Keywords')}:</label>
<div class="col-xs-12 col-sm-8">
<input id="c-keywords" class="form-control" name="row[keywords]" type="text" value="">
</div>
</div>
<div class="form-group">
<label for="c-description" class="control-label col-xs-12 col-sm-2">{:__('Description')}:</label>
<div class="col-xs-12 col-sm-8">
<textarea id="c-description" class="form-control" name="row[description]"></textarea>
</div>
</div>
<div class="form-group">
<label for="c-image" class="control-label col-xs-12 col-sm-2">{:__('Image')}:</label>
<div class="col-xs-12 col-sm-8">
<div class="form-inline">
<input id="c-image" class="form-control" size="50" name="row[image]" type="text" value="">
<span><button id="plupload-image" class="btn btn-danger plupload" data-input-id="c-image" data-mimetype="image/gif,image/jpeg,image/png,image/jpg,image/bmp" data-preview-id="p-image"><i class="fa fa-upload"></i> {:__('Upload')}</button></span>
<span><button type="button" id="fachoose-image" class="btn btn-primary fachoose" data-multiple="false" data-mimetype="image/*" data-input-id="c-image"><i class="fa fa-list-ul"></i> {:__('Choose')}</button></span>
<ul class="row list-inline plupload-preview" id="p-image"></ul>
</div>
</div>
</div>
<div class="form-group">
<label for="c-content" class="control-label col-xs-12 col-sm-2">{:__('Content')}:</label>
<div class="col-xs-12 col-sm-8">
<textarea id="c-content" class="form-control editor" name="row[content]" cols="50" rows="10"></textarea>
</div>
</div>
<div class="form-group">
<label for="c-icon" class="control-label col-xs-12 col-sm-2">{:__('Icon')}:</label>
<div class="col-xs-12 col-sm-8">
<input id="c-icon" class="form-control" name="row[icon]" type="text" value="">
</div>
</div>
<div class="form-group">
<label for="c-views" class="control-label col-xs-12 col-sm-2">{:__('Views')}:</label>
<div class="col-xs-12 col-sm-8">
<input id="c-views" class="form-control" name="row[views]" type="text" value="0">
</div>
</div>
<div class="form-group">
<label for="c-comments" class="control-label col-xs-12 col-sm-2">{:__('Comments')}:</label>
<div class="col-xs-12 col-sm-8">
<input id="c-comments" class="form-control" name="row[comments]" type="number" value="0">
</div>
</div>
<div class="form-group">
<label for="c-weigh" class="control-label col-xs-12 col-sm-2">{:__('Weigh')}:</label>
<div class="col-xs-12 col-sm-8">
<input id="c-weigh" class="form-control" name="row[weigh]" type="number" value="0">
</div>
</div>
<div class="form-group">
<label for="c-flag" class="control-label col-xs-12 col-sm-2">{:__('Flag')}:</label>
<div class="control-radio col-xs-12 col-sm-8">
<select class="form-control selectpicker" multiple="" name="row[flag][]">
{foreach name="flagList" item="vo"}
<option value="{$key}">{$vo}</option>
{/foreach}
</select>
</div>
</div>
<div class="form-group">
<label for="c-status" class="control-label col-xs-12 col-sm-2">{:__('Status')}:</label>
<div class="control-radio col-xs-12 col-sm-8">
{:build_radios('row[status]', ['normal'=>__('Normal'), 'hidden'=>__('Hidden')])}
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('Multi-Language')}:</label>
<div class="control-radio col-xs-12 col-sm-8" id="language_choose">
{$multilanguage}
</div>
</div>
<div class="form-group layer-footer">
<label class="control-label col-xs-12 col-sm-2"></label>
<div class="col-xs-12 col-sm-8">
<button type="submit" class="btn btn-success btn-embossed disabled">{:__('OK')}</button>
<button type="reset" class="btn btn-default btn-embossed">{:__('Reset')}</button>
</div>
</div>
</form>

View File

@ -0,0 +1,112 @@
<form id="edit-form" class="form-horizontal form-ajax" role="form" data-toggle="validator" method="POST" action="">
{notempty name="siteList"}
<div class="form-group">
<label for="c-site_id" class="control-label col-xs-12 col-sm-2">{:__('Site_id')}:</label>
<div class="col-xs-12 col-sm-8">
<select id="c-site_id" class="form-control selectpicker" name="row[site_id]">
{foreach name="siteList" item="vo"}
<option data-lang="{$vo.lang}" value="{$vo.id}">{$vo.name} ({$vo.domain})</option>
{/foreach}
</select>
</div>
</div>
{/notempty}
<div class="form-group">
<label for="c-title" class="control-label col-xs-12 col-sm-2">{:__('Title')}:</label>
<div class="col-xs-12 col-sm-8">
<input id="c-title" class="form-control" name="row[title]" type="text" value="{$row.title}" data-rule="required" >
</div>
</div>
<div class="form-group">
<label for="c-diyname" class="control-label col-xs-12 col-sm-2" title="{:__('Diyname_tip')}"><i class="fa fa-info-circle text-blue"></i> {:__('diyname')}:</label>
<div class="col-xs-12 col-sm-8">
<div class="input-group">
<span class="input-group-addon">/a/</span>
<input id="c-diyname" class="form-control" name="row[diyname]" type="text" value="{$row.diyname}" data-rule="length(3~15);" >
</div>
</div>
</div>
<div class="form-group">
<label for="c-keywords" class="control-label col-xs-12 col-sm-2">{:__('Keywords')}:</label>
<div class="col-xs-12 col-sm-8">
<input id="c-keywords" class="form-control" name="row[keywords]" type="text" value="{$row.keywords}">
</div>
</div>
<div class="form-group">
<label for="c-description" class="control-label col-xs-12 col-sm-2">{:__('Description')}:</label>
<div class="col-xs-12 col-sm-8">
<textarea id="c-description" class="form-control" name="row[description]">{$row.description}</textarea>
</div>
</div>
<div class="form-group">
<label for="c-image" class="control-label col-xs-12 col-sm-2">{:__('Image')}:</label>
<div class="col-xs-12 col-sm-8">
<div class="form-inline">
<input id="c-image" class="form-control" size="50" name="row[image]" type="text" value="{$row.image}">
<span><button type="button" id="plupload-image" class="btn btn-danger plupload" data-multiple="false" data-input-id="c-image" data-preview-id="p-image"><i class="fa fa-upload"></i> {:__('Upload')}</button></span>
<span><button type="button" id="fachoose-image" class="btn btn-primary fachoose" data-multiple="false" data-input-id="c-image"><i class="fa fa-list-ul"></i> {:__('Choose')}</button></span>
<ul class="row list-inline plupload-preview" id="p-image"></ul>
</div>
</div>
</div>
<div class="form-group">
<label for="c-content" class="control-label col-xs-12 col-sm-2">{:__('Content')}:</label>
<div class="col-xs-12 col-sm-8">
<textarea id="c-content" class="form-control editor" name="row[content]" cols="50" rows="10">{$row.content}</textarea>
</div>
</div>
<div class="form-group">
<label for="c-icon" class="control-label col-xs-12 col-sm-2">{:__('Icon')}:</label>
<div class="col-xs-12 col-sm-8">
<input id="c-icon" class="form-control" name="row[icon]" type="text" value="{$row.icon}">
</div>
</div>
<div class="form-group">
<label for="c-views" class="control-label col-xs-12 col-sm-2">{:__('Views')}:</label>
<div class="col-xs-12 col-sm-8">
<input id="c-views" class="form-control" name="row[views]" type="number" value="{$row.views}">
</div>
</div>
<div class="form-group">
<label for="c-comments" class="control-label col-xs-12 col-sm-2">{:__('Comments')}:</label>
<div class="col-xs-12 col-sm-8">
<input id="c-comments" class="form-control" name="row[comments]" type="number" value="{$row.comments}">
</div>
</div>
<div class="form-group">
<label for="c-weigh" class="control-label col-xs-12 col-sm-2">{:__('Weigh')}:</label>
<div class="col-xs-12 col-sm-8">
<input id="c-weigh" class="form-control" name="row[weigh]" type="number" value="{$row.weigh}">
</div>
</div>
<div class="form-group">
<label for="c-flag" class="control-label col-xs-12 col-sm-2">{:__('Flag')}:</label>
<div class="control-radio col-xs-12 col-sm-8">
<select class="form-control selectpicker" multiple="" name="row[flag][]">
{foreach name="flagList" item="vo"}
<option value="{$key}" {in name="key" value="$row.flag"}selected{/in}>{$vo}</option>
{/foreach}
</select>
</div>
</div>
<div class="form-group">
<label for="c-status" class="control-label col-xs-12 col-sm-2">{:__('Status')}:</label>
<div class="control-radio col-xs-12 col-sm-8">
{:build_radios('row[status]', ['normal'=>__('Normal'), 'hidden'=>__('Hidden')], $row['status'])}
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('Multi-Language')}:</label>
<div class="control-radio col-xs-12 col-sm-8" id="language_choose">
{$multilanguage}
</div>
</div>
<div class="form-group hide layer-footer">
<label class="control-label col-xs-12 col-sm-2"></label>
<div class="col-xs-12 col-sm-8">
<button type="submit" class="btn btn-success btn-embossed disabled">{:__('OK')}</button>
<button type="reset" class="btn btn-default btn-embossed">{:__('Reset')}</button>
</div>
</div>
</form>

View File

@ -0,0 +1,28 @@
<div class="panel panel-default panel-intro">
{:build_heading()}
<div class="panel-body">
<div id="myTabContent" class="tab-content">
<div class="tab-pane fade active in" id="one">
<div class="widget-body no-padding">
<div id="toolbar" class="toolbar">
{:build_toolbar()}
<div class="dropdown btn-group {:$auth->check('posts/page/multi')?'':'hide'}">
<a class="btn btn-primary btn-more dropdown-toggle btn-disabled disabled" data-toggle="dropdown"><i class="fa fa-cog"></i> {:__('More')}</a>
<ul class="dropdown-menu text-left" role="menu">
<li><a class="btn btn-link btn-multi btn-disabled disabled" href="javascript:;" data-params="status=normal"><i class="fa fa-eye"></i> {:__('Set to normal')}</a></li>
<li><a class="btn btn-link btn-multi btn-disabled disabled" href="javascript:;" data-params="status=hidden"><i class="fa fa-eye-slash"></i> {:__('Set to hidden')}</a></li>
</ul>
</div>
</div>
<table id="table" class="table table-striped table-bordered table-hover"
data-operate-edit="{:$auth->check('posts/page/edit')}"
data-operate-del="{:$auth->check('posts/page/del')}"
width="100%">
</table>
</div>
</div>
</div>
</div>
</div>

View File

@ -0,0 +1,132 @@
<form id="add-form" class="form-horizontal" role="form" data-toggle="validator" method="POST" action="">
<div class="row">
<div class="col-md-12 col-sm-12">
<div class="panel panel-default panel-intro">
<div class="panel-heading">
<ul class="nav nav-tabs">
<li class="active"><a href="#basic" data-toggle="tab">基础信息</a></li>
<li><a href="#adv" data-toggle="tab">高级设置</a></li>
<li><a href="#custom" data-toggle="tab">自定义</a></li>
</ul>
</div>
<div class="panel-body">
<div id="myTabContent" class="tab-content">
<div class="tab-pane fade active in" id="basic">
<div class="form-group">
<label for="c-user_id" class="control-label col-xs-12 col-sm-2">{:__('User_id')}:</label>
<div class="col-xs-12 col-sm-8">
<input id="c-user_id" data-rule="required" data-source="auth/admin/selectpage" class="form-control selectpage" name="row[user_id]" type="text" value="">
</div>
</div>
<div class="form-group">
<label for="c-name" class="control-label col-xs-12 col-sm-2">{:__('name')}:</label>
<div class="col-xs-12 col-sm-8">
<input id="c-name" data-rule="required" class="form-control" name="row[name]" type="text">
</div>
</div>
<div class="form-group">
<label for="c-domain" class="control-label col-xs-12 col-sm-2">{:__('Domain')}:</label>
<div class="col-xs-12 col-sm-8">
<input id="c-domain" data-rule="required" class="form-control" name="row[domain]" type="text">
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('Lang')}:</label>
<div class="col-xs-12 col-sm-8">
{$multilanguage}
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('Status')}:</label>
<div class="col-xs-12 col-sm-8">
{:build_radios('row[status]', ['normal'=>__('Normal'), 'hidden'=>__('Hidden')], 'normal', 'radio-success')}
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('Modules')}:</label>
<div class="col-xs-12 col-sm-8">
<span class="text-muted"><input type="checkbox" name="" id="checkall" /> <label for="checkall"><small>{:__('Check all')}</small></label></span>
<div id="modulelist">
{volist id="vo" name="moduleList"}
<div class="text-capitalize">
<label><input type="checkbox" name="row[modules][]" value="{$key}">{$vo.name}</label>
<span>{$vo.descript}</span>
</div>
{/volist}
</div>
</div>
</div>
</div>
<div class="tab-pane fade" id="adv">
<div id="defaultLanguage">
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('Title')}:</label>
<div class="col-xs-12 col-sm-8">
<input class="form-control" id="c-s-title" type="text" name="seo[zh-cn][title]" value=""></input>
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('Keywords')}:</label>
<div class="col-xs-12 col-sm-8">
<textarea class="form-control" id="c-s-keywords" name="seo[zh-cn][keywords]"></textarea>
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('Description')}:</label>
<div class="col-xs-12 col-sm-8">
<textarea class="form-control" id="c-s-description" name="seo[zh-cn][description]"></textarea>
</div>
</div>
</div>
<div id="extraLanguage">
</div>
</div>
<div class="tab-pane fade" id="custom">
<dl class="fieldlist" rel="">
<dd>
<ins>变量名</ins>
<ins>变量值</ins>
</dd>
<dd><a href="javascript:;" class="btn-append btn btn-sm btn-success"><i class="fa fa-plus"></i> {:__('Append')}</a></dd>
</dl>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="form-group layer-footer">
<label class="control-label col-xs-12 col-sm-2"></label>
<div class="col-xs-12 col-sm-8">
<button type="submit" class="btn btn-success btn-embossed disabled">{:__('OK')}</button>
<button type="reset" class="btn btn-default btn-embossed">{:__('Reset')}</button>
</div>
</div>
</form>
<script id="seotpl" type="text/html">
<h2>{:__('Lang')} - <%=langName%>(<%=lang%>)</h2>
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('Title')}:</label>
<div class="col-xs-12 col-sm-8">
<input class="form-control" id="c-s-title" type="text" name="seo[<%=lang%>][title]" value=""></input>
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('Keywords')}:</label>
<div class="col-xs-12 col-sm-8">
<textarea class="form-control" id="c-s-keywords" name="seo[<%=lang%>][keywords]"></textarea>
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('Description')}:</label>
<div class="col-xs-12 col-sm-8">
<textarea class="form-control" id="c-s-description" name="seo[<%=lang%>][description]"></textarea>
</div>
</div>
</script>

View File

@ -0,0 +1,154 @@
<form id="edit-form" class="form-horizontal" role="form" data-toggle="validator" method="POST" action="">
<div class="row">
<div class="col-md-12 col-sm-12">
<div class="panel panel-default panel-intro">
<div class="panel-heading">
<ul class="nav nav-tabs">
<li class="active"><a href="#basic" data-toggle="tab">基础信息</a></li>
<li><a href="#adv" data-toggle="tab">高级设置</a></li>
<li><a href="#custom" data-toggle="tab">自定义</a></li>
</ul>
</div>
<div class="panel-body">
<div id="myTabContent" class="tab-content">
<div class="tab-pane fade active in" id="basic">
<div class="form-group">
<label for="c-user_id" class="control-label col-xs-12 col-sm-2">{:__('User_id')}:</label>
<div class="col-xs-12 col-sm-8">
<input id="c-user_id" data-rule="required" data-source="auth/admin/selectpage" class="form-control selectpage" name="row[user_id]" type="text" value="{$row.user_id}">
</div>
</div>
<div class="form-group">
<label for="c-name" class="control-label col-xs-12 col-sm-2">{:__('name')}:</label>
<div class="col-xs-12 col-sm-8">
<input id="c-name" data-rule="required" class="form-control" name="row[name]" type="text" value="{$row.name}">
</div>
</div>
<div class="form-group">
<label for="c-domain" class="control-label col-xs-12 col-sm-2">{:__('Domain')}:</label>
<div class="col-xs-12 col-sm-8">
<input id="c-domain" data-rule="required" class="form-control" name="row[domain]" type="text" value="{$row.domain}">
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('Lang')}:</label>
<div class="col-xs-12 col-sm-8">
{$multilanguage}
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('Status')}:</label>
<div class="col-xs-12 col-sm-8">
{:build_radios('row[status]', ['normal'=>__('Normal'), 'hidden'=>__('Hidden')], $row['status'])}
</div>
</div>
<div class="form-group">
<label for="c-modules" class="control-label col-xs-12 col-sm-2">{:__('Modules')}:</label>
<div class="col-xs-12 col-sm-8">
</div>
</div>
</div>
<div class="tab-pane fade" id="adv">
<div id="defaultLanguage">
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('Title')}:</label>
<div class="col-xs-12 col-sm-8">
<input class="form-control" id="c-s-title" type="text" name="seo[zh-cn][title]" value="{$settings['seo']['zh-cn']['title']}"></input>
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('Keywords')}:</label>
<div class="col-xs-12 col-sm-8">
<textarea class="form-control" id="c-s-keywords" name="seo[zh-cn][keywords]">{$settings['seo']['zh-cn']['keywords']}</textarea>
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('Description')}:</label>
<div class="col-xs-12 col-sm-8">
<textarea class="form-control" id="c-s-description" name="seo[zh-cn][description]">{$settings['seo']['zh-cn']['description']}</textarea>
</div>
</div>
</div>
<div id="extraLanguage">
{foreach name="settings['seo']" item="lang" key="language"}
{notin name="language" value="zh-cn"}
<h2>{:__('Lang')} - {:config('site.multilanguages')[$language]}({$language})</h2>
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('Title')}:</label>
<div class="col-xs-12 col-sm-8">
<input class="form-control" id="c-s-title" type="text" name="seo[{$language}][title]" value="{$lang['title']}"></input>
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('Keywords')}:</label>
<div class="col-xs-12 col-sm-8">
<textarea class="form-control" id="c-s-keywords" name="seo[{$language}][keywords]">{$lang['keywords']}</textarea>
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('Description')}:</label>
<div class="col-xs-12 col-sm-8">
<textarea class="form-control" id="c-s-description" name="seo[{$language}][description]">{$lang['description']}</textarea>
</div>
</div>
{/notin}
{/foreach}
</div>
</div>
<div class="tab-pane fade" id="custom">
<dl class="fieldlist" rel="">
<dd>
<ins>变量名</ins>
<ins>变量值</ins>
</dd>
{foreach name="$settings['custom']" item="vo" key="key"}
<dd class="form-inline" data-index="{$key}">
<input type="text" name="custom[{$key}][field]" class="form-control" value="{$key}" size="20" />
<input type="text" name="custom[{$key}][value]" class="form-control" value="{$vo}" size="50" />
<span class="btn btn-sm btn-danger btn-remove"><i class="fa fa-times"></i></span>
</dd>
{/foreach}
<dd><a href="javascript:;" class="btn-append btn btn-sm btn-success"><i class="fa fa-plus"></i> {:__('Append')}</a></dd>
</dl>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="form-group layer-footer">
<label class="control-label col-xs-12 col-sm-2"></label>
<div class="col-xs-12 col-sm-8">
<button type="submit" class="btn btn-success btn-embossed disabled">{:__('OK')}</button>
<button type="reset" class="btn btn-default btn-embossed">{:__('Reset')}</button>
</div>
</div>
</form>
<script id="seotpl" type="text/html">
<h2>{:__('Lang')} - <%=langName%>(<%=lang%>)</h2>
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('Title')}:</label>
<div class="col-xs-12 col-sm-8">
<input class="form-control" id="c-s-title" type="text" name="seo[<%=lang%>][title]" value=""></input>
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('Keywords')}:</label>
<div class="col-xs-12 col-sm-8">
<textarea class="form-control" id="c-s-keywords" name="seo[<%=lang%>][keywords]"></textarea>
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('Description')}:</label>
<div class="col-xs-12 col-sm-8">
<textarea class="form-control" id="c-s-description" name="seo[<%=lang%>][description]"></textarea>
</div>
</div>
</script>

View File

@ -0,0 +1,28 @@
<div class="panel panel-default panel-intro">
{:build_heading()}
<div class="panel-body">
<div id="myTabContent" class="tab-content">
<div class="tab-pane fade active in" id="one">
<div class="widget-body no-padding">
<div id="toolbar" class="toolbar">
{:build_toolbar()}
<div class="dropdown btn-group {:$auth->check('posts/sites/multi')?'':'hide'}">
<a class="btn btn-primary btn-more dropdown-toggle btn-disabled disabled" data-toggle="dropdown"><i class="fa fa-cog"></i> {:__('More')}</a>
<ul class="dropdown-menu text-left" role="menu">
<li><a class="btn btn-link btn-multi btn-disabled disabled" href="javascript:;" data-params="status=normal"><i class="fa fa-eye"></i> {:__('Set to normal')}</a></li>
<li><a class="btn btn-link btn-multi btn-disabled disabled" href="javascript:;" data-params="status=hidden"><i class="fa fa-eye-slash"></i> {:__('Set to hidden')}</a></li>
</ul>
</div>
</div>
<table id="table" class="table table-striped table-bordered table-hover"
data-operate-edit="{:$auth->check('posts/sites/edit')}"
data-operate-del="{:$auth->check('posts/sites/del')}"
width="100%">
</table>
</div>
</div>
</div>
</div>
</div>