Вопрос о выборе конструктора модулей

Я до сих пор не могу определиться с концепцей конструктора. Скорее всего это будет смесь между WYSIWYM-ом и WYSIWYG-ом. Т.е. каркас будет строиться из простых элементов (text area) и связей между ними, а внутри каждого элемента будет возможность перехода в визуальный редактор CKEditor, в который будет интегрирован селектор значений (о котором я уже кажется писал в предыдущем посте про конструктор/редактор).

Можно было бы и не париться - сделать всё на базе CKEditor-а, заранее снабдив его дополнительными кнопками. Но мы имеем дело с жёсткой структурой, в которой существуют IF и TREE элементы, делящие шаблон на части. Основная мыслительная деятельность направлена именно на то, чтобы узнать - а нужно ли разделять код модуля на элементы IF, ELSE, TREE, AFTER или же достаточно тот же IF интегрировать в CKEditor (как это реализовано у Ucoz-а).

 В некоторых случаях вообще вредно бить контент на элементы. Особенно когда мы имеем дело с короткими выпадами вроде <img src="[if x==1]1.jpg[else]2.jpg[/if]" />

Понятно, что ради какой-то мелочёвки создавать дополнительные поля (отдельно под 1.jpg и отдельно под 2.jpg) это не очень правильно. Но если мы имеем дело с длинным участком кода, то его разбитие намного упростит логику приложения. Тем более я не представляю возможным на базе CKEditor-а делать сделать связку из трёх картинок (IF ELSE /IF) и текста внутри них, особенно если будут ещё и под-IFы. Т.е. я догадываюсь о механизмах парсинга кода, которые будут стоять за подобной интеграцией, но намного проще будет сделать разбивку на элементы.

Как будет происходить создание вывода (приложения/шаблона) модуля?

Вначале перед нами пустое поле, которое мы можем редактировать в режиме HTML и CKeditor. CKeditor используется только для операций с вёрсткой и оформлением участка. Переключившись в HTML мы имеем доступ к устновке IF-ов (условий) и TREE (циклов). Нажав на TREE текст делится на три текстовых поля. 1-ое поле вбирает в себя текст до курсора, 2-ое поле пустое и предназначено под нутро цикла TREE, оно немного сдвинуто вправо, чтобы была видна его вложенность, и 3-е поле отображает текст, который был после курсора. Если в этот момент был выделенный текст, то он попадает в 2-ое поле. Таким образом, мы можем делить текст этими операторами сколько угодно раз. Разбивка в этом случае подобна дереву (в виду своей вложенности одного оператора в другой). Получается, что это дерево - своеобразный WYSIWYM, а содержание каждого отдельного элемента становится WYSIWYG-ом. Когда я заканчиваю редактирование элемента, я могу выбрать как он будет отображаться - в виде HTML+E5 кода, либо в визуальном виде (отображается он будет уже не в CKEditor-е, а в DIV-е). Нужно продумать такие моменты, как переход с одного элемента на другой. Когда я просто нажал на клавишу "Вверх" в начале следующего элемента, я должен переместиться в конец предыдущего элемента и наоборот. Точной картины у меня пока нет. Попробую реализовать модель дерева, хотябы на базе простых TEXT-AREA полей. Посмотрим что из этого выйдет.

Автор: E5 Developer

Дата: 15 мая 2013



Добавить комментарий

Имя

E-mail

Комментарий

Контрольный вопрос:
Сколько будет: 15+7-9


 
Наши работы
Массажные кровати LongLife

Благотворительная организация Преображение

Автомобили из Кореи СК-МОТОРС

Мобильные бани МОБИБА

Европейские ограждения Евростандарт

Портал недвижимости Аренда 911

Сеть саун Кантри

Строительная компания Сибирский Стиль

Автомобили из Кореи СК-МОТОРС

Арбитражный суд НСО

Сервис-кухня Ланч

Ремонт и обслуживание компьютеров ПК-Сервис

Интернет-каталог велосипедов и детской мебели Дами

 

Главная О студии Расценки Портфолио Статьи Контакты