美文网首页
[PHP高可用后端]①④--新闻内容添加

[PHP高可用后端]①④--新闻内容添加

作者: 子木同 | 来源:发表于2017-11-07 16:08 被阅读17次
222.png 222.png 222.png

cat.php

<?php
return [
    'list' => [
        1 => '综艺',
        2 => '明星',
        3 => '韩娱',
        4 => '看点',
    ],
];

_footer.html

<script type="text/javascript" src="__STATIC__/hadmin/lib/jquery/1.9.1/jquery.min.js"></script>
<script type="text/javascript" src="__STATIC__/hadmin/lib/layer/2.4/layer.js"></script>
<script type="text/javascript" src="__STATIC__/hadmin/static/h-ui/js/H-ui.min.js"></script>
<script type="text/javascript" src="__STATIC__/hadmin/static/h-ui.admin/js/H-ui.admin.js"></script>

{load href="__STATIC__/admin/js/common.js"}

add.html

<!--header-->
{include file="public/_meta" /}
<article class="page-container">
    <form class="form form-horizontal" id="form-singwaapp" url="{:url('news/add')}">
        <div class="row cl">
            <label class="form-label col-xs-4 col-sm-2"><span class="c-red">*</span>文章标题:</label>
            <div class="formControls col-xs-8 col-sm-9">
                <input type="text" class="input-text" value="" placeholder="" id="title" name="title">
            </div>
        </div>
        <div class="row cl">
            <label class="form-label col-xs-4 col-sm-2">简略标题:</label>
            <div class="formControls col-xs-8 col-sm-9">
                <input type="text" class="input-text" value="" placeholder="" id="samll_title" name="small_title">
            </div>
        </div>
        <div class="row cl">
            <label class="form-label col-xs-4 col-sm-2"><span class="c-red">*</span>分类栏目:</label>
            <div class="formControls col-xs-8 col-sm-9"> <span class="select-box">
                <select name="catid" class="select">
                    {volist name="cats" id="vo"}
                  <option value="{$key}">{$vo}</option>
                   {/volist}
                </select>
                </span> </div>
        </div>

        <div class="row cl">
            <label class="form-label col-xs-4 col-sm-2">文章摘要:</label>
            <div class="formControls col-xs-8 col-sm-9">
                <textarea name="description" cols="" rows="" class="textarea"  placeholder="说点什么...最少输入10个字符" datatype="*10-100" dragonfly="true" nullmsg="备注不能为空!" ></textarea>
                <p class="textarea-numberbar"><em class="textarea-length">0</em>/200</p>
            </div>
        </div>


        <div class="row cl">
            <label class="form-label col-xs-4 col-sm-2">允许评论:</label>
            <div class="formControls col-xs-8 col-sm-9 skin-minimal">
                <div class="check-box">
                    <input type="checkbox" id="is_allowcomments" name="is_allowcomments" value="1">
                    <label for="checkbox-pinglun">&nbsp;</label>
                </div>
            </div>
        </div>
        <div class="row cl">
            <label class="form-label col-xs-4 col-sm-2">是否推荐到首页头图:</label>
            <div class="formControls col-xs-8 col-sm-9 skin-minimal">
                <div class="check-box">
                    <input type="checkbox" id="is_head_figure" name="is_head_figure" value="1">
                    <label for="checkbox-pinglun">&nbsp;</label>
                </div>
            </div>
        </div>
        <div class="row cl">
            <label class="form-label col-xs-4 col-sm-2">是否推荐:</label>
            <div class="formControls col-xs-8 col-sm-9 skin-minimal">
                <div class="check-box">
                    <input type="checkbox" id="is_position" name="is_position" value="1">
                    <label for="checkbox-pinglun">&nbsp;</label>
                </div>
            </div>
        </div>

        <div class="row cl">
            <label class="form-label col-xs-4 col-sm-2">缩略图:</label>
            <div class="formControls col-xs-8 col-sm-9">
                <input id="file_upload"  type="file" multiple="true" >
                <img style="display: none" id="upload_org_code_img" src="" width="150" height="150">
                <input id="file_upload_image" name="image" type="hidden" multiple="true" value="">
            </div>
        </div>

        <div class="row cl">
            <label class="form-label col-xs-4 col-sm-2">文章内容:</label>
            <div class="formControls col-xs-8 col-sm-9">
                <script id="editor" type="text/plain" name="content" style="width:100%;height:400px;"></script>
                </div>
                </div>
                <div class="row cl">
                    <div class="col-xs-8 col-sm-9 col-xs-offset-4 col-sm-offset-2">
                    <button  class="btn btn-secondary radius" type="submit"><i class="Hui-iconfont">&#xe632;</i> 保存</button>
                <button onClick="removeIframe();" class="btn btn-default radius" type="button">&nbsp;&nbsp;取消&nbsp;&nbsp;</button>
                </div>
                </div>
                </form>
                </article>

                <!--header-->
                {include file="public/_footer" /}

                <!--请在下方写此页面业务相关的脚本-->
                <script type="text/javascript" src="__STATIC__/hadmin/lib/jquery.validation/1.14.0/jquery.validate.js"></script>
                <script type="text/javascript" src="__STATIC__/hadmin/lib/jquery.validation/1.14.0/validate-methods.js"></script>
                <script type="text/javascript" src="__STATIC__/hadmin/lib/jquery.validation/1.14.0/messages_zh.js"></script>
                <script type="text/javascript" src="__STATIC__/hadmin/lib/ueditor/1.4.3/ueditor.config.js"></script>
                <script type="text/javascript" src="__STATIC__/hadmin/lib/ueditor/1.4.3/ueditor.all.min.js"> </script>
                <script type="text/javascript" src="__STATIC__/hadmin/lib/ueditor/1.4.3/lang/zh-cn/zh-cn.js"></script>
                {load href="__STATIC__/admin/uploadify/jquery.uploadify.min.js"}
                {load href="__STATIC__/admin/js/image.js"}
                <script type="text/javascript">
                    $(function(){
                        $('.skin-minimal input').iCheck({
                            checkboxClass: 'icheckbox-blue',
                            radioClass: 'iradio-blue',
                            increaseArea: '20%'
                        });

                        //表单验证
                        $("#form-singwaapp").validate({
                            rules:{
                                title:{
                                    required:true,
                                },
                                small_title:{
                                    required:true,
                                },
                                catid:{
                                    required:true,
                                },
                                sources_type:{
                                    required:true,
                                },
                                is_allowcomments:{
                                    required:true,
                                },

                            },
                            onkeyup:false,
                            focusCleanup:true,
                            success:"valid",
                            submitHandler:function(form){
                                singwaapp_save(form);// 需要小伙伴自定义一个singwaapp_save方法 用来处理抛送请求的哦
                            }
                        });

                        var ue = UE.getEditor('editor');

                    });

                </script>
                <!--/请在上方写此页面业务相关的脚本-->

                </body>
                </html>
<form class="form form-horizontal" id="form-singwaapp" url="{:url('news/add')}">
<select name="catid" class="select">
                    {volist name="cats" id="vo"}
                  <option value="{$key}">{$vo}</option>
                   {/volist}
                </select>
<input type="checkbox" id="is_allowcomments" name="is_allowcomments" value="1">
<input type="checkbox" id="is_head_figure" name="is_head_figure" value="1">
<input type="checkbox" id="is_position" name="is_position" value="1">

common.js

/**
 * 通过用的from表单中提交的数据的方法
 */
function singwaapp_save(form) {
    var data = $(form).serialize();

    /**
     * title=121212&small_title=1212&catid=1&description=121212
     * &is_allowcomments=&is_head_figure=&is_position=&image=
     * &content=%3Cp%3E12121212121212%3C%2Fp%3E
     */
    //console.log(data);
    url = $(form).attr('url');
    $.post(url, data, function (result) {
        if (result.code == 0) {
            layer.msg(result.msg, {icon: 5, time: 2000});
        } else if (result.code == 1) {
            self.location = result.data.jump_url;
        }
    }, 'JSON');

}

Base.php

<?php
namespace app\common\model;

use think\Model;

class Base extends Model
{
    protected $autoWriteTimestamp = true;

    public function add($data)
    {
        if (!is_array($data)) {
            exception("传递参数不合法");
        }

        $this->allowField(true)->save($data);
        return $this->id;
    }
}

News.php(Model)

<?php
namespace app\common\model;

class News extends Base
{

}

AdminUser.php

<?php

namespace app\common\model;

class AdminUser extends Base
{
}

News.php(Controller)

<?php
/**
 * Created by PhpStorm.
 * User: tong
 * Date: 2017/11/6
 * Time: 17:42
 */

namespace app\admin\controller;

use function Sodium\add;

class News extends Base
{

    public function index()
    {
        return "test";
    }

    public function add()
    {
        if (request()->isPost()) {
            $data = input('post.');
            /**
             * array (size=9)
             * 'title' => string 'sdsdsd' (length=6)
             * 'small_title' => string 'dfdfd' (length=5)
             * 'catid' => string '1' (length=1)
             * 'description' => string 'fdfdfdfd' (length=8)
             * 'is_allowcomments' => string '' (length=0)
             * 'is_head_figure' => string '' (length=0)
             * 'is_position' => string '' (length=0)
             * 'image' => string '' (length=0)
             * 'content' => string '<p>dfdfdfdfdfd</p>dfdfdfdfd_ueditor_page_break_tag_<p><br/></p>' (length=63)
             */
            //halt($data);

            //数据检验 自行完成
            try {
                $id = model('News')->add($data);
            } catch (\Exception $e) {
                return $this->result('', 0, '新增失败:' . $e->getMessage());
            }

            if ($id) {
                return $this->result(['jump_url' => url('news/index')], 1, 'OK');
            } else {
                return $this->result('', 0, '新增失败');
            }


        } else {
            return $this->fetch('', [
                'cats' => config('cat.list')
            ]);
        }
    }
}
222.png 222.png

相关文章

网友评论

      本文标题:[PHP高可用后端]①④--新闻内容添加

      本文链接:https://www.haomeiwen.com/subject/pwfjmxtx.html