Кнопка добавления чанка в содержимое
        Добрый вечер!
Подскажите, пожалуйста, как реалиизавать такую штуку. На мой взгляд очень полезная вещь.
Сделать кнопочку для менеджера в содержимом, для вставки чанка в нужное место в тексте.
К примеру:
В на вкладке «Дополнительные поля» MIGX галерея, но ее необходимо вставить в середине содержимого [[*content]], менеджер ставит курсор в нужное место в содержимом и нажимает кнопку «Вставить галерею», куда автоматически вставляется код чанка.
    
    
                                                                                
            Подскажите, пожалуйста, как реалиизавать такую штуку. На мой взгляд очень полезная вещь.
Сделать кнопочку для менеджера в содержимом, для вставки чанка в нужное место в тексте.
К примеру:
В на вкладке «Дополнительные поля» MIGX галерея, но ее необходимо вставить в середине содержимого [[*content]], менеджер ставит курсор в нужное место в содержимом и нажимает кнопку «Вставить галерею», куда автоматически вставляется код чанка.
Комментарии: 14
                Варианты:
1) Покупка ContentBlocks или что-то аналогичное. В нем вставка чанков — это самое меньшее, что можно сделать.
2) Реализация кастомной логики / покупка плагинов для текстовых редакторов. TinyMCE и CKEditor точно смогут подобное.
3) Если по каким-либо причинам я смог объяснить, что бесплатно/просто подобное не реализуется, но для вас в данный момент проблема с деньгами- вставлять в нужное место
P.S.
                    1) Покупка ContentBlocks или что-то аналогичное. В нем вставка чанков — это самое меньшее, что можно сделать.
2) Реализация кастомной логики / покупка плагинов для текстовых редакторов. TinyMCE и CKEditor точно смогут подобное.
3) Если по каким-либо причинам я смог объяснить, что бесплатно/просто подобное не реализуется, но для вас в данный момент проблема с деньгами- вставлять в нужное место
[[$gallery]] / {include 'gallery'} и т.д. зависимости от парсера.P.S.
автоматически вставляется код чанка.парсить код чанков ради переноса их содержимого — не надо.
                А это зависит от используемого HTML-редактора. У TinyMCE есть возможность создать разнообразные шаблоны.            
                    
                1) Ссылка на форум 9 летний давности…
2) Еще раз:
                    2) Еще раз:
бесплатно/просто подобное не реализуетсячеловек в тупую убьет тучу времени, пока будет пытаться их поставить.
                Можно вообще сказать менеджерам, что галерея вставляется так: __Galery__, а самому написать плагин на onWebPagePrerender, в котором заменять эту строку на 
В итоге получится бесплатное и простое решение)
                    $modx->getChunk('gallery')В итоге получится бесплатное и простое решение)
Можно вообще сказать менеджерам, что галерея вставляется так: __Galery__Ну если уж прямо вообще, то тогда в ручную заставить писать на чистом HTML :-))))))))
                Отличная идея!
            
                    
                А если серьезно, то увидев __GALLERY__ вспомнил сразу JS и его шаблоны под асинхрон :-)            
                    
                Только вот [[$Galery]] не сильно отличается от __Galery__            
                    
                В этой задаче нет острой необходимости, чтобы задействовать платные плагины.
Для интереса ради, такая вещь будет полезна многим.
Мне думается, есть простой вариант реализации… Но пока он не приходит мне в голову. )))
Буду рад, если кто-то даст направление движения.
                    Для интереса ради, такая вещь будет полезна многим.
Мне думается, есть простой вариант реализации… Но пока он не приходит мне в голову. )))
Буду рад, если кто-то даст направление движения.
                Как я понимаю нужно отталкиваться от визуального редактора — посмотрите имеет ли он возможность создавать кастомные вставки и если имеет то насколько сложно делать. А уж там дело техники.            
                    
                Может быть этого менеджера, не способного нажать 10 клавиш, устроить обычный драг-н-дроп?            
                    
                Нашел как сделать кнопку для ckeditor!
Может кому пригодится.
Создал плагин:
Иерархия:
manager/assets/components/ckeditor/ckeditor/plugins/name_plugin
name_plugin — название плагина, в моем случае «mgalery»
manager/assets/components/ckeditor/ckeditor/plugins/mgalery
manager/assets/components/ckeditor/ckeditor/plugins/mgalery/plugin.js
manager/assets/components/ckeditor/ckeditor/plugins/mgalery/images
manager/assets/components/ckeditor/ckeditor/plugins/mgalery/images/mgalery.png
manager/assets/components/ckeditor/ckeditor/plugins/mgalery/dialogs
manager/assets/components/ckeditor/ckeditor/plugins/mgalery/dialogs/mgalery.js
Содержание plugin.js:
Системные настройки — ckeditor — Дополнительные плагины — mgalery
            
                    Может кому пригодится.
Создал плагин:
Иерархия:
manager/assets/components/ckeditor/ckeditor/plugins/name_plugin
name_plugin — название плагина, в моем случае «mgalery»
manager/assets/components/ckeditor/ckeditor/plugins/mgalery
manager/assets/components/ckeditor/ckeditor/plugins/mgalery/plugin.js
manager/assets/components/ckeditor/ckeditor/plugins/mgalery/images
manager/assets/components/ckeditor/ckeditor/plugins/mgalery/images/mgalery.png
manager/assets/components/ckeditor/ckeditor/plugins/mgalery/dialogs
manager/assets/components/ckeditor/ckeditor/plugins/mgalery/dialogs/mgalery.js
Содержание plugin.js:
CKEDITOR.plugins.add('mgalery', {
  init : function(editor) {
    var command = editor.addCommand('mgalery', new CKEDITOR.dialogCommand('mgalery'));
    command.modes = {wysiwyg:1, source:1};
    command.canUndo = true;
    editor.ui.addButton('Mgalery', {
      label : 'Вставить галерею',
      command : 'mgalery',
      icon: this.path+'/images/mgalery.png'
    });
    CKEDITOR.dialog.add('mgalery', this.path + 'dialogs/mgalery.js');
  }
});Содержание mgalery.js:CKEDITOR.dialog.add('mgalery', function(editor) {
  return {
    title : 'Вставить галерею',
    minWidth : 200,
    minHeight : 70,
    onOk: function() {
      var mgalerystyle = this.getContentElement( 'idmgalery', 'mgalerystyle').getInputElement().getValue();
      this._.editor.insertHtml('<div class="motion_galery ' + mgalerystyle + '">[[$motion.galery]]</div>');
    },
    contents : [{
      id : 'idmgalery',
      label : 'First Tab',
      title : 'First Tab',
      elements : [{
        id : 'mgalerystyle',
        type : 'text',
		label : 'Стиль (не обязательно)'
      }]
    }]
  };
});в админке:Системные настройки — ckeditor — Дополнительные плагины — mgalery
                Может где-то каряво, но функцию выполняет и бесплатно!            
                    
                            Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
                    
            
            
                    
                    
                


