Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Общие вопросы > Написание CMS


Автор: lelik133 9.6.2005, 14:38
Начал писать небольшую CMS. В принципе круг ее задача уже известен.
1. Возможность визуального редактирования страниц (что-то вроде on-line WYSIWYG)
2. Возможность создания страниц (содержание за это ответственен WYSIWYG, ключевые слова, описание, заголовок) удаление старых страниц, редактирование существующих
3. Возможность создания разделов
4. Возможность перемещения страниц между разделами
5. Лента новостей (также добавление/удаление/редактирование новости, возможно функция архива)
6. Гостевую книга (удаление записей, ответ администрации сайта)
7. и т.д. и т.д. по возможности обрастание всякими вкусностями
Сразу расписал что хочу делать, поскольку вопросов у меня будет много попутно))) и вы представляли чего я ваяю.
Все буду писать на связке PHP + MySQL. Сразу оговорюсь почему стандартные движки не подходят, работаю в компьютерной фирме занимаюсь сайтами в ручную верстать уже просто запарился (есть идея создать коммерческий движок, пересадить на него современных клиентов и заняться его продажей потом), движок нужен написанный собственноручно и знакомый до последнего байта.
Кое что по отдельности из списка уже написал (например новости и гостевая)
На первом этапе надо разработать on-line WYSIWYG с которым было бы легко работать самому не продвинутому пользователю.
После изучения инфу по этому поводу понял что опираться буду здесь на JavaScript.
Из аналогов на что хотелось бы сделать похожим например на http://www.solmetra.com/en/disp.php/en_products/en_spaw/en_spaw_about Буду рад любой информации подкинутой для разработчика CMS (очень желательно на русском), и в первую очередь про разработку WYSIWYG на JavaScript.
Теперь к конкретике начал делать этот самый редактор. Вопросы следующее.
Что лучше использовать в качестве окна редактора textarea не подходит как я понимаю его невозможно заставить отображать внешний вид страницы тока ее код, что-то читал про использование iframe но конкретно по этому поводу ничего не нашел, пробовал делать через <div contenteditable="true"> но там никак не могу отловить положение курсора для вставки тэгов. Если через iframe так я понял в spaw сделано. то тоже надо указывать contenteditable для всей страницы в iframe или я не прав?

И сразу к более позднему этапу как лучше это передавать скрипту это все таки же не элемент формы а div или iframe?

Буду благодарен за любую инфу по данному поводу… сорри за столь длинный пост, покороче выразиться не удалось


Автор: Opik 9.6.2005, 15:04
lelik133
Думаю придется все же юзать textarea

Автор: Opik 9.6.2005, 15:27
lelik133
Работаешь так:
Создаешь объект textarea, но что бы в нем появлялся результат, нужно создавать объекты через createElement и вписывать его в texarea.
Вот наваял простой пример:
Код

<html>
 <head>
  <title>Testing createElement</title>
  <script type="text/javascript">
<!--
function sethr()
{
      var el = document.getElementById("code");
      var div = document.createElement("<HR>");
      el.appendChild(div);
}
// -->     
</script>
 </head>
<body>
<input type="button" onclick="sethr()" value="hr" /><br />
<textarea id="code" cols=50 rows=15></textarea>
</body>
</html>

Добавлено @ 15:29
Хы smile оказывается этот HR ещё можно по-разному растягивать smile

Автор: Sardar 11.6.2005, 18:40
Opik так будет работать только в ИЕ(в Опере не проверял).

lelik133 все современные браузеры поддерживают designMode|contentEditable. Хоть многие вещи браузер поддерживает сам, но работы по такому редактору много. Изучи HTMLArea или Spaw.

Автор: Aliance 12.6.2005, 16:25
Вот, читай:
http://msdn.microsoft.com/library/default.asp?url=/workshop/author/editing/tutorials/html_editor.asp

За ссылку спасибы говорим Sardarу smile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)