Принципы создания системы управления сайтами

webmos

Новичок
Добрый день,

есть вопрос о лучших решения по созданию системы управления сайтом. Речь идет о возможности в любой момент редактировать уже созданные страницы.

Я пока что имею опыт по сохранению текстового содержания страницы в ячейках MySQL. То есть названиями столбцов служат слова, обозначающие элементы HTML содержимым которых является тот текст, что лежит в ячейке, например: header означает что во всех строках в этом столбце находится содержимое заголовков (для разных страниц) и т.д.

Но, страницы сайта могут иметь разное число и разное сочетание заголовков, абзацев и т.п. и получается, что в таблице MySQL (для разных страниц) будут либо пустые места (если сделать число столбцов с запасом), либо все страницы должны иметь одинаковую структуру, например: заголовок, два абзаца, снова заголовок, абзац.

Кто и как решает подобные вопросы? Может есть уже мировой опыт? (Возможно, я изобретаю велосипед)
 

webmos

Новичок
не поне.
Перечень следования элементов на страницах может быть разным: заголовок, параграф или заголовок параграф параграф, таблица или заголовок, рисунок параграф и т.д.
Если в поле MySQL заносим содержимое, то как пометить принадлежность этого содержимого конкретному элементу? Занести вместе с тегами, например:
PHP:
<p>содержимое</p>
? А потом регуляркой выуживать теги и определять ?

Мне зачем это нужно то. Нужно, чтобы потом, если захочу редактировать, содержимое заголовка открылось в поле ввода для заголовка, содержимое параграфа открылось в поле ввода для параграфа и т.д. А потом все также и сохранить.
Следовательно необходимо сохранять нотирующую информацию о принадлежности фрагмента текста какому-либо элементу HTML.
 

Absinthe

жожо
заголовок, параграф или заголовок параграф параграф, таблица или заголовок, рисунок параграф и т.д.
Все, кроме заголовка первого уровня, относится к "все остальное содержимое", которое храни в одном поле.
Исключение - специальные сайты типа "переводим книгу вместе".
 

keltanas

marty cats
Аха, хочешь написать себе админку аля setup.ru?
Но, раз уж у тебя возникают такие вопросы, рано тебе еще за такое браться. Потренируйся сначала на кошках ;)
 

webmos

Новичок
Про админку setup.ru не слышал. Хочу написать механизм, позволяющий создавать полноценные страницы (с в том числе и различными строковыми элементами:strong, a, em и т.д.), добавлять эти страницы на свой сайт, редактировать их (если надо) и т.д. Что-то похожее на интерфейс ЖЖ, например.

Все, кроме заголовка первого уровня, относится к "все остальное содержимое", которое храни в одном поле.
Исключение - специальные сайты типа "переводим книгу вместе".
Вместе с тегами что-ли это содержимое хранить в одном поле? Потом, если захочу его отредактировать, то мне все вместе с этими тегами и загрузится в окно редактирования.

Я сейчас подумываю, чтобы сделать дубликат каждой странички еще в XML. Тогда для редактирования можно загружать одноименный xml-файл и преобразовывать элементы XML в объект. Ну вы, наверное, дальше уже поняли.
 

Absinthe

жожо
Вместе с тегами и хранить. И так же грузить для редактирования.
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
Товарищ не слышал о wysiwyg
 

keltanas

marty cats
Как в ЖЖ - это с помощью этого http://ckeditor.com/
Или можно это http://www.tinymce.com/

Уже писал, тренируйся на кошках. Всяких CMS понаписано вагон и маленькая тележка. Посмотри, как они устроены, как они хранят данные.
 

webmos

Новичок
Спасибо, гляну на обе программы. В качестве коши и выбрано написание CMS ) Как сделаю, отпишусь и покажу результаты
Как в ЖЖ - это с помощью этого http://ckeditor.com/
Или можно это http://www.tinymce.com/

Уже писал, тренируйся на кошках. Всяких CMS понаписано вагон и маленькая тележка. Посмотри, как они устроены, как они хранят данные.
Спасибо, гляну на обе программы. В качестве кошки и выбрано написание CMS ) Как сделаю, отпишусь и покажу результаты

Если вместе с тегами хранить, а потом и загружать в окно редактора вместе с тегами (например в textarea), то будет простоватенько, хочется все же, чтобы содержимое каждого элемента загружалось отдельно, например, в свой редактируемый Div и теги с содержимым в области редактирования не путались
 

С.

Продвинутый новичок
Не бывает просто CMS. Бывает CMS для чего-то. Блога, шмога или еще чего. Сначала определись, что ты собираешься CMSить, а от этого выпляшется, на какие составные элементы там все делится.
 

webmos

Новичок
Я же написал, что добавление и редактирование уже существующих страниц сайта. Это не блог, это обычный сайт с текстовым контентом. Странички могут содержать и параграфы и таблицы и рисунки, в общем, обычный набор.

Начал смотреть CKEditor - походу люди уже все сделали и этот механизм можно встроить в страничку и делать все, что захочешь
 

С.

Продвинутый новичок
Это самое сложное, что можно CMSировать, поскольку "обычный" сайт это полное отсутствие какой-либо единой бизнес модели. Из модели "статическая страница" нельзя что-либо толковое высосать. Ты лезешь в трясину, которую еще никто в мире толком не освоил. Ближайший аналог для тебя -- Джумла.
 

С.

Продвинутый новичок
Да, да, именно такой ужас можно родить из CMS для "просто" сайта.
 

webmos

Новичок
Да ладно - ужас)) Сайт то, что получился, смотрели? Между прочим, CMS сделана без Javascript - на одном PHP, 2700 строчек кода
 

С.

Продвинутый новичок
Ну поиграйся в это, пока не перебесишься. Все мы проходили эту школу мужества, все мастурбировали. И это пройдет.
 

webmos

Новичок
Понял, постараюсь закончить школу мужества экстерном) для этого уже читаю документацию к CKeditor
 

Фанат

oncle terrible
Команда форума
В принципе, возможность редактировать отдельные куски страницы - вещь достаточно осмысленная. Ну, как разделы в педивикии.
Но делается это совсем не такими средствами. Тут, скорее, о доме нужно думать, о доме. А хранить все равно кусочком.

Плюс - самая большая твоя беда - ты путаешь структуру страницы сайта и её содержание. Структуру, разумеется, в визивиг редакторе не рисуют.
Но и содержание, в свою очередь, галочками не конструируют
 

webmos

Новичок
Ах о DOMe)) А хранить кусочком, который в браузере при открытии страницы станет DOMом и его можно будет редактировать. Если я правильно понял вас.
Спасибо, кажется что-то появилось в голове)
 
Сверху