|
|
<include file="public@header"/>
|
|
|
<style type="text/css">
|
|
|
.pic-list li {
|
|
|
margin-bottom: 5px;
|
|
|
}
|
|
|
</style>
|
|
|
<script type="text/html" id="photos-item-tpl">
|
|
|
<li id="saved-image{id}">
|
|
|
<input id="photo-{id}" type="hidden" name="photo_urls[]" value="{filepath}">
|
|
|
<input class="form-control" id="photo-{id}-name" type="text" name="photo_names[]" value="{name}"
|
|
|
style="width: 200px;" title="图片名称">
|
|
|
<img id="photo-{id}-preview" src="{url}" style="height:36px;width: 36px;"
|
|
|
onclick="imagePreviewDialog(this.src);">
|
|
|
<a href="javascript:uploadOneImage('图片上传','#photo-{id}');">替换</a>
|
|
|
<a href="javascript:(function(){$('#saved-image{id}').remove();})();">移除</a>
|
|
|
</li>
|
|
|
</script>
|
|
|
<script type="text/html" id="files-item-tpl">
|
|
|
<li id="saved-file{id}">
|
|
|
<input id="file-{id}" type="hidden" name="file_urls[]" value="{filepath}">
|
|
|
<input class="form-control" id="file-{id}-name" type="text" name="file_names[]" value="{name}"
|
|
|
style="width: 200px;" title="文件名称">
|
|
|
<a id="file-{id}-preview" href="{preview_url}" target="_blank">下载</a>
|
|
|
<a href="javascript:uploadOne('文件上传','#file-{id}','file');">替换</a>
|
|
|
<a href="javascript:(function(){$('#saved-file{id}').remove();})();">移除</a>
|
|
|
</li>
|
|
|
</script>
|
|
|
</head>
|
|
|
<body>
|
|
|
<div class="wrap js-check-wrap">
|
|
|
<ul class="nav nav-tabs">
|
|
|
<li><a href="{:url('AdminScoutOversea/index')}">文章管理</a></li>
|
|
|
<li>
|
|
|
<a href="{:url('AdminScoutOversea/add')}">添加文章</a>
|
|
|
</li>
|
|
|
<li class="active"><a href="#">编辑文章</a></li>
|
|
|
</ul>
|
|
|
<form action="{:url('AdminScoutOversea/editPost')}" method="post" class="form-horizontal js-ajax-form margin-top-20">
|
|
|
<div class="row">
|
|
|
<div class="col-md-9">
|
|
|
<table class="table table-bordered">
|
|
|
<input id="post-id" type="hidden" name="post[id]" value="{$post.id}">
|
|
|
<input class="form-control" type="hidden" value="{$categories}" name="post[categories]"
|
|
|
id="js-categories-id-input"/>
|
|
|
<tr>
|
|
|
<th width="100">标题<span class="form-required">*</span></th>
|
|
|
<td>
|
|
|
<input class="form-control" type="text" name="post[post_title]"
|
|
|
required value="{$post.post_title}" placeholder="请输入标题"/>
|
|
|
</td>
|
|
|
</tr>
|
|
|
<tr>
|
|
|
<th>预定须知<span class="form-required">*</span></th>
|
|
|
<td>
|
|
|
<input class="form-control" required type="text" name="post[notice]" placeholder="请输入预定须知" value="{$post.notice}"/>
|
|
|
</td>
|
|
|
</tr>
|
|
|
<tr>
|
|
|
<th>出发地点<span class="form-required">*</span></th>
|
|
|
<td>
|
|
|
<input class="form-control" required type="text" name="post[place]" placeholder="请输入出发地点" value="{$post.place}"/>
|
|
|
</td>
|
|
|
</tr>
|
|
|
<tr>
|
|
|
<th>包含项目<span class="form-required">*</span></th>
|
|
|
<td>
|
|
|
<input class="form-control" required type="text" name="post[project]" placeholder="请输入包含项目" value="{$post.project}"/>
|
|
|
</td>
|
|
|
</tr>
|
|
|
<tr>
|
|
|
<th>价格<span class="form-required">*</span></th>
|
|
|
<td>
|
|
|
<input class="form-control" required type="text" name="post[price]" placeholder="请输入价格" value="{$post.price}"/>
|
|
|
</td>
|
|
|
</tr>
|
|
|
<tr>
|
|
|
<th>支付外链<span class="form-required">*</span></th>
|
|
|
<td>
|
|
|
<input class="form-control" required type="url" name="post[pay_url]" placeholder="请输入支付外链" value="{$post.pay_url}"/>
|
|
|
</td>
|
|
|
</tr>
|
|
|
<tr>
|
|
|
<th>简介<span class="form-required">*</span></th>
|
|
|
<td>
|
|
|
<textarea class="form-control" required name="post[post_excerpt]" style="height: 50px;"
|
|
|
placeholder="请填写简介">{$post.post_excerpt}</textarea>
|
|
|
</td>
|
|
|
</tr>
|
|
|
<tr>
|
|
|
<th>相册</th>
|
|
|
<td>
|
|
|
<ul id="photos" class="pic-list list-unstyled form-inline">
|
|
|
<notempty name="post.more.photos">
|
|
|
<foreach name="post.more.photos" item="vo">
|
|
|
<php>$img_url=cmf_get_image_preview_url($vo['url']);</php>
|
|
|
<li id="saved-image{$key}">
|
|
|
<input id="photo-{$key}" type="hidden" name="photo_urls[]"
|
|
|
value="{$vo.url}">
|
|
|
<input class="form-control" id="photo-{$key}-name" type="text"
|
|
|
name="photo_names[]"
|
|
|
value="{$vo.name|default=''}" style="width: 200px;" title="图片名称">
|
|
|
<img id="photo-{$key}-preview"
|
|
|
src="{:cmf_get_image_preview_url($vo['url'])}"
|
|
|
style="height:36px;width: 36px;"
|
|
|
onclick="parent.imagePreviewDialog(this.src);">
|
|
|
<a href="javascript:uploadOneImage('图片上传','#photo-{$key}');">替换</a>
|
|
|
<a href="javascript:(function(){$('#saved-image{$key}').remove();})();">移除</a>
|
|
|
</li>
|
|
|
</foreach>
|
|
|
</notempty>
|
|
|
</ul>
|
|
|
<a href="javascript:uploadMultiImage('图片上传','#photos','photos-item-tpl');"
|
|
|
class="btn btn-sm btn-default">选择图片</a>
|
|
|
</td>
|
|
|
</tr>
|
|
|
<tr>
|
|
|
<th>权重</th>
|
|
|
<td>
|
|
|
<input class="form-control" type="number" name="post[weigh]" value="{$post.weigh}">
|
|
|
</td>
|
|
|
</tr>
|
|
|
</table>
|
|
|
|
|
|
<hook name="portal_admin_article_edit_view_main"/>
|
|
|
</div>
|
|
|
<div class="col-md-3">
|
|
|
<table class="table table-bordered">
|
|
|
<tr>
|
|
|
<th>首页缩略图<span class="form-required">*</span></th>
|
|
|
</tr>
|
|
|
<tr>
|
|
|
<td>
|
|
|
<div style="text-align: center;">
|
|
|
<input type="hidden" name="post[index_thumbnail]" id="index_thumbnail"
|
|
|
value="{$post.index_thumbnail|default=''}">
|
|
|
<a href="javascript:uploadOneImage('图片上传','#index_thumbnail');">
|
|
|
<if condition="empty($post.index_thumbnail)">
|
|
|
<img src="__TMPL__/public/assets/images/default-thumbnail.png"
|
|
|
id="index_thumbnail-preview"
|
|
|
width="135" style="cursor: pointer"/>
|
|
|
<else/>
|
|
|
<img src="{:cmf_get_image_preview_url($post.index_thumbnail)}"
|
|
|
id="index_thumbnail-preview"
|
|
|
width="135" style="cursor: pointer"/>
|
|
|
</if>
|
|
|
</a>
|
|
|
<input type="button" class="btn btn-sm btn-cancel-index_thumbnail" value="取消图片">
|
|
|
</div>
|
|
|
<div style="margin-top:30px;">
|
|
|
<span class="form-required">图片参考尺寸:290*230</span>
|
|
|
</div>
|
|
|
</td>
|
|
|
</tr>
|
|
|
|
|
|
<tr>
|
|
|
<th>列表页缩略图<span class="form-required">*</span></th>
|
|
|
</tr>
|
|
|
<tr>
|
|
|
<td>
|
|
|
<div style="text-align: center;">
|
|
|
<input type="hidden" name="post[more][thumbnail]" id="thumbnail"
|
|
|
value="{$post.more.thumbnail|default=''}">
|
|
|
<a href="javascript:uploadOneImage('图片上传','#thumbnail');">
|
|
|
<if condition="empty($post.more.thumbnail)">
|
|
|
<img src="__TMPL__/public/assets/images/default-thumbnail.png"
|
|
|
id="thumbnail-preview"
|
|
|
width="135" style="cursor: pointer"/>
|
|
|
<else/>
|
|
|
<img src="{:cmf_get_image_preview_url($post.more.thumbnail)}"
|
|
|
id="thumbnail-preview"
|
|
|
width="135" style="cursor: pointer"/>
|
|
|
</if>
|
|
|
</a>
|
|
|
<input type="button" class="btn btn-sm btn-cancel-thumbnail" value="取消图片">
|
|
|
</div>
|
|
|
<div style="margin-top:30px;">
|
|
|
<span class="form-required">图片参考尺寸:386*303</span>
|
|
|
</div>
|
|
|
</td>
|
|
|
</tr>
|
|
|
<tr>
|
|
|
<th>发布时间</th>
|
|
|
</tr>
|
|
|
<tr>
|
|
|
<td>
|
|
|
<input class="form-control js-bootstrap-datetime" type="text" name="post[published_time]"
|
|
|
value="{:date('Y-m-d H:i',$post['published_time'])}">
|
|
|
</td>
|
|
|
</tr>
|
|
|
</table>
|
|
|
|
|
|
<hook name="portal_admin_article_edit_view_right_sidebar"/>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="form-group">
|
|
|
<div class="col-sm-offset-2 col-sm-10">
|
|
|
<button type="submit" class="btn btn-primary js-ajax-submit">{:lang('SAVE')}</button>
|
|
|
<a class="btn btn-default" href="javascript:history.back(-1);">{:lang('BACK')}</a>
|
|
|
</div>
|
|
|
</div>
|
|
|
</form>
|
|
|
</div>
|
|
|
<script type="text/javascript" src="__STATIC__/js/admin.js"></script>
|
|
|
<script type="text/javascript">
|
|
|
//编辑器路径定义
|
|
|
var editorURL = GV.WEB_ROOT;
|
|
|
</script>
|
|
|
<script type="text/javascript" src="__STATIC__/js/ueditor/ueditor.config.js"></script>
|
|
|
<script type="text/javascript" src="__STATIC__/js/ueditor/ueditor.all.min.js"></script>
|
|
|
<script type="text/javascript">
|
|
|
$(function () {
|
|
|
|
|
|
editorcontent = new baidu.editor.ui.Editor();
|
|
|
editorcontent.render('content');
|
|
|
try {
|
|
|
editorcontent.sync();
|
|
|
} catch (err) {
|
|
|
}
|
|
|
//首页缩略图
|
|
|
$('.btn-cancel-index_thumbnail').click(function () {
|
|
|
$('#index_thumbnail-preview').attr('src', '__TMPL__/public/assets/images/default-thumbnail.png');
|
|
|
$('#index_thumbnail').val('');
|
|
|
});
|
|
|
//列表页缩略图
|
|
|
$('.btn-cancel-thumbnail').click(function () {
|
|
|
$('#thumbnail-preview').attr('src', '__TMPL__/public/assets/images/default-thumbnail.png');
|
|
|
$('#thumbnail').val('');
|
|
|
});
|
|
|
|
|
|
$('#more-template-select').val("{$post.more.template|default=''}");
|
|
|
});
|
|
|
|
|
|
function doSelectCategory() {
|
|
|
var selectedCategoriesId = $('#js-categories-id-input').val();
|
|
|
openIframeLayer("{:url('AdminCategory/select')}?ids=" + selectedCategoriesId, '请选择分类', {
|
|
|
area: ['700px', '400px'],
|
|
|
btn: ['确定', '取消'],
|
|
|
yes: function (index, layero) {
|
|
|
//do something
|
|
|
|
|
|
var iframeWin = window[layero.find('iframe')[0]['name']];
|
|
|
var selectedCategories = iframeWin.confirm();
|
|
|
if (selectedCategories.selectedCategoriesId.length == 0) {
|
|
|
layer.msg('请选择分类');
|
|
|
return;
|
|
|
}
|
|
|
$('#js-categories-id-input').val(selectedCategories.selectedCategoriesId.join(','));
|
|
|
$('#js-categories-name-input').val(selectedCategories.selectedCategoriesName.join(' '));
|
|
|
//console.log(layer.getFrameIndex(index));
|
|
|
layer.close(index); //如果设定了yes回调,需进行手工关闭
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
</script>
|
|
|
|
|
|
<script>
|
|
|
|
|
|
var publishYesUrl = "{:url('AdminScoutOversea/publish',array('yes'=>1))}";
|
|
|
var publishNoUrl = "{:url('AdminScoutOversea/publish',array('no'=>1))}";
|
|
|
var topYesUrl = "{:url('AdminScoutOversea/top',array('yes'=>1))}";
|
|
|
var topNoUrl = "{:url('AdminScoutOversea/top',array('no'=>1))}";
|
|
|
var recommendYesUrl = "{:url('AdminScoutOversea/recommend',array('yes'=>1))}";
|
|
|
var recommendNoUrl = "{:url('AdminScoutOversea/recommend',array('no'=>1))}";
|
|
|
|
|
|
var postId = $('#post-id').val();
|
|
|
|
|
|
//发布操作
|
|
|
$("#post-status-checkbox").change(function () {
|
|
|
if ($('#post-status-checkbox').is(':checked')) {
|
|
|
//发布
|
|
|
$.ajax({
|
|
|
url: publishYesUrl, type: "post", dataType: "json", data: {ids: postId}, success: function (data) {
|
|
|
if (data.code != 1) {
|
|
|
$('#post-status-checkbox').removeAttr("checked");
|
|
|
$('#post-status-error').html(data.msg).show();
|
|
|
|
|
|
} else {
|
|
|
$('#post-status-error').hide();
|
|
|
}
|
|
|
}
|
|
|
});
|
|
|
} else {
|
|
|
//取消发布
|
|
|
$.ajax({
|
|
|
url: publishNoUrl, type: "post", dataType: "json", data: {ids: postId}, success: function (data) {
|
|
|
if (data.code != 1) {
|
|
|
$('#post-status-checkbox').prop("checked", 'true');
|
|
|
$('#post-status-error').html(data.msg).show();
|
|
|
} else {
|
|
|
$('#post-status-error').hide();
|
|
|
}
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
});
|
|
|
|
|
|
//置顶操作
|
|
|
$("#is-top-checkbox").change(function () {
|
|
|
if ($('#is-top-checkbox').is(':checked')) {
|
|
|
//置顶
|
|
|
$.ajax({
|
|
|
url: topYesUrl, type: "post", dataType: "json", data: {ids: postId}, success: function (data) {
|
|
|
if (data.code != 1) {
|
|
|
$('#is-top-checkbox').removeAttr("checked");
|
|
|
$('#is-top-error').html(data.msg).show();
|
|
|
|
|
|
} else {
|
|
|
$('#is-top-error').hide();
|
|
|
}
|
|
|
}
|
|
|
});
|
|
|
} else {
|
|
|
//取消置顶
|
|
|
$.ajax({
|
|
|
url: topNoUrl, type: "post", dataType: "json", data: {ids: postId}, success: function (data) {
|
|
|
if (data.code != 1) {
|
|
|
$('#is-top-checkbox').prop("checked", 'true');
|
|
|
$('#is-top-error').html(data.msg).show();
|
|
|
} else {
|
|
|
$('#is-top-error').hide();
|
|
|
}
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
});
|
|
|
//推荐操作
|
|
|
$("#recommended-checkbox").change(function () {
|
|
|
if ($('#recommended-checkbox').is(':checked')) {
|
|
|
//推荐
|
|
|
$.ajax({
|
|
|
url: recommendYesUrl, type: "post", dataType: "json", data: {ids: postId}, success: function (data) {
|
|
|
if (data.code != 1) {
|
|
|
$('#recommended-checkbox').removeAttr("checked");
|
|
|
$('#recommended-error').html(data.msg).show();
|
|
|
|
|
|
} else {
|
|
|
$('#recommended-error').hide();
|
|
|
}
|
|
|
}
|
|
|
});
|
|
|
} else {
|
|
|
//取消推荐
|
|
|
$.ajax({
|
|
|
url: recommendNoUrl, type: "post", dataType: "json", data: {ids: postId}, success: function (data) {
|
|
|
if (data.code != 1) {
|
|
|
$('#recommended-checkbox').prop("checked", 'true');
|
|
|
$('#recommended-error').html(data.msg).show();
|
|
|
} else {
|
|
|
$('#recommended-error').hide();
|
|
|
}
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
});
|
|
|
|
|
|
|
|
|
</script>
|
|
|
|
|
|
|
|
|
</body>
|
|
|
</html> |
...
|
...
|
|