yii2-summernote [ 2.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
吧!我承认,结果非常的帅气。
注意
- summernote 是基于bootstrap的,所以其非常的漂亮且对boostrap及浏览器非常友好。
- 正如安装时候选定的版本一样。本扩展仅仅对 summernote 资源文件 进行了YII2的基本封装,除了指定了一些默认值之外没有其他额外的功能。比如 summernote 默认上传的图片是编码到html中的。而通常情况下你需要上传至后台甚至是七牛或者oss且以文件的形式存在。当然,对于此你也可以使用summernote官方提供的api去实现。而我也正在考虑对其提供下更加简单方便的封装。但上述的一切并不妨碍summernote本身极其强大的功能。
- 欢迎一切建议。
- 更多请移步https://github.com/piaoyii/yii2-summernote/
飘逸
注册时间:2015-10-26
最后登录:2024-07-20
在线时长:97小时48分
最后登录:2024-07-20
在线时长:97小时48分
- 粉丝22
- 金钱4408
- 威望280
- 积分8178
共 4 条评论
不错的扩展,下次用富文本编辑器时一定要用用。不知道存在不存在百度编辑器的那种种的兼容性问题?
说一个小问题,就是在换字体的时候,其实是换了,但是在字体那一块没有显示,当输入文字的时候,才会变换,
代码支持不友好 。0.8怎么更新到1.0
@xczizz 目前 summernote 官方版本是0.8~。啥时候到1.0真确定不了。
@飘逸 编辑器不能写代码。会被转义
@xczizz 被转义是服务端的事情了。和编辑器是没关系的。
补充下,本扩展的命名空间改为piaoyii\summernote了。
https://github.com/xutl/yii2-summernote-widget