Laravel 5.5 Локализация и CKEditor - PullRequest
       7

Laravel 5.5 Локализация и CKEditor

0 голосов
/ 05 сентября 2018

Я хочу заменить несколько текстовых областей (Content En и Content Ru) на ckeditor, но все они имеют одинаковый идентификатор. Как это сделать, потому что после загрузки одного редактора он останавливается.

Форма:

{!! Form::open([ 'route' => 'portfolio.store', 'files' => 'true']) !!}

        @foreach(config('translatable.locales') as $locale)
            <div class="form-group">
                <label for="translation[{{$locale}}][title]"><strong>Title ({{$locale}})</strong></label>
                <input type="text" id="title"
                       name="translation[{{$locale}}][title]"
                       class="form-control"
                       value="{{ old('translation.'. $locale.'.title')  }}">
            </div>

            <div class="form-group">
                <label for="translation[{{$locale}}][content]"><strong>Content ({{$locale}})</strong></label>
                <textarea name="translation[{{$locale}}][content]"
                          id="content"
                          class="form-control"
                          cols="30"
                          rows="10">{{ old('translation.'. $locale.'.content') }}</textarea>
            </div>
        @endforeach

            <div class="form-group">
                <label for="image"><strong>Image</strong></label>
                <input type="file" id="image" name="image" class="form-control-file">
            </div>
            <br>

            <input class="btn btn-success btn-lg btn-block" type="submit" value="Add Portfolio">
    {!! Form::close() !!}

Сценарий:

<script>
    CKEDITOR.replace( 'content' );
</script>

введите описание изображения здесь

1 Ответ

0 голосов
/ 06 сентября 2018

Я могу объяснить, как это работает с точки зрения CKEditor.

Пожалуйста, смотрите: https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR.html#cfg-replaceClass и http://nightly.ckeditor.com/18-09-06-06-04/full/samples/old/replacebyclass.html.

CKEditor всегда заменял несколько текстовых областей при условии, что им назначен один определенный класс CSS (ckeditor по умолчанию). Все, что вам нужно сделать, это присоединить скрипт CKEditor в разделе заголовка вашего HTML-документа, а затем добавить группу <textarea class="ckeditor" name="editor1"></textarea> элементов. Они должны быть автоматически изменены на редактор.

В качестве альтернативы вы можете сгенерировать textarea элементов со случайными id's, собрать их id's и затем запустить метод replace в цикле, используя id из шага итерации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...