模板
user/article-add.html
这个页面可以自己定义投稿模型,表单也可以后台制定。
自定义模型发布
ishome: 前台是否允许发布,在模型修改里面可以看见这个设置,当 ishome=1 的时候,前台允许发布。
{loop table="molds" ishome="1" isopen="1" orderby="id asc" as="v"} <option value="{$v['biaoshi']}" {if($molds==$v['biaoshi'])}selected{/if}>{$v['name']}</option> {/loop}
栏目选项
一般切换模型的时候,就会请求一次对应模型的栏目,栏目显示可以在栏目列表,编辑栏目里面 发布显示 这里设置显示,则前台会显示这个栏目
function getclass(molds){ $.post("{fun U('user/getclass')}",{molds:molds},function(res){ if(res.code==0){ {if($data)} var id = {$data['id']}; {else} var id = 0; {/if} var tid = {$tid}; var html = ''; for(var i=0;i<res['data'].length;i++){ var classname = ''; for(var j=1;j<=res['data'][i]['level'];j++){ classname += '--'; } classname += res['data'][i]['classname']; if(tid==res['data'][i]['id']){ html+='<option value="'+res['data'][i]['id']+'" selected>'+classname+'</option>'; }else{ html+='<option value="'+res['data'][i]['id']+'" >'+classname+'</option>'; } } $("#tid").html(html); get_fields(tid,id) } },'json'); }
切换栏目或者刚进入页面的时候加载栏目
$(document).ready(function(){ getclass($('#molds').val()); $("#molds").change(function () { var molds = $('#molds').val(); if(molds==''){ return false; } getclass(molds) }); });
获取前台表单
前台表单字段可以在 模型列表 - 字段列表 里面进行设置 前台表单,开启这个开关,那么前台就会显示。
function get_fields(tid,id){ var id = arguments[1]?arguments[1]:0; $.post("{fun U('common/get_fields')}",{molds:$("#molds").val(),tid:tid,id:id},function(res){ if(res.code==0){ //默认 res.tpl输出的是layui的模板HTML,可以审核元素查看res里面的内容 //$("#ext_fields").html(res.tpl); var html = ''; var len = res.fields_list.length; if(len>0){ //根据对应的字段,进行HTML设计 for(var i=0;i<len;i++){ } } $("#fields_ext").html(res.tpl); } },'json'); }
切换栏目就获取一次字段,因为每个字段都会绑定栏目,不同的栏目显示不同的字段
$(document).ready(function(){ $("#tid").change(function () { {if($data)} var id = {$data['id']}; {else} var id = 0; {/if} var tid = $("#tid").val(); get_fields(tid,id) }); });