ФорумПрограммированиеPHP для идиотов → Создание drag and drop html-редактора.

Создание drag and drop html-редактора.

  • armageddance

    Сообщения: 29 Репутация: N Группа: Кто попало

    Spritz 18 декабря 2011 г. 13:32

    Программирую Drag&Drop HTML-редактор.
    Все необходимые действия по добавлению, редактированию, удалению контента методами javascript запрограммировал. Встал вопрос о сохранении результатов работы в html-страницу, на котором я застрял. Задача весьма нетривиальная.
    Собственно, как известно, напрямую из javascript сохранить результат работы в html файл невозможно.
    Остается ajax+php. Как мне видется возможным сохранение контента:
    1 вариант. При добавлении контента новый контент добавлять в таблицы mysql, организованные соответственно типу данных:
    tables, divs, images, texts, forms.
    При перенесении контента из одного места в другое менять родительский id. Получится организация объектов по виду древа.

    2 вариант. Посла каждого изменении на страничке отправлять аяксом весь html сразу и хранить в одном файле.

    Другие варианты ???
    Как будет организовать гибче, проще?
  • armageddance

    Сообщения: 29 Репутация: N Группа: Кто попало

    Spritz 18 декабря 2011 г. 14:10, спустя 38 минут 37 секунд

    Если остановиться на сохранении контента в html-странице просто текстом, то тогда очень много придется использовать регулярных выражений для поиска и изменения атрибутов тегов, добавления новых параметров, переноса одних html-элементов в другие и т.д. и т.п. Потеряются все преимущества работы с базами данных, с выборками однотипных элементов, установкой ограничений допуска пользователей к редактированию контента. Зато появляется одно единственное преимущество - простота контроля сохраненных страниц, в том числе и как шаблонов. А также весьма упростится вставка пользовательского html-кода.

    Если же использовать базы данных, то придется видимо очень долго ломать голову, чтобы предусмотреть все возможные варианты атрибутов и их значений для html-элементов, таких как float, position, display, visibility, таблицы с контентом станут избыточными, а если не предусмотреть все варианты, то сплошь и рядом будут ошибочные ситуации с отображением пользовательских html страниц. А главное - вставка пользовательского html в страницу станет сущим гемороем, так как получится создавать весьма нетривиальные запросы.

    Что-то мне подсказывает что оба варианта не очень удачные….
  • armageddance

    Сообщения: 29 Репутация: N Группа: Кто попало

    Spritz 18 декабря 2011 г. 14:41, спустя 30 минут 52 секунды

    Опытные люди в сторону JSON указывают пальцем…
  • kostyl

    Сообщения: 5210 Репутация: N Группа: Джедаи

    Spritz 18 декабря 2011 г. 15:39, спустя 57 минут 25 секунд

    function getFrameContents(){
    var iFrame = document.getElementById('id_description_iframe');
    var iFrameBody;
    if ( iFrame.contentDocument )
    { // FF
    iFrameBody = iFrame.contentDocument.getElementsByTagName('body')[0];
    }
    else if ( iFrame.contentWindow )
    { // IE
    iFrameBody = iFrame.contentWindow.document.getElementsByTagName('body')[0];
    }
    alert(iFrameBody.innerHTML);
    }
  • NRG

    Сообщения: 4761 Репутация: N Группа: в ухо

    Spritz 18 декабря 2011 г. 15:42, спустя 3 минуты 6 секунд

    опытные люди используют лейауты

Пожалуйста, авторизуйтесь, чтобы написать комментарий!