登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

精彩的博客

大格局,大战略

 
 
 

日志

 
 

365系统设计与编程  

2017-08-18 09:34:34|  分类: xmdsys、cmf |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

前台直接提交功能:

表单:

<form name="pubbox" id="pubbox" action="{:U('portal/Post365/add_post')}" class="form-horizontal js-ajax-forms" method="post" enctype="multipart/form-data" >
<div class="row">
<div class="span9 " >
<table class="p1 table" style="margin:0px;border:10px solid #f9f9f9;" >
<tr style="display: none">
<th align="right" width="80">自动分类:</th>
<td>
<input type="text" name="term[]" value="{$term_id}"></td>
</tr>


<tr>
<th align="right" style="padding-top:20px;" >发布类型:</th>
<td style="padding-top:20px;">
<select name="post[pminclass]" required class="valid" aria-invalid="false">
<foreach name="minclass" item="vo">
<option value="{$vo}">{$vo}</option>
</foreach>
</select>
</td>
</tr>



<tr>
<th align="right" >信息标题:</th>
<td >
<input type="text" style="width:500px;" autocomplete="off" maxlength="100" name="post[post_title]" id="title" required value="" placeholder=""/>
<span class="form-required">*&nbsp请少于100个字</span>
</td>
</tr>

<tr>
<th align="right" >详细内容:</th>
<td >
<textarea id="info" maxlength="500" style="width:500px;height:150px;resize: vertical;"
name="post[post_content]" required value="" placeholder="详细描述"></textarea>
<span class="form-required"></span>
<p>提示:最多可输入<span style="color:blue">500</span>个字,已经输入了<span id="word" style="color:red">0</span>个字。</p>
<!-- JavaScript 最底部-->
</td>
</tr>
<tr>
<th align="right">删除密码:</th>
<td>
<input type="text" style="width:100px;" autocomplete="off" maxlength="8" name="post[delpass]" id="delpass" required value="" placeholder=""/>
<span class="form-required">* 请牢记,用于删除信息</span>
</td>
</tr>
<tr>
<th align="right">验证码:</th>
<td>
<input type="text" style="width:100px;" autocomplete="off" maxlength="4" name="verify" id="verify" required value="" placeholder=""/>
<span class="form-required">{:sp_verifycode_img('length=4&font_size=14&width=100&height=32&charset=2345678&use_noise=1&use_curve=0','style="cursor: pointer;" title="点击更换"')}</span>
</td>
</tr>
<tr>
<th></th>
<td >
<button class="btn btn-primary js-ajax-submit" style="width:120px;" type="submit">提 交</button>
</td>
</tr>
</table>
</div>
</div>
</form>


前台提交控制器需要自行建一个,如post365控制器

//前台文章添加提交

public function add_post(){

if (IS_POST) {

if(!sp_check_verify_code()){

$this->error( '验证码不正确');

}

if(empty($_POST['term'])){

$this->error("请至少选择一个分类!");

}

if(!empty($_POST['photos_alt']) && !empty($_POST['photos_url'])){

foreach ($_POST['photos_url'] as $key=>$url){

$photourl=sp_asset_relative_url($url);

$_POST['smeta']['photo'][]=array("url"=>$photourl,"alt"=>$_POST['photos_alt'][$key]);

}

}

$_POST['smeta']['thumb'] = sp_asset_relative_url($_POST['smeta']['thumb']);

$_POST['post']['post_modified']=date("Y-m-d H:i:s",time());

$_POST['post']['post_date']=date("Y-m-d H:i:s",time());

$_POST['post']['ip']= get_client_ip();

$_POST['post']['post_author']=2;//发布者的id 不能为空 前台就会发布失败 必须先建一个用户 ID 设置为2  ,查询会关联用户表所以必须 要有用户ID,可以把这个 管理员或用户 拉黑不用即可。只为前台发布文件有个id作用。

$article=I("post.post");

$article['smeta']=json_encode($_POST['smeta']);

$article['post_content']=htmlspecialchars_decode($article['post_content']);

$result=$this->posts_model->add($article);//添加成功后 返回的ID值 

if ($result) {

//如果文章添加成功则,同时添加关联表记录

foreach ($_POST['term'] as $mterm_id){

$this->term_relationships_model->add(array("term_id"=>intval($mterm_id),"object_id"=>$result));

}

  $this->success("发布成功!",'',10);

} else {

$this->error("发布失败!",'',10);

}

}

}

后台分类管理中增加信息类型项,如minclass, 先在数据库中添加好这个列

添加后台表单 portal\adminterm\add.html
<!-- 小类设置zn -->
<div class="control-group">
<label class="control-label">子类设置</label>
<div class="controls">
<textarea name="minclass" rows="3" cols="90"></textarea><span>请用|分开</span>
</div>
</div>

portal\adminterm\edit.html

<!-- 小类设置zn -->
<div class="control-group">
<label class="control-label">子类设置</label>
<div class="controls">
<textarea name="minclass" rows="3" cols="90">{$data.minclass}</textarea><span>请用|分开</span>
</div>
</div>

后台列表:adminterm\index.html
<tr>
<th width="50">{:L('SORT')}</th>
<th width="50">ID</th>
<th>{:L('NAME')}</th>
<th>{:L('CATEGORY_TYPE')}</th>
<th>子类</th>
<th>{:L('ACTIONS')}</th>
</tr>
后台列表:admintermcontroller.class.php
<td>\$minclass</td>
前台列表页控制器 修改:
//查询分类小分类结果并转换为数组zn
$table1=M("terms");
$where['term_id'] = $term_id;
$rs=$table1->where($where)->getField('minclass');
$minclass=explode('|',$rs);
$this->assign('minclass',$minclass);
// $this->assign('minclass',$minclass);//必须在模板后才有效.

前台列表模板修改:
<tr>
<th align="right" style="padding-top:20px;" >发布类型:</th>
<td style="padding-top:20px;">
<select name="post[pminclass]" required class="valid" aria-invalid="false">
<foreach name="minclass" item="vo">
<option value="{$vo}">{$vo}</option>
</foreach>
</select>
</td>
</tr>


  评论这张
 
阅读(193)| 评论(0)

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018