如何在yii2中创建Ckeditor

时间:2015-06-22 11:50:49

标签: php yii2

使用以下代码

<?php echo $form->field($model, 'txtContent')->widget(CKEditor::className(), [
    'editorOptions' => [
        'preset' => 'full', 
        'inline' => false, 
    ],
]); ?>

显示错误(#1)。

使用以下位置下载ckeditor zip文件 https://github.com/MihailDev/yii2-ckeditor

请帮助任何人......

5 个答案:

答案 0 :(得分:1)

确保您告诉我们错误说明了什么,您可以将您的代码与此工作示例进行比较:

<?php    
use dosamigos\ckeditor\CKEditor;

    $form = ActiveForm::begin();
    echo $form->field($model, 'attribute_name')->widget(CKEditor::className(), [
        'options' => ['rows' => 6],
        'preset' => 'advanced'
    ]);

安装的小部件
  

作曲家需要2个amigos /yii2-ckeditor-widget:〜1.0

答案 1 :(得分:1)

编辑器显示1) yii2-ckeditor-widget 2)vova07 / yii2-imperavi-widget

的两个示例

A) yii2-ckeditor-widget

转到根目录。就像,我的Yii项目在htdocs/Yii.

因此,请在命令中键入此内容。

步骤 - 1) root@stackinfo-desktop:~# cd /opt/lampp/htdocs/yii

步骤-2) root@stackinfo-desktop:~# cd /opt/lampp/htdocs/yii# php composer.phar require "2amigos/yii2-ckeditor-widget" "*"

它将显示如下:

  

./ composer.json已更新使用加载composer存储库   包信息更新依赖项(包括require-dev)   没有什么可以安装或更新写作   锁定文件生成自动加载文件

OR

步骤-2)转到 htdocs / Yii / composer.json 文件

<强> composer.json

查找,'require'部分。将此行"2amigos/yii2-ckeditor-widget" : "*"添加到其中。

"require": {
        .
        .
        "2amigos/yii2-ckeditor-widget" : "*"
    }

因此,现在已安装扩展程序

步骤 - 3)转到您必须使用它的页面。

<?
use dosamigos\ckeditor\CKEditor;

.
.
// Your code.
.
.
<?= $form->field($model, 'description')->widget(CKEditor::className(), [
    'options' => ['rows' => 6],
    'preset' => 'basic'
]) ?> 

B) vova07 / yii2-imperavi-widget

转到根目录。就像,我的Yii项目在htdocs/Yii

因此,请在命令中键入此内容。

步骤 - 1) root@stackinfo-desktop:~# cd /opt/lampp/htdocs/yii

步骤-2) root@stackinfo-desktop:~# cd /opt/lampp/htdocs/yii# php composer.phar require --prefer-dist vova07/yii2-imperavi-widget "*"

它将显示如下:

  

./ composer.json已更新使用加载composer存储库   包信息更新依赖项(包括require-dev)      - 安装vova07 / yii2-imperavi-widget(1.2.10)
      下载:100%

     

编写锁定文件生成自动加载文件

OR

步骤-2)转到 htdocs / Yii / composer.json 文件

<强> composer.json

查找,'需要'部分。将此行"vova07/yii2-imperavi-widget": "*"添加到其中。

"require": {
        .
        .
        "vova07/yii2-imperavi-widget": "*"
    }

因此,现在已安装扩展程序

步骤3)转到您的信息页,您必须使用它。

<?
use vova07\imperavi\Widget;

.
.
// Your code.
.
.
<?= $form->field($model, 'description')->widget(Widget::className(), [
    'settings' => [
    'lang' => 'ru',
    'minHeight' => 200,
    'plugins' => [
      'clips',
      'fullscreen'
    ]
  ]
]);?>

[注意:'说明'只不过是您的属性。]

答案 2 :(得分:1)

由于您是手动下载的,因此无法通过“自动加载”加载Widget。

您必须通过Composer安装它。教程here

在命令中键入此内容。在项目的根目录:

php composer.phar require --prefer-dist mihaildev/yii2-ckeditor "*"

不建议在composer文件夹中编辑autoload_psr4和...文件(以记录键),

对于预设,除了 标准 - BASIC -

 <?= $form->field($model, 'text')>widget(\dosamigos\ckeditor\CKEditor::className(), [
            'preset' => 'basic',
             # 'options' => ['rows' => 6], // no need. textarea is hidden.
        ]) ?>

您还可以自定义:

use dosamigos\ckeditor\CKEditor;

<?php $form = ActiveForm::begin(['id' => 'help-form']); ?>

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

    <?= $form->field($model, 'body')->widget(CKEditor::className(), [
        'preset' => 'custom',
        'clientOptions' => [
        # 'extraPlugins' => 'pbckcode', *//Download already and in the plugins folder...*
            'toolbar' => [
                [
                    'name' => 'row1',
                    'items' => [
                        'Source', '-',
                        'Bold', 'Italic', 'Underline', 'Strike', '-',
                        'Subscript', 'Superscript', 'RemoveFormat', '-',
                        'TextColor', 'BGColor', '-',
                        'NumberedList', 'BulletedList', '-',
                        'Outdent', 'Indent', '-', 'Blockquote', '-',
                        'JustifyLeft', 'JustifyCenter', 'JustifyRight', 'JustifyBlock', 'list', 'indent', 'blocks', 'align', 'bidi', '-',
                        'Link', 'Unlink', 'Anchor', '-',
                        'ShowBlocks', 'Maximize',
                        // 'pbckcode', 
                    ],
                ],
                [
                    'name' => 'row2',
                    'items' => [
                        'Image', 'Table', 'HorizontalRule', 'SpecialChar', 'Iframe', '-',
                        'NewPage', 'Print', 'Templates', '-',
                        'Cut', 'Copy', 'Paste', 'PasteText', 'PasteFromWord', '-',
                        'Undo', 'Redo', '-',
                        'Find', 'SelectAll', 'Format', 'Font', 'FontSize',
                        'base64image',
                    ],
                ],
            ],
        ],
    ]);
    ?>

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

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

OR

'clientOptions' => [
                        // 'skin'=> $type,
                        'toolbar' => [
                            ['items' => [
                                    'Source', '-',
                                ] ],
                            ['items' => [
                                    'Bold', 'Italic', 'Underline', 'Strike', '-',
                                    'NumberedList', 'BulletedList', '-',
                                ] ], .........

对于其他皮肤,您可以从here手动下载皮肤或程序包 并替换为以下地址:

... \供应商\ ckeditor \ ckeditor

您可以动态使用多个皮肤。

$type = moono-dark;
#code...
      'skin'=> $type,

内联:

<?php \dosamigos\ckeditor\CKEditorInline::begin(['preset' => 'custom', 'clientOptions' => [
    'extraPlugins' => 'pbckcode',
    'toolbarGroups' => [
        ['name' => 'undo'],
        ['name' => 'pbckcode'] // NEW PLUGIN!
    ]
]]) ?>

答案 3 :(得分:0)

添加代码的开头

use mihaildev\ckeditor\CKEditor;

答案 4 :(得分:0)

<?=    
use zxbodya\yii2\tinymce\TinyMce;

        $form->field($model, 'content')->widget(TinyMce::className(), [
            'options' => ['rows' => 15],
            'fileManager' => [
                'class' => \zxbodya\yii2\elfinder\TinyMceElFinder::className(),
                'connectorRoute' => 'el-finder/connector',
            ],
            'settings' => [
                'valid_elements' => '*[*]'
            ],
        ])
        ?>