飘逸 2016-09-18 17:28:47 5950次浏览 4条评论 9 4 0

简介

github地址为:https://github.com/piaoyii/yii2-summernote/

其实基本描述都在上述的github地址的README.md上了。但是我承认,这个世界上有两件事最爽。第一是放假,第二是复制代码。所以还是给点大家喜欢的干货吧。

安装

composer require piaoyii/yii2-summernote 1.0.0-beta

提示:安装完之后扩展在/vendor/piaoyii/yii2-summernote目录下。

使用

这里举例配合ActiveForm去使用它(基础版)。

通常,YII中的小明就是帖子(post)了。
我们首先新建个帖子模型,在 models 下新建 Post.php 文件并赋值粘贴以下代码

<?php

namespace app\models;

class Post extends \yii\base\Model
{
    public $title;
    public $content;

    public function rules()
    {
        return [
            [['title', 'content'], 'required']
        ];
    }
}

然后新建帖子控制器以及操作,在 controllers 下新建 PostController.php 文件并复制粘贴以下代码

<?php

namespace app\controllers;

use Yii;
use app\models\Post;

class PostController extends \yii\web\Controller
{
    public function actionCreate()
    {
        $model = new Post;

                if ($model->load(Yii::$app->request->post()) && $model->validate()) {
                    echo '该帖子的标题是' . $model->title . '<br><br>' . 
                     '内容是' . $model->content;
                    die;
                }
        
        return $this->render('create', ['model' => $model]);
    }
}

最后新建视图文件,在 views 下新建 post/create.php 文件并复制粘贴以下代码

<?php
use yii\helpers\Html;
use yii\widgets\ActiveForm;
use yii\summernote\Summernote;
?>
<?php $form = ActiveForm::begin(); ?>

    <?= $form->field($model, 'title') ?>

    <?= $form->field($model, 'content')->widget(Summernote::className()) ?>

    <div class="form-group">
        <?= Html::submitButton('Submit', ['class' => 'btn btn-primary']) ?>
    </div>

<?php ActiveForm::end(); ?>

然后访问下index.php?r=post/create吧!我承认,结果非常的帅气。
提交前
提交后

注意

  1. summernote 是基于bootstrap的,所以其非常的漂亮且对boostrap及浏览器非常友好。
  2. 正如安装时候选定的版本一样。本扩展仅仅对 summernote 资源文件 进行了YII2的基本封装,除了指定了一些默认值之外没有其他额外的功能。比如 summernote 默认上传的图片是编码到html中的。而通常情况下你需要上传至后台甚至是七牛或者oss且以文件的形式存在。当然,对于此你也可以使用summernote官方提供的api去实现。而我也正在考虑对其提供下更加简单方便的封装。但上述的一切并不妨碍summernote本身极其强大的功能。
  3. 欢迎一切建议。
  4. 更多请移步https://github.com/piaoyii/yii2-summernote/
觉得很赞
您需要登录后才可以评论。登录 | 立即注册