Автор Тема: Пишем сайт без использования готовых движков.  (Прочитано 2531 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн online

  • Moderator
  • Герой форума
  • *****
  • Сообщений: 729
  • Karma: +23/-1
  • Пол: Мужской
    • Просмотр профиля
    • E-mail
В интернете есть множество сайтов, про которые можно сказать powered by Joomla/Drupal/WordPress. Но встречаются и такие, которые сделаны с пониманием дела в верстке и программировании.
Теперь поподробнее о сайтах написанных вручную/с использованием своей системы управления контентом.

Сайт Визитка
Очень прост в исполнении даже без использования CMS. Пишется исключительно с использованием html + css. Ну а дальше разработчик сам добавляет различные эффекты, причем неважно какие. Как правило это различные визуальные примочки с  использованием библиотек JavaScript. Различные анимированные меню, галереи, всплывающие окна и т.п.
В целом сайт визитка прост в исполнении.

Блог
Практически такой же по функционалу как и сайт визитка. Добавляется использование php скриптов для управления материалами, добавления статей и форма обратной связи. Тобишь появляется простейшая админка. Для написания блога требуется маломальское знание web программирования, а именно php (PageHtmlPreprocessor). Блоги хороши в том плане, что при написании их совсем не необходима база данных mySQL, т.к. хранение и структурирование данных легко осуществить через грамотную работу с файлами.
Поподробнее о составляющих блога:
  • index.php
- Файл вывода главной странички. Работает с файлами, считывает из них последние статьи и пункты меню. Структуризация меню - самый сложный этап при работе с файлами, потому что для создания списков категорий, подменю потребуется обход папок. Допустим у вас есть две категории: Joomla и Drupal в них у нас собственно и будут хранится релевантные материалы. Тогда вам необходимо создать в корневом каталога вашего сайта две папки: Joomla и снова Drupal. При выводе меню вы читаете названия папок, и создаете базовый список категорий. Затем вы считываете названия всех файлов и создаете подсписок категорий, уже с названиями статей. Не буду рассказывать про вывод, это уже самая простая часть.

  • page_name.php
- Скрипт вывода статей, который создается автоматически при добавлении статьи. В нем присутствует форма добавления комментариев и собственно сам материал. Ничего сложного нет, нужно знать правила вывода статей и все, с формой все просто и понятно. Писать про нее отдельно не буду.

  • page_add.php
- Страничка добавления материалов. В ней вводится весь текст, форматирование, вставляются картинки и тому подобное. При добавлении статьи происходит несколько событий:
  • Создание новой папки категорий, если категория не существует, либо статья будет добавлена в существующую папку.
  • Создание текста статьи, преобразование ВВ-кодов в адекватные html теги.
  • Создание нового файла page_name.php. Файл будет отвечать за считывание конкретных комментариев, относящихся к его сообщению.

  • page_delete.php
- Удаление существующей статьи. Удаляется сам файл с содержимым сообщения, все комментарии, и файл вывода сообщения. Также проверяется категория удаляемой записи, если эта запись последняя, также удаляется вся папка категории.
  • top.php
- Любителям редактирования и создания шаблонов посвящается! Скрипт вывода хедера и всех элементов шапки сайта. Аналогичный скрипт вывода низа страницы, про него писать не буду.

Здесь были описаны блоги, построенные на работе с файлами. Блоги, работающие на скриптах, работающих с базами данных, устроены гораздо проще, в частности упрощен вывод комментариев и категоризация меню. Добавляется в начало каждого документа, работающего с базами данных, как правило класс config.php, который отвечает за подключение к базе данных mySQL.

Портал
А вот этот тип скатов чрезвычайно сложен для ручного написания. Как правило пишется система управления сайтом, сам портал является побочным эффектом качества и функциональности движка, на котором он сделан. Как правило на движке, написанном под портал можно осуществить любую задумку, начиная от сайта визитки и заканчивая многофункциональным форумом для общения. Описывать все не буду, лишь напишу этапы создания системы управления сайтом. Допустим я хочу создать удобный многофункциональный движок для форума. Что обязательно есть на хорошем форуме? Разделы конечно же) Первым делом создаем файл, который будет отвечать за добавление и удаление категорий форума, разделов и тем. Создадим базу данных mySQL my_base. В ней будут располагаться все основные таблицы, необходимые для работы форума. Создадим таблицу forums, в которой будем хранить количество форумов, их названия, имена категорий и подразделов. Подробное описание работы с базами данных можно найти в любом хорошем php учебнике. При создании категории просто добавляем в выбранный форум новую категорию. При удалении форума удаляем его и все, связанные с ним категории и подразделы. При создании обратный процесс.
Также нам потребуется скрипт регистрации пользователей. Создадим таблицу users, в ней будут находиться регистрационные данные и пароль в шифровке md5. При регистрации проверяем правильность ввода значений, если все верно добавляем данные в базу и отправляет письмо с подтверждением на email. При удалении пользователя администратором посылаем письмо с уведомлением и стираем все данные, связанные с пользователем.
Скрипт создания темы, вывода темы, редактирования темы. Перечислять можно до бесконечности. Перейдем к следующей части написания CMS.
Следующей по плану идет административная панель. В ней осуществляется в основном управление каскадными таблицами стилей сайта, редактирование списка пользователей, добавление и удаление материалов.
В целом про порталы можно сказать, что для написания портала понадобится как минимум команда из четырех поднимающих суть дела людей. Я сам никогда не писал движки для порталов и форумов, т.к. не хватает опыта и квалификации, а самое главное терпения.

Рад был предоставить материал, надеюсь статья вам чем то помогла или заинтересовала. Удачи!


Статья посвящена пользователю InBloom-n, как первому задавшему грамотный вопрос.
Если вы считаете свой дизайн безупречным, то зайдите сюда

Оффлайн online

  • Moderator
  • Герой форума
  • *****
  • Сообщений: 729
  • Karma: +23/-1
  • Пол: Мужской
    • Просмотр профиля
    • E-mail
Свой движок
Плюсы:
  • Гибкость работы с сайтом
  • Личное понимание структуры
  • Получение опыта
Минусы:
  • Сложность написания
  • Большие затраты времени
  • Наличие скрытых ошибок


Готовый движок
Плюсы:
  • Полуфабрикат, надо только распаковать и все готово
  • Качественная визуализация многих внутренних процессов
Минусы:
  • Нерациональность кода
  • Невалидность кода и как следствие расплывающийся сайт (зависит от шаблона также)
  • Сложность понимания структуры движка
  • Необходимость дополнительно заучивать особенности верстки под движок

Если вы считаете свой дизайн безупречным, то зайдите сюда

Оффлайн online

  • Moderator
  • Герой форума
  • *****
  • Сообщений: 729
  • Karma: +23/-1
  • Пол: Мужской
    • Просмотр профиля
    • E-mail
Тема является копией темы из раздела "Движки сайтов, форуов и прочие скрипты". Мне показалось, что здесь она будет как нельзя кстати.
Если вы считаете свой дизайн безупречным, то зайдите сюда