2010-07-22 3 views
1

Так что я хочу, чтобы мои пользователи сами управляли содержимым сайта. Например, когда клиент/посетитель находится на сайте, они видят содержимое (содержимое каждой страницы или абзац, хранящийся в базе данных). Если сотрудник находится на сайте, они должны иметь возможность входа в систему (или объединения LDAP), и для каждого <p> или <div> они должны увидеть рядом с ним небольшой значок редактирования. Когда они нажимают на него, он превращает абзац в богатое текстовое поле, где они могут редактировать содержимое самостоятельно.Попытка придумать способ написать web cms

Это то, о чем я уже давно думал, но никогда не реализовывал и хотел бы попробовать. Есть ли некоторые учебники или книги, с которых я могу начать? Я могу сделать это в php или asp.net (mvc).

ответ

2

понятие не сложно, вот как я это вижу:

-Когда пользователь нажимает на иконку редактирования в JavaScript он принимает любые HTML-код находится внутри указанного «DIV», замените его с текстом (редактор html, такой как tinymce, будет еще лучше) и поместите в него существующий html.

-Когда контент был отредактирован, у него должна быть кнопка отправки. При отправке он должен сделать ajax-вызов функции на стороне сервера, которая сохранит содержимое в вашей базе данных.

-Последним шагом будет обновление всей страницы или только измененного раздела с помощью другого вызова ajax.

Вот плагин для JQuery, который позволит упростить вашу работу: http://www.appelsiini.net/projects/jeditable

и вот демо (просто нажмите на текст, чтобы изменить его): http://www.appelsiini.net/projects/jeditable/default.html

Вы также можете реализовать функции перетаскивания, поэтому пользователи могут разместить «div» там, где они хотят.

Надеется, что это помогает

0

Основываясь на вашем бэк-оф-салфетки дизайна контура, вы хотите, чтобы рассмотреть следующие вопросы:

  • Как пользователь создать совершенно новую страницу? Будет ли это функцией CMS?
  • Как пользователь добавляет новый блок на страницу и позиционирует его там, где они хотят?
  • Как пользователь может редактировать несколько блоков? Будет ли это важно?
  • Как хранятся ваши данные, чтобы можно было выполнить редактирование на уровне блоков?
  • У вас есть история изменений, редакционный процесс и т. Д.?
  • Будет ли разрешение конфликта для одновременных изменений?

В конечном счете, технология, которую вы используете, не будет иметь большого значения, поэтому ознакомьтесь с тем, что вам больше всего известно или что является самым простым и дешевым для вашей инфраструктуры. Посмотрите на другие системы CMS для идей. (Обратите внимание, что только потому, что популярная CMS делает что-то определенным образом, это не значит, что это хорошая идея. Просто сказать ...)

Смежные вопросы