info.blade.php 55 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773
  1. @extends('layouts.base')
  2. @section('content')
  3. @include('public.admin.small')
  4. @include('public.admin.mylink')
  5. <link rel="stylesheet" href="{{ plugin_assets('article', 'assets/css/article.css') }}" />
  6. <script type="text/javascript" src="{{ plugin_assets('article', 'assets/js/jquery.json.js') }}"></script>
  7. <script type="text/javascript" src="{{ plugin_assets('article', 'assets/js/ueditor/ueditor.config.js') }}"></script>
  8. <script type="text/javascript" src="{{ plugin_assets('article', 'assets/js/ueditor/ueditor.all.min.js') }}"></script>
  9. <script type="text/javascript" src="{{ plugin_assets('article', 'assets/js/ueditor/ueditor.parse.js') }}"></script>
  10. <script type="text/javascript" src="{{ plugin_assets('article', 'assets/js/ueditor/lang/zh-cn/zh-cn.js') }}"></script>
  11. <style>
  12. .edui-editor12 {
  13. z-index: 3999 !important;
  14. }
  15. .fart-editor-content {
  16. height: 750px;
  17. background: #f1f1f1;
  18. overflow: auto;
  19. }
  20. #edui1_toolbarbox{
  21. position: -webkit-sticky;
  22. position: sticky;
  23. top: 0px;
  24. z-index:3999;
  25. }
  26. </style>
  27. <div class="rightlist" style="margin: 0;">
  28. <!-- 新增加右侧顶部三级菜单 -->
  29. <div class="right-titpos">
  30. <ul class="add-snav">
  31. <li class="active"><a href="#">添加文章</a></li>
  32. </ul>
  33. </div>
  34. <!-- 新增加右侧顶部三级菜单结束 -->
  35. <form action="" method="post" class="form-horizontal form" enctype="multipart/form-data">
  36. <script type="text/javascript">
  37. var pathname = window.location.pathname;
  38. if (pathname == '/admin/shop') {
  39. webroot = '/';
  40. } else {
  41. webroot = '../addons/yun_shop/';
  42. }
  43. $(function(){
  44. var pagestate = 0;
  45. //初始化百度编辑器
  46. var opts = {type: 'image',direct: false,multi: true,tabs: {'upload': 'active','browser': '','crawler': ''},path: '',dest_dir: '',global: false,thumb: false,width: 0};
  47. ue = UE.getEditor("editor", {
  48. topOffset: 0,
  49. autoFloatEnabled: true,
  50. autoHeightEnabled: true,
  51. autotypeset: {
  52. removeEmptyline: true
  53. },
  54. maximumWords : 9999999999999,
  55. initialFrameHeight: 607,
  56. focus : true,
  57. toolbars : [['fullscreen', 'source', '|', 'undo', 'redo', '|', 'bold', 'italic', 'underline', 'strikethrough', 'forecolor', 'backcolor', '|','justifyleft', 'justifycenter', 'justifyright', '|', 'insertorderedlist', 'insertunorderedlist', 'blockquote', 'emotion', 'insertvideo', 'removeformat', '|', 'rowspacingtop', 'rowspacingbottom', 'lineheight','indent', 'paragraph', 'fontsize', '|','inserttable', 'deletetable', 'insertparagraphbeforetable', 'insertrow', 'deleterow', 'insertcol', 'deletecol','mergecells', 'mergeright', 'mergedown', 'splittocells', 'splittorows', 'splittocols', '|', 'anchor', 'map', 'print', 'drafts', '|','autotypeset']],
  58. });
  59. ue.ready(function() {
  60. ue.addListener('contentChange',function(){
  61. $("#preview-content").html(ue.getContent());
  62. pagestate = 1;
  63. var toptype = $("#edui1_toolbarbox").css('position');
  64. if (toptype == "fixed") {
  65. $("#edui1_toolbarbox").css('top','50px');
  66. }
  67. else {
  68. $("#edui1_toolbarbox").css('top','0');
  69. }
  70. });
  71. $(".itembox").click(function(a) {
  72. ue.execCommand("insertHtml", "<div>" + $(this).html()+"<p></p>"+ "</div>");
  73. });
  74. $(".trash").click(function(){
  75. if(confirm("确定要清空编辑器?此操作不可恢复。")){
  76. ue.setContent("");
  77. }
  78. });
  79. // $(document).on("click",".mylink-nav",function(){
  80. // var href = $(this).data("href");
  81. // var id = $("#modal-mylink").attr("data-id");
  82. // if(id){
  83. // $("input[data-id="+id+"]").val(href);
  84. // $("#modal-mylink").attr("data-id","");
  85. // }else{
  86. // ue.execCommand('link', {href:href, 'class':'acolor'});
  87. // }
  88. // $("#modal-mylink .close").click();
  89. // });
  90. // $(".mylink-nav2").click(function(){
  91. // var href = $("textarea[name=mylink_href]").val();
  92. // if(href){
  93. // var id = $("#modal-mylink").attr("data-id");
  94. // if(id){
  95. // $("input[data-id="+id+"]").val(href);
  96. // $("#modal-mylink").attr("data-id","");
  97. // }else{
  98. // ue.execCommand('link', {href:href, 'class':'acolor'});
  99. // }
  100. // $("#modal-mylink .close").click();
  101. // $("textarea[name=mylink_href]").val("");
  102. // }else{
  103. // $("textarea[name=mylink_href]").focus();
  104. // alert("链接不能为空!");
  105. // }
  106. // });
  107. });
  108. let uploadUrl = @php echo json_encode(uploadUrl()); @endphp
  109. // 初始化调用微擎上传图片
  110. UE.registerUI('myinsertimage',function(editor, uiName) {
  111. editor.registerCommand(uiName, {
  112. execCommand: function() {
  113. require(['fileUploader'],
  114. function(uploader) {
  115. uploader.upload_url(uploadUrl.upload_url);
  116. uploader.image_url(uploadUrl.image_url);
  117. uploader.fetch_url(uploadUrl.fetch_url);
  118. uploader.delet_url(uploadUrl.delete_url);
  119. uploader.show(function(imgs) {
  120. if (imgs.length == 0) {
  121. return;
  122. } else if (imgs.length == 1) {
  123. editor.execCommand('insertimage', {
  124. 'src': imgs[0]['url'],
  125. '_src': imgs[0]['url'],
  126. 'width': '100%',
  127. 'alt': imgs[0].filename
  128. });
  129. } else {
  130. var imglist = [];
  131. for (i in imgs) {
  132. imglist.push({
  133. 'src': imgs[i]['url'],
  134. '_src': imgs[i]['url'],
  135. 'width': '100%',
  136. 'alt': imgs[i].filename
  137. });
  138. }
  139. editor.execCommand('insertimage', imglist);
  140. }
  141. },
  142. opts);
  143. });
  144. }
  145. });
  146. var btn = new UE.ui.Button({
  147. name: '插入图片',
  148. title: '插入图片',
  149. cssRules: 'background-position: -726px -77px',
  150. onclick: function() {
  151. editor.execCommand(uiName);
  152. }
  153. });
  154. editor.addListener('selectionchange',
  155. function() {
  156. var state = editor.queryCommandState(uiName);
  157. if (state == -1) {
  158. btn.setDisabled(true);
  159. btn.setChecked(false);
  160. } else {
  161. btn.setDisabled(false);
  162. btn.setChecked(state);
  163. }
  164. });
  165. return btn;
  166. },
  167. 19);
  168. // 初始化 系统链接选择
  169. UE.registerUI('mylink', function(editor, uiName) {
  170. editor.registerCommand(uiName, {
  171. execCommand: function() {
  172. $("#modal-mylink").modal();
  173. }
  174. });
  175. var btn = new UE.ui.Button({
  176. name: '超链接',
  177. title: '超链接',
  178. cssRules: 'background-position: -500px 0;',
  179. onclick: function() {
  180. editor.execCommand(uiName);
  181. }
  182. });
  183. editor.addListener('selectionchange', function() {
  184. var state = editor.queryCommandState(uiName);
  185. if (state == -1) {
  186. btn.setDisabled(true);
  187. btn.setChecked(false);
  188. } else {
  189. btn.setDisabled(false);
  190. btn.setChecked(state);
  191. }
  192. });
  193. return btn;
  194. });
  195. //初始化百度编辑器结束
  196. UE.getEditor('editor').addListener('beforefullscreenchange',function(event,isFullScreen){
  197. if(isFullScreen) {
  198. $(".edui-editor").addClass("edui-editor12");
  199. $('#edui1_toolbarbox').css("position","static")
  200. }
  201. else {
  202. $(".edui-editor").removeClass("edui-editor12")
  203. }
  204. })
  205. // 大选项卡切换
  206. $(".fart-editor-menu nav").click(function(){
  207. var step = $(this).attr("step");
  208. if(!step){
  209. return;
  210. }
  211. $(this).addClass("navon").siblings().removeClass("navon");
  212. $(".fart-editor-content[step="+step+"]").fadeIn().siblings().hide();
  213. });
  214. // 素材选项卡切换
  215. $(".con2 .tab .nav").click(function(){
  216. var n = $(this).attr("n");
  217. $(this).addClass("navon").siblings().removeClass("navon");
  218. $("#tabcon .con[n="+n+"]").fadeIn().siblings().hide();
  219. });
  220. $(".color").change(function(){
  221. var color = $(this).val();
  222. $(".itembox .tc").css("color",color);
  223. $(".itembox .bc").css("background-color",color);
  224. $(".itembox .bdc").css("border-color",color);
  225. $(".itembox .blc").css("border-left-color",color);
  226. $(".itembox .btc").css("border-top-color",color);
  227. $(".itembox .bbc").css("border-bottom-color",color);
  228. $(".itembox .brc").css("border-right-color",color);
  229. });
  230. // 监听 输入框 change
  231. $("input").bind('input propertychange',function(){
  232. pagestate = 1;
  233. var bindint = $(this).attr("bind-in");
  234. var bindinfo = !$(this).val()?$(this).attr("bind-de"):$(this).val();
  235. if(parseInt(bindinfo) > 100000){
  236. var bindinfo = '100000+';
  237. }
  238. $("*[bind-to="+bindint+"]").text(bindinfo);
  239. });
  240. $("select").change(function(){
  241. pagestate = 1;
  242. });
  243. // 监听按钮是否显示商品
  244. $(".product_advs_type").change(function(){
  245. check = $(".product_advs_type:checked").val();
  246. if(check!=0){
  247. $(".product").show();
  248. }else{
  249. $(".product").hide();
  250. }
  251. });
  252. // ajax 选择商品
  253. /* $("#select-good-btn").click(function(){
  254. var kw = $("#select-good-kw").val();
  255. $.ajax({
  256. type: 'POST',
  257. url: "{php echo $this->createPluginWebUrl('article',array('method'=>'api','apido'=>'selectgoods'))}",
  258. data: {kw:kw},
  259. dataType:'json',
  260. success: function(data){
  261. //console.log(data);
  262. $("#select-goods").html("");
  263. if(data){
  264. $.each(data,function(n,value){
  265. var html = '<div class="good">';
  266. html+='<div class="img"><img src="'+value.thumb+'"/></div>'
  267. html+='<div class="choosebtn">';
  268. html+='<a href="javascript:;" class="mylink-nav" data-href="'+"{php echo $this->createMobileUrl('shop/detail')}&id="+value.id+'">详情链接</a><br>';
  269. if(value.hasoption==0){
  270. html+='<a href="javascript:;" class="mylink-nav" data-href="'+"{php echo $this->createMobileUrl('order/confirm')}&id="+value.id+'">下单链接</a>';
  271. }
  272. html+='</div>';
  273. html+='<div class="info">';
  274. html+='<div class="info-title">'+value.title+'</div>';
  275. html+='<div class="info-price">原价:¥'+value.productprice+' 现价¥'+value.marketprice+'</div>';
  276. html+='</div>'
  277. html+='</div>';
  278. $("#select-goods").append(html);
  279. });
  280. }
  281. }
  282. });
  283. });*/
  284. // ajax 选择文章
  285. $("#select-article-btn").click(function(){
  286. var category = $("#select-article-ca option:selected").val();
  287. var keyword = $("#select-article-kw").val();
  288. $.ajax({
  289. type: 'POST',
  290. url: "{php echo $this->createPluginWebUrl('article',array('method'=>'api','apido'=>'selectarticles'))}",
  291. data: {category:category,keyword:keyword},
  292. dataType:'json',
  293. success: function(data){
  294. //console.log(data);
  295. $("#select-articles").html("");
  296. if(data){
  297. $.each(data,function(n,value){
  298. var html = '<div class="mylink-line">['+value.category_name+'] '+value.article_title;
  299. html+='<div class="mylink-sub">';
  300. html+='<a href="javascript:;" class="mylink-nav" data-href="'+"{php echo $this->createPluginMobileUrl('article')}&aid="+value.id+'">选择</a>';
  301. html+='</div></div>';
  302. $("#select-articles").append(html);
  303. });
  304. }
  305. }
  306. });
  307. });
  308. $("#nav_save").click(function(){
  309. var content = ue.getContent();
  310. $("#getContent").val(content);
  311. });
  312. // 离开页面未保存提示
  313. /*$(window).bind('beforeunload',function(){
  314. if(pagestate==1){
  315. return '您输入的内容尚未保存,确定离开此页面吗?';
  316. }
  317. });*/
  318. $(".nav-imgp").click(function(){
  319. var id = $(this).data("id");
  320. var imgurl = $("input[data-id="+id+"]").val();
  321. if(imgurl){
  322. $("#imgp").attr("src",imgurl);
  323. $("#modal-imgp").modal();
  324. }else{
  325. alert("您还没选择图片哦!");
  326. }
  327. });
  328. $(document).on("click",".nav-imgc",function(){
  329. var id = $(this).data("id");
  330. let util_name = "<?php if (config('app.framework') == 'platform') echo 'utils'; else echo 'util';?>";
  331. require(['jquery', util_name], function($, util){
  332. util.image('',function(data){
  333. $("input[data-id="+id+"]").val(data.url);
  334. $("img[data-id="+id+"]").attr("src",data.url);
  335. });
  336. });
  337. });
  338. $(document).on("click",".nav-link",function(){
  339. var id = $(this).data("id");
  340. if(id){
  341. $("#modal-mylink").attr({"data-id":id});
  342. $("#modal-mylink").modal();
  343. }
  344. });
  345. $(document).on("click",".del",function(){
  346. $(this).parent().remove();
  347. });
  348. $(".addbtn").click(function(){
  349. var id = new Date().getTime();
  350. var num = 0;
  351. $("#advs .adv").each(function(){
  352. num++;
  353. });
  354. if(num<5){
  355. var html = '<div class="adv">';
  356. html+='<div class="del">×</div>';
  357. html+='<div class="img"><img src="' + webroot + 'plugin/article/template/imgsrc/nochooseimg.jpg" data-id="PAI-'+id+'" /></div>';
  358. html+='<div class="info">';
  359. html+='<div class="input-group form-group" style="margin-top:5px; margin-bottom:0px; margin-right:5px;">';
  360. html+='<span class="input-group-addon">广告图片</span>';
  361. html+='<input type="text" name="article[advs][' + num + '][img]" class="form-control post-adv-img" placeholder="推广广告图,可直接输入或者选择系统图片 (请以http://开头)" data-id="PAI-'+id+'">';
  362. html+='<span class="input-group-addon btn btn-default nav-imgc" style="background: #fff;" data-id="PAI-'+id+'">选择图片</span>';
  363. html+='</div>';
  364. html+='<div class="input-group form-group" style="margin-top:10px; margin-bottom:0px; margin-right:5px;">';
  365. html+='<span class="input-group-addon">广告链接</span>';
  366. html+='<input type="text" name="article[advs][' + num + '][url]" class="form-control post-adv-link" placeholder="推广广告链接,可直接输入或者选择系统连接 (请以http://开头,单规格商品可直接下单)" data-id="PAL-'+id+'" value="1">';
  367. html+='<span class="input-group-addon btn btn-default nav-link" style="background: #fff;" data-id="PAL-'+id+'">选择链接</span>';
  368. html+='</div></div></div>';
  369. $("#advs").append(html);
  370. }else{
  371. alert("组多添加5张广告图! ");
  372. }
  373. });
  374. $('.chkall').click(function () {
  375. var checked = $(this).get(0).checked;
  376. if (checked) {
  377. $(this).closest('div').find(':checkbox[class!="chkall"]').removeAttr('checked');
  378. }
  379. });
  380. $('.chksingle').click(function () {
  381. $(this).closest('div').find(':checkbox[class="chkall"]').removeAttr('checked');
  382. })
  383. });
  384. require(['bootstrap'], function ($) {
  385. $(document).scroll(function () {
  386. var toptype = $("#edui1_toolbarbox").css('position');
  387. if (toptype == "fixed") {
  388. $("#edui1_toolbarbox").css('top','50px');
  389. }
  390. else {
  391. $("#edui1_toolbarbox").css('top','0');
  392. }
  393. });
  394. $('.edui-editor').scroll(function () {
  395. var toptype = $("#edui1_toolbarbox").css('position');
  396. if (toptype == "fixed") {
  397. $("#edui1_toolbarbox").css('top','50px');
  398. }
  399. else {
  400. $("#edui1_toolbarbox").css('top','0');
  401. }
  402. });
  403. });
  404. </script>
  405. <!-- 文章头部 -->
  406. <div class="page-heading">
  407. <span class="pull-right">
  408. <input type="submit" value="保存文章" class="btn btn-primary btn-sm" id="nav_save">
  409. <input type="hidden" value="" name="article[content]" id="getContent">
  410. <a class="btn btn-default btn-sm" onclick="confirm('您输入的内容尚未保存,确定离开此页面吗?');history.back()">返回列表</a>
  411. </span>
  412. {{--<h2>添加文章 <small></small></h2>--}}
  413. </div>
  414. <div id="modal-imgp" class="modal fade" tabindex="-1" role="dialog" aria-hidden="true">
  415. <div class="modal-dialog">
  416. <div class="modal-content">
  417. <div class="modal-header">
  418. <button aria-hidden="true" data-dismiss="modal" class="close" type="button">×</button>
  419. <h4>图片预览</h4>
  420. </div>
  421. <div class="modal-body">
  422. <img src="" id="imgp" style="width:100%;" />
  423. </div>
  424. </div>
  425. </div>
  426. </div>
  427. <!-- mylink start -->
  428. {{--@include('Yunshop\Article::admin.mylink')--}}
  429. <!-- mylink end -->
  430. <div class="fart-main">
  431. <!--左侧预览页面-->
  432. <div class="fart-preview">
  433. <div class="top"><p bind-to="art_title"> @if ($article['id']){{ $article['title'] }} @else 这里是文章标题 @endif</p></div>
  434. <div class="fart-rich-primary">
  435. <div class="fart-rich-title" bind-to="art_title"> @if($article['id']){{ $article['title'] }}@else 这里是文章标题 @endif</div>
  436. <div class="fart-rich-mate">
  437. <div class="fart-rich-mate-text" bind-to="art_date_v"> @if ($article['id']){{ date('Y-m-d',$article['virtual_create_at']) }} @else {{ date('Y-m-d') }} @endif</div>
  438. <div class="fart-rich-mate-text" bind-to="art_author"> @if ($article['id']){{ $article['author'] }} @else 编辑作者 @endif</div>
  439. <div class="fart-rich-mate-text href" bind-to="art_mp"> @if ($article['id']){{ $article['uniacid'] }} @else 测试公众号 @endif</div>
  440. </div>
  441. <div class="fart-rich-content" id="preview-content">
  442. {!! htmlspecialchars_decode($article['content']) !!}
  443. </div>
  444. <div class="fart-rich-tool">
  445. <div class="fart-rich-tool-text link">阅读原文</div>
  446. <div class="fart-rich-tool-text" bind-to="art_read">阅读 @if ($article['id']) @if ($article['virtual_read_num']>100000) 100000+ @else {{ $article['virtual_read_num'] }} @endif @else 100000+ @endif</div>
  447. <div class="fart-rich-tool-text">
  448. <div class="fart-rich-tool-like"></div>
  449. <span bind-to="art_like">@if ($article['id']) @if ($article['virtual_like_num']>100000) 100000+ @else {{ $article['virtual_like_num'] }} @endif @else 54321 @endif</span>
  450. </div>
  451. <div class="fart-rich-tool-text right">举报</div>
  452. </div>
  453. </div>
  454. <div class="fart-rich-sift product" @if($article['advs_type']!=0)style="display:block;"@endif>
  455. <div class="fart-rich-sift-line">
  456. <div class="fart-rich-sift-border"></div>
  457. {{--下面代码需要重新审核 todo: aid未知--}}
  458. <div class="fart-rich-sift-text"><a bind-to="product_adv_title">@if($aid){{$article['advs_title']}}@else精品推荐@endif</a></div>
  459. </div>
  460. <div class="fart-rich-sift-img"><img src="{{resource_get('plugin/article/template/imgsrc/img01.jpg', 1)}}"></div>
  461. <div class="fart-rich-sift-more" bind-to="product_adv_more">@if($aid){{$article['advs_more']}}@else更多精品@endif</div>
  462. </div>
  463. </div>
  464. <!--end 左侧预览页面-->
  465. <!--右侧编辑页面-->
  466. <div class="fart-editor" style="height: auto;">
  467. <div class="fart-editor-menu">
  468. <nav step="1" class="navon">① 编辑文章内容</nav>
  469. <nav step="2" id="nav-step-2">② 设置文章及页面信息</nav>
  470. <nav step="3">③ 设置营销内容</nav>
  471. </div>
  472. <div id="fart-editor-content">
  473. <div class="fart-editor-content" step="2" style="height: auto"><!--设置文章及页面信息-->
  474. <div class="fart-form">
  475. <form>
  476. <div class="line">
  477. <div class="input-group form-group">
  478. <span class="input-group-addon">文章标题</span>
  479. <input type="text" name="article[title]" class="form-control judge" value="{{ $article['title'] }}" placeholder="请填写文章标题 (30个汉字以内)" bind-in="art_title" bind-de="这里是文章标题">
  480. </div>
  481. </div>
  482. <div class="line">
  483. <div class="input-group form-group">
  484. <span class="input-group-addon">文章类型</span>
  485. <div class="form-control">&nbsp;
  486. <label for="" class="radio-inline"><input type="radio" name="article[type]" value="0" id="" @if ($article['type'] == 0) checked="true" @endif> 普通文章</label>&nbsp;&nbsp;&nbsp;
  487. <label for="" class="radio-inline"><input type="radio" name="article[type]" value="1" id="" @if ($article['type'] == 1) checked="true" @endif> 音频文章</label>
  488. </div>
  489. </div>
  490. </div>
  491. <span>注:如是音频类型文章则从装修页面可以选择链接的地方选择音频文章入口链接</span>
  492. <div class="line">
  493. <div class="input-group form-group">
  494. <span class="input-group-addon">音频链接</span>
  495. <input type="text" name="article[audio_link]'" class="form-control judge" value="{{ $article['audio_link'] }}">
  496. </div>
  497. </div>
  498. <div class="line">
  499. <div class="input-group form-group">
  500. <span class="input-group-addon">文章排序</span>
  501. <input type="text" name="article[display_order]'" class="form-control judge" value="{{ $article['display_order']?:0 }}">
  502. </div>
  503. </div>
  504. <div class="line">
  505. <div class="input-group form-group">
  506. <span class="input-group-addon">文章分类</span>
  507. <select class="form-control tpl-category-parent" name="article[category_id]" id="select1">
  508. <option value="0">请选择文章分类</option>
  509. @foreach ($categorys as $category)
  510. <option value="{{ $category['id'] }}" @if ($article['category_id'] == $category['id']) selected="selected" @endif>{{ $category['name'] }}</option>
  511. @endforeach
  512. </select>
  513. </div>
  514. </div>
  515. <div class="line">
  516. <div class="input-group form-group">
  517. <span class="input-group-addon">发布作者</span>
  518. <input type="text" name="article[author]" class="form-control" value="{{ $article['author'] }} " placeholder="请填写发布作者 (不填则不显示)" bind-in="art_author" bind-de="编辑作者">
  519. </div>
  520. </div>
  521. <div class="line">
  522. <div class="input-group form-group">
  523. <span class="input-group-addon">页面设置</span>
  524. <div class="form-control" style="height: auto">
  525. <label for="page_set_option2" class="checkbox-inline"><input type="checkbox" name="article[no_copy_url]" value="1" id="page_set_option2" @if ($article['no_copy_url'] == '1') checked="checked" @endif> 禁止复制链接</label>
  526. <label for="page_set_option3" class="checkbox-inline"><input type="checkbox" name="article[no_share]" value="1" id="page_set_option3" @if ($article['no_share'] == '1') checked="checked" @endif> 禁止分享至朋友圈</label>
  527. <label for="page_set_option1" class="checkbox-inline"><input type="checkbox" name="article[no_share_to_friend]" value="1" id="page_set_option1" @if ($article['no_share_to_friend'] == '1') checked="checked" @endif> 禁止分享给好友</label>
  528. </div>
  529. </div>
  530. </div>
  531. <div class="line">
  532. <div class="input-group form-group">
  533. <span class="input-group-addon">举报按钮</span>
  534. <div class="form-control">
  535. <label for="article_report1" class="radio-inline"><input type="radio" name="article[report_enabled]" value="1" id="article_report1" @if ($article['report_enabled'] == 1) checked="true" @endif> 模拟举报(使用有风险)</label>&nbsp;&nbsp;&nbsp;
  536. <label for="article_report0" class="radio-inline"><input type="radio" name="article[report_enabled]" value="0" id="article_report0" @if ($article['report_enabled'] == 0) checked="true" @endif> 不显示</label>
  537. </div>
  538. </div>
  539. </div>
  540. <div class="line">
  541. <div class="input-group form-group">
  542. <span class="input-group-addon">是否开启</span>
  543. <div class="form-control">
  544. <label for="article_state_1" class="radio-inline"><input type="radio" name="article[state]" value="1" id="article_state_1" @if ($article['id'] && $article['state'] == 1) checked="true" @endif> 开启</label>
  545. <label for="article_state_0" class="radio-inline"><input type="radio" name="article[state]" value="0" id="article_state_0" @if (!$article['id'] || $article['state'] == 0) checked="true" @endif> 关闭</label>
  546. </div>
  547. </div>
  548. </div>
  549. <div class="line">
  550. <div class="input-group form-group">
  551. <span class="input-group-addon">页面关键字</span>
  552. <input type="text" name="article[keyword]" class="form-control judge" value="{{ $article['keyword'] }}" placeholder="页面关键字">
  553. </div>
  554. </div>
  555. <div class="line">
  556. <div class="input-group form-group">
  557. <span class="input-group-addon">虚拟阅读数量</span>
  558. <input type="number" name="article[virtual_read_num]" class="form-control judge" value="{{ $article['virtual_read_num'] }}" placeholder="页面阅读量 = 真实阅读量 + 虚拟阅读量" bind-in="art_read" bind-de="100000+">
  559. </div>
  560. </div>
  561. <div class="line">
  562. <div class="input-group form-group">
  563. <span class="input-group-addon">虚拟点赞数量</span>
  564. <input type="number" name="article[virtual_like_num]" class="form-control judge" value="{{ $article['virtual_like_num'] }}" placeholder="页面点赞数 = 真实点赞数 + 虚拟点赞数" bind-in="art_like" bind-de="54321">
  565. </div>
  566. </div>
  567. <div class="line">
  568. <div class="input-group form-group">
  569. <span class="input-group-addon">虚拟发布时间</span>
  570. <input type="text" name="article[virtual_created_at]" class="form-control judge" style="padding-left: 12px; " value="@if ($article['id'] && !empty($article['virtual_created_at'])) {{ date('Y-m-d', $article['virtual_created_at']) }} @else {{ date('Y-m-d') }} @endif" placeholder="虚拟发布时间 (格式: {{ date('Y-m-d') }})" bind-in="art_date_v" bind-de="{{ date('Y-m-d') }}">
  571. </div>
  572. </div>
  573. <div class="line">
  574. <div class="input-group form-group">
  575. <span class="input-group-addon">阅读原文web链接</span>
  576. <input type="text" name="article[link]" class="form-control" value="{{ $article['link'] }}" placeholder="请填写阅读原文指向的链接 (请以http://开头, 不填则不显示)" data-id="PAL-00010">
  577. <span class="input-group-addon btn btn-default nav-link" style="background: #fff;" data-id="PAL-00010">选择链接</span>
  578. </div>
  579. </div>
  580. <div class="line">
  581. <div class="input-group form-group">
  582. <span class="input-group-addon">阅读原文小程序链接</span>
  583. <input type="text" name="article[small_link]" class="form-control" value="{{ $article['small_link'] }}" placeholder="" data-id="PAL-00012">
  584. <span class="input-group-addon btn btn-default nav-app-link" type="button" data-id="PAL-00012" >选择链接</span>
  585. </div>
  586. </div>
  587. <div class="line">
  588. <div class="input-group form-group">
  589. <span class="input-group-addon">文章介绍(封面)</span>
  590. <input type="text" name="article[desc]" class="form-control" value="{{ $article['desc'] }}" placeholder="文章介绍(封面 50字以内)">
  591. </div>
  592. </div>
  593. <div class="line">
  594. <div class="input-group form-group">
  595. <span class="input-group-addon">文章图片(封面)</span>
  596. <input type="text" name="article[thumb]" class="form-control" value="{{ $article['thumb'] }}" data-id="resp_img">
  597. <span class="input-group-addon btn nav-imgp" style="border-left: 0px; cursor: pointer;" data-id="resp_img">预览图片</span>
  598. <span class="input-group-addon btn btn-default nav-imgc" style="background: #fff;" data-id="resp_img">选择图片</span>
  599. </div>
  600. </div>
  601. <div class="line">
  602. <div class="input-group form-group">
  603. <span class="input-group-addon">会员等级浏览权限</span>
  604. <div class="form-control" style="height: auto">
  605. <label class="checkbox-inline" style="margin-left: 10px">
  606. <input type="checkbox" class='chkall' name="article[show_levels]" value="" @if ( $article['show_levels']=='') checked="true" @endif /> 全部会员等级
  607. </label>
  608. <label class="checkbox-inline">
  609. <input type="checkbox" class='chksingle' name="article[show_levels][]" value="0" @if ( $article['show_levels'] != '' && is_array($article['show_levels']) && in_array('0', $article['show_levels'])) checked="true" @endif /> 普通等级
  610. </label>
  611. @foreach ( $levels as $level)
  612. <label class="checkbox-inline">
  613. <input type="checkbox" class='chksingle' name="article[show_levels][]" value="{{ $level['id'] }}" @if ( $article['show_levels'] != '' && is_array($article['show_levels']) && in_array($level['id'], $article['show_levels'])) checked="true" @endif /> {{ $level['level_name'] }}
  614. </label>
  615. @endforeach
  616. </div>
  617. </div>
  618. </div>
  619. </form>
  620. </div>
  621. </div>
  622. <div class="fart-editor-content" step="1" style="display: block;height:auto"><!--编辑文章内容-->
  623. <div class="menu">
  624. <div class="nav1" style="width:100% !important;">富文本编辑器
  625. <div class="trash" title="清空编辑器内容"><i class="fa fa-trash-o"></i></div>
  626. </div>
  627. </div>
  628. <div class="content">
  629. <div class="con1" style="width:100% !important;">
  630. <textarea id="editor" style="width:100%;">{!! htmlspecialchars_decode($article['content']) !!}</textarea>
  631. {{--<script id="editor" style="width:100%;">{!! htmlspecialchars_decode($article['content']) !!}</script>--}}
  632. </div>
  633. </div>
  634. </div>
  635. <div class="fart-editor-content" step="3" style="overflow-y: auto;"><!--设置营销内容-->
  636. <div class="fart-form">
  637. <div class="line">
  638. <div class="line2" style="margin-right: 10px;">
  639. <div class="input-group form-group">
  640. <span class="input-group-addon">奖励规则&nbsp;&nbsp;&nbsp;&nbsp;每人每天奖励</span>
  641. <input type="text" name="article[per_person_per_day]" style="width: 60px" class="form-control judge" value="{{ $article['per_person_per_day'] }}">
  642. <span class="input-group-addon" style="border-left: 0px; border-right: 0px;">次&nbsp;&nbsp;每人总共奖励</span>
  643. <input type="text" name="article[total_per_person]" style="width: 60px" class="form-control judge" value="{{ $article['total_per_person'] }}" >
  644. <span class="input-group-addon" style="border-left: 0px;">次</span>
  645. </div>
  646. </div>
  647. </div>
  648. <div class="line">
  649. <div class="line2" >
  650. <div class="input-group form-group">
  651. <span class="input-group-addon" style="border-right: 0px;">每分享1次可获得</span>
  652. <input type="text" name="article[point]" style="width: 90px" class="form-control judge" value="{{ $article['point'] }}" >
  653. <span class="input-group-addon" style="border-left: 0px; border-right: 0px;">个积分</span>
  654. <input type="text" name="article[credit]" style="width: 115px" class="form-control judge" value="{{ $article['credit'] }}">
  655. <span class="input-group-addon">元余额</span>
  656. </div>
  657. <div class="input-group form-group" >
  658. <span class="input-group-addon">奖励方式</span>
  659. <div class="form-control" style="width: 390px">
  660. <label class="radio-inline" style="padding: 0 60px;">
  661. <input type="radio" name="article[reward_mode]" value="0" @if ($article['reward_mode'] == 0) checked="true" @endif >按次
  662. </label>
  663. <label class="radio-inline" style="padding-top: 0;">
  664. <input type="radio" name="article[reward_mode]" value="1" @if ($article['reward_mode'] == 1) checked="true" @endif>按天
  665. </label>
  666. </div>
  667. </div>
  668. <div class="input-group form-group">
  669. <span class="input-group-addon" style="border-right: 0px;">最高累计奖金</span>
  670. <input type="text" name="article[bonus_total]" style="width: 180px" class="form-control" value="{{ $article['bonus_total'] }}" placeholder="">
  671. <span class="input-group-addon" style="border-left: 0px; ">元&nbsp;&nbsp;(截至目前已奖励 @if($bonus_sum){{$bonus_sum}}@else 0 @endif元)</span>
  672. </div>
  673. </div>
  674. </div>
  675. <div class="line">
  676. <span class='help-block'>奖励规则提示:分享后,好友点击进入后,才算成功分享一次。
  677. <br>
  678. 奖励方式:1,按次,一篇文章同一个浏览者只奖励分享者一次积分/余额(只奖励首次浏览)。
  679. <br>
  680. 2,按天,一篇文章同一个浏览者每天点击浏览,每天奖励分享者一次积分/余额(只奖励每天首次浏览)。
  681. </span>
  682. </div>
  683. <div class="line">
  684. <div class="input-group form-group">
  685. <span class="input-group-addon">推广产品显示设置</span>
  686. <div class="form-control">&nbsp;
  687. <label for="product_advs_type1" class="radio-inline"><input type="radio" class="product_advs_type" name="article[advs_type]" value="0" id="product_advs_type1" @if ($article['advs_type'] == 0) checked="true" @endif> 关闭此功能</label>&nbsp;&nbsp;&nbsp;
  688. <label for="product_advs_type2" class="radio-inline"><input type="radio" class="product_advs_type" name="article[advs_type]" value="1" id="product_advs_type2" @if ($article['advs_type'] == 1) checked="true" @endif> 启用此功能</label>&nbsp;&nbsp;&nbsp;
  689. {{--<label for="product_advs_type3" class="radio-inline"><input type="radio" class="product_advs_type" name="article[advs_type]" value="2" id="product_advs_type3" @if ($article['advs_type'] == 2) checked="true" @endif> 随机显示</label>&nbsp;&nbsp;&nbsp;--}}
  690. {{--<label for="product_advs_type4" class="radio-inline"><input type="radio" class="product_advs_type" name="article[advs_type]" value="3" id="product_advs_type4" @if ($article['advs_type'] == 3) checked="true" @endif> 轮播显示</label>--}}
  691. </div>
  692. </div>
  693. </div>
  694. <div class="product" style="display:block;" >
  695. <div class="line">
  696. <div class="input-group form-group">
  697. <span class="input-group-addon">推广产品标题</span>
  698. <input type="text" name="article[advs_title]" class="form-control" value="{{ $article['advs_title'] }}" placeholder="推广产品标题,不填则不显示标题" bind-in="product_adv_title" bind-de="精品推荐">
  699. </div>
  700. </div>
  701. <div class="line">
  702. <div class="input-group form-group">
  703. <span class="input-group-addon">推广产品底部文字</span>
  704. <input type="text" name="article[advs_title_footer]" class="form-control" value="{{ $article['advs_title_footer'] }}" placeholder="推广产品底部文字,不填则不显示" bind-in="product_adv_more" bind-de="更多精彩">
  705. </div>
  706. </div>
  707. <div class="line">
  708. <div class="input-group form-group">
  709. <span class="input-group-addon">推广产品底部链接</span>
  710. <input type="text" name="article[advs_link]" class="form-control" value="{{ $article['advs_link'] }}" placeholder="推广产品底部文字链接,可直接输入或者选择系统连接 (请以http://开头)" data-id="PAL-00000">
  711. <span class="input-group-addon btn btn-default nav-link" style="background: #fff;" data-id="PAL-00000">选择链接</span>
  712. </div>
  713. </div>
  714. <div class="input-group form-group">
  715. <span class="input-group-addon">推广产品图片</span>
  716. {!!tpl_form_field_image('article[advs_img]',$article['advs_img'])!!}
  717. <span class='help-block'>推广产品图片,建议尺寸:380*130</span>
  718. </div>
  719. </div>
  720. {{--
  721. <div class="advs">
  722. <div id="advs">
  723. @if (!empty($article['advs']))
  724. @foreach ($article['advs'] as $i => $adv)
  725. <div class="adv">
  726. <div class="del">×</div>
  727. <div class="img"><img src="@if (empty($adv['img']))../addons/sz_yi/plugin/article/template/imgsrc/nochooseimg.jpg @else {{ $adv['img'] }} @endif" data-id="PAI-{{ time()+$i+1 }}" /></div>
  728. <div class="info">
  729. <div class="input-group form-group" style="margin-top:5px; margin-bottom:0px; margin-right:5px;">
  730. <span class="input-group-addon">广告图片</span>
  731. <input type="text" name="article[advs][{{ $i }}][img]" class="form-control post-adv-img" placeholder="推广广告图,可直接输入或者选择系统图片 (请以http://开头)" value="{{ $adv['img'] }}" data-id="PAI-{{ time()+$i+1 }}">
  732. <span class="input-group-addon btn btn-default nav-imgc" style="background: #fff;" data-id="PAI-{{ time()+$i+1 }}">选择图片</span>
  733. </div>
  734. <div class="input-group form-group" style="margin-top:10px; margin-bottom:0px; margin-right:5px;">
  735. <span class="input-group-addon">广告链接</span>
  736. <input type="text" name="article[advs][{{ $i }}][url]" class="form-control post-adv-link" placeholder="推广广告链接,可直接输入或者选择系统连接 (请以http://开头,单规格商品可直接下单)" value="{{ $adv['url'] }}" data-id="PAL-{{ time()+$i+1 }}" >
  737. <span class="input-group-addon btn btn-default nav-link" style="background: #fff;" data-id="PAL-{{ time()+$i+1 }}">选择链接</span>
  738. </div>
  739. </div>
  740. </div>
  741. @endforeach
  742. @endif
  743. </div>
  744. <div class="addbtn"><i class="fa fa-plus"></i> 添加一个</div>
  745. </div>
  746. --}}
  747. </div>
  748. </div>
  749. </div>
  750. </div>
  751. <!--end 右侧编辑页面-->
  752. </div>
  753. </form>
  754. </div>
  755. @endsection