Создание собственной CMS (стр. 3). Cms создание собственной
Компьютеры и интернет - Как создать собственную CMS?
Каждый день в Интернете появляются миллионы новых документов, вместе с тем активно растет число программ для управления сайтами и содержанием этих документов. Подобные программы обычно называют CMS - системами управления содержанием. Если вы владеете сайтом и до сих пор не используете CMS то, вероятно уже очень скоро, время заставит вас либо приобрести CMS, либо разработать собственную. Но что если вы пожелаете разрабатывать собственную CMS, как систему, наиболее точно отвечающую вашим требованиям, специфике и безопасности? Насколько эта задача выполнима, насколько рентабельна? Если вы возьмете за основу уже готовую Open Source программу и настроите ее исходный код «под себя», то в наиболее короткий срок вы получите рабочее решение, но едва ли оно будет отвечать всем вашим первоначальным требованиям. Да и по мере возникновения новых требований их воплощение в подобной CMS окажется затруднительным. Изменять чужой программный код, обычно сложнее, чем писать свой, причем это пра вило тем актуальней, чем больше бъем этого кода.
Если вы начнете разработку собственной CMS «с ноля» могу сразу напророчить впечатляющие трудозатраты на создание развитой документной структуры, организацию менеджмента пользователей системы, поддержку бизнес-процессов (workflow), реализацию веб-сервисов. Однако вы можете относительно быстро и надежно собрать ядро CMS, скрипты, отвечающие за отображение документов на сайте, управление их содержанием и оформлением. Что ж, это главное, остальное, как говориться, приложиться.
Впрочем, давайте взглянем на задачи для этого самого ядра. На сайте, обслуживаемом CMS должны отображаться документы различных типов. Другими словами, разные страницы сайта могут быть различны не только по содержанию, но и по дизайну, но и по структуре. Было бы еще лучше, если бы CMS позволяла отображать также и страницы в форматах отличных от HTML. Например, со временем может понадобиться вывод ленты новостей в формате RSS, так что бы новости сайта были доступны для пользователей популярных ныне клиентских программ сборщиков новостей. Возможно, возникнет необходимость в WAP-версии сайта для мобильных телефонов. CMS должна позволить нам обойтись минимальными усилиями для подобных случаев. Следует сразу же учесть, что даже если мы ограничиваемся одной версией сайта для определенного языка содержания (скажем, русского), не мешало бы быть готовыми к тому, что скоро нам потребуется версия для еще одного или более языков. Ну и что совершенно очевидно, CMS не должна чинить нам как их-либо препятствий, какой бы графический дизайн для сайта мы бы не выбрали. Едва ли можно считать корректным подход, где дизайнеру объясняют программисты, что навигационное меню сайта может быль лишь вертикальным и слева от основного текста, а форма опроса посетителей лишь справа от него.
Если, испугавшись трудоемкости поставленных задач вы уже покрылись холодным потом, то спешу успокоить вас, потому как далее следует решение. Итак, что бы мы лучше понимали друг друга необходимо определиться с некоторыми понятиями. Для нашей CMS имеется два состояния. В первом CMS отображает сайт посетителям, так сказать, доставляет им внешность сайта. Назовем это состояние представлением сайта. Во втором состоянии администратор сайта управляет содержанием страниц, структурой и прочее. Здесь уже речь о сайте изнутри. Это состояние администрирования сайта.
Теперь о страницах сайта. Каждая страница сайта - это документ, имеющий свой персональный интернет-адрес. А сайт представляет собой совокупностью таких документов. А из чего состоит документ? Документ составляет информация, определенным образом структурированная и оформленная. Для того, что бы сайт был более прост в восприятии ссылки на документы располагают в многоуровневых навигационных меню по степени их логической взаимозависимости. Т.е. в соответствии с определенной структурой (документной структурой). Кроме того, в этой документной структуре предусматриваются и различные категории документов, идентичных по логической архитектуре и оформлению. Таким образом, в состоянии администрирования нашей CMS нам потребуется интерфейс с перечнем категорий документов и интерфейс представляющий документную структуру сайта. Первый интерфейс будет содержать шаблоны страниц, задающие логическую архитектуру и оформление документов. Интерфейс структуры, позволит добавлять, изменять и уда лять документы, а также задавать логическую зависимость их друг от друга. Ну а то, каким образом будет задаваться документная структура CMS выбор за вами. Самое распространенное и наиболее простое решение - иерархическое дерево или решетка Бете, хорошо знакомое нам по картам сайтов. С него можно и начать, но, припоминая о наших задачах, следует сделать корневыми разделами дерева языковые версии сайта, даже если пока планируется лишь одна версия.
Но вернемся в интерфейс документной структуры. При переходе к свойствам какого-либо из документов структуры, мы должны дать возможность администратору править основные атрибуты документа: название, URI (интернет-адрес документа), указатель на шаблон документа. Внимательный читатель должен был бы сейчас возмутиться: А что же насчет содержания документа?
Как уже говорилось, шаблон документа задает как его оформление, так и архитектуру. Подразумевается, что в коде разметки оформления документа расставлены специальные указатели: здесь будет заголовок, здесь анонс, здесь основной текст, а здесь изображение. Как видите, документ - это еще не есть сами данные. Для того, что бы запросить должным образом данные у администратора, для внесения содержания документа, необходимо обратиться к шаблону. В результате мы получим интерфейс запроса содержания документа, например, в таком виде: поле запроса заголовка, поле запроса для анонса, WYSIWYG-редактор для запроса основного текста и поле для загрузки изображения.
Разумеется, что при подобной схеме в шаблоне документа оформление может быть представлено не только в HTML. Если вы в шаблоне будете использовать XML, то сможете обращаться к документам сайта из FLASH и соответственно управлять из CMS содержанием FLASH-сайта.
Автор: Дмитрий Шейко
faqlife.ru
Создание собственной CMS - Страница 3
Я думаю у автора темы в первую очередь стоит задача проверить себя и свои силы, повысить свой уровень и свою значимосто в своих и чужих глазах а не написать cms для сайта организации в которой он трудится - и помоему это замечательная цель и если человек с таким упорством пытаеться создать то, что запланировал он обречён на успех, ведь в любом деле усердный и упёртый подход даёт свои положительные плоды, так, что товарищ продолжайте, развивайтесь и всё у вас получится и вы сможете гордиться этим
Ну а если действительно было принято решение писать собственную cms для разработки одного единственного сайта для одной единственной компании то увы, не понимаю, уйма вариантов упростить себе жизнь и угодить начальству, cms уже написанно великое множество и вся разница заключаеться в том, кто сможет понравиться конечному потребителю и распиареть себя, а кто останеться на дне законченным лузером.
Но если предложить, что автора просто достало его постоянно место работы и он, так сказать решил отделаться малой кровью и разработать свою систему, что бы в дальнейшем на ней создавать сайты для других заказчиков и в конце концов уйти с постоянного места работы и начать своё собственное дело связанное с разработкой сайтов, тогда это отличный стратегический ход, ведь он по сути делает, то, что ему нравиться при этом получает з.п. и если всё прогарит, он обойдёться малой кровью и останеться на своём рабочем месте.
Ну вроде бы, я доступно смог выразить свою мысль и при этом не задеть не чьи чувства. Всем мир друзья!
www.masterwebs.ru
Создание собственного веб-сайта – сравнение популярных CMS систем |
В настоящее время практически ото всюду где есть доступ в Интернет можно создать собственный сайт. Первое, что вам понадобится для его создания — хостинг, на котором вы разместите файлы. Второе это домен, то есть адрес сайта. Уже за несколько десятков долларов в год можно купить хостинг и домен, но если вы не имеете денег то не беда, в интернете существуют много мест предоставляющих домены и хостинг бесплатно. Но для того чтобы создать сайт нужны также соответствующие знания, если у вас их нет вам понадобится так называемый движок сайта, иными словами CMS система. В этой статье мы представляем сравнение самых популярных CMS систем.
Общая информация
Очевидно что без каких-либо знаний о создании веб-сайтов, это не возможно будет сделать. Создание системы управления контентом является не простой задачей, поэтому в интернете появились множество решений, которые помогают создать собственный веб-сайт для себя или своего бизнеса. В этой статье речь пойдет о готовых, а главное бесплатных системах управления контентом(CMS), которые легко и быстро помогут создать свой сайт.
В Интернете есть много бесплатных систем управления контентом. Самыми популярными системами, которые рекомендует автор сайта
WordPress (www.wordpress.com)
WordPress это очень популярная CMS, характеризующаяся простотой, широким спектром доступных функций, и дополнений. Очень простая в использовании, ее панель управления интуитивно понятная даже для новичка. Очень легко можно произвести процесс установки, так как он очень короткий и понятный. WordPress изначально была предназначена для создания блогов, но сегодня является одной из самых популярных систем управления сайтов. По умолчанию WordPress не имеет многих функций, которые имеют конкуренты, но взамен предлагает действительно внушительное количество бесплатных расширений.
Joomla (www.joomla.org)
Joomla является в настоящее время одной из самых популярных систем управления контентом, так как характеризуется простотой установки и большим количеством дополнений. Последних в интернете на столько много что у каждого новичка может пойти кругом голова, но не беда так как если есть какие-то вопросы он может их задать на официальном форуме проекта. Установку можно осуществить за несколько простых шагов. После ее завершения сайт практически готов.
Вывод
Правильный выбор хостинга и системы управления контентом является только началом в создании собственного веб-сайта. После этих действий вам предстоит настройка всей системы, подбор шаблона и дополнений. Выбор подходящих функций, которые вы будете использовать, и шаблона зависит от ваших потребностей. Если вы не знаете какую CMS выбрать, вам следует посетить несколько сайтов с разными системами управления и оценить их функционал. Тогда вы точно будете знать что вам нужно.
navro.org
Как создать движок для сайта
Вы здесь: Главная - PHP - PHP Основы - Как создать движок для сайта
У меня часто спрашивают: "Как создать свой собственный движок для сайта, например, как Joomla, DLE, WordPress и другие". Многие, конечно, спросят: "А зачем, ведь есть, например, Joomla?". На этот вопрос я уже отвечал в этой статье: joomla vs сайт с нуля. И если Вы приняли решение о создании своего движка для сайта, то читайте дальше.
Первым делом я Вас заранее предупреждаю, что даже создание простого движка требует очень много времени и сил, но зато через этот очень-очень интересный процесс Вы получите колоссальный опыт. Чтобы Вы лучше поняли, давайте распишу всё по пунктам:
- Сверстайте все страницы сайта. Здесь совсем необязательно рисовать какой-то дизайн - это можно сделать потом. Вы должны просто чётко нарисовать структуру внешнего вида: где будет лого, где меню, сколько колонок у Вас будет, что будет в подвале и так далее. Это всё можно будет потом поменять, но начальном этапе Вам просто нужно отлаживать движок, поэтому самый элементарный внешний вид всё равно потребуется.
- Создайте все таблицы для базы данных. В этом пункте необходимо понять, какие таблицы Вам потребуется и какие там будут поля. Например, таблица со статьями, с пользователями, с разделами сайта и так далее. Ничего страшного не будет, если Вы что-то забудете. Но этот пункт надо выполнить максимально хорошо, потому что после этого внутренняя структура движка станет намного понятнее.
- Теперь Вам необходимо создать набор классов (да, советую использовать объектно-ориентированное программирование, поверьте - так будет намного проще), каждый из которых отвечает за определённую часть. Например, класс по работе с базой данных, класс по управлению пользователями и так далее. Обратите внимание, что один класс не должен реализовывать задачи, которые по смыслу относятся к другим. Например, не надо соединяться с базой данных в классе пользователя. А надо создать объект базы данных в классе пользователя и им манипулировать. В каждом классе Вы должны написать все методы, которые Вам потребуются. Например, метод получения логина пользователя по его id или метод изменения e-mail пользователя и так далее. Также наверняка Вам потребуется какой-нибудь глобальный абстрактный класс, в котором будут содержаться методы, общие для всех других. Например, очень полезный метод - это получения значения некоего поля, по известному имени и значению другого поля. Например, мы знаем e-mail пользователя, и хотим узнать его логин. Такой метод легко данную задачу решит.
- Разбейте Ваш шаблон на составные части и отправьте их в отдельные файлы с расширением tpl. Делается это так: копируете какую-то отдельную часть (например, форму авторизации, часть, где выводятся статьи, меню и другие) и вставляете в отдельный файл tpl. В результате, у Вас появится большое количество файлов-шаблонизаторов. В этих файлах-шаблонизаторах поставьте {элемент_шаблона}. Например, там где должно быть имя пользователя поставьте {username}. Там, где должен быть заголовок статьи, поставьте {article_title}. Аналогичным образом Вам надо исправить каждый файл tpl.
- Дальше создайте класс, который будет работать с файлами-шаблонами. В задачу этого класса будет входить работа с основными другими классами (например, классом пользователей), а также подстановка соответствующих данных в файлы-шаблоны вместо {элемент}. Например, вместо {username} этот класс должен будет подставить имя пользователя. Разумеется, здесь будет очень много методов, каждый из которых выполняет свою функцию.
- Выводите все элементы на страницах сайта, используя класс созданный в предыдущем пункте, собирая тем самым страницы по кирпичикам.
- И, наконец, внешний вид сайта - он же дизайн. Исправляйте файлы tpl (оставляя {элементы}), добавляйте CSS-файлы и JavaScript. А функциональность трогать уже не надо (если Вы всё сделали правильно, конечно).
Всё, движок для сайта создан! Я понимаю, что многие из Вас сейчас сидят в шоке, не понимая, как это всё реализовать. Это действительно сложно для начинающего, поэтому сначала Вам надо набраться опыта в простых вещах. А вот дальше уже реализовать подобные вещи. Если остались какие-то вопросы, то Вы можете задать их в комментариях. А в следующей статье я расскажу, как создаётся Admin-панель для сайта, так что подписывайтесь, чтобы не пропустить.
Пример создания реального движка с нуля можно посмотреть в этом курсе: http://srs.myrusakov.ru/php
- Создано 28.05.2011 14:44:36
- Михаил Русаков
Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!
Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.
Если Вы не хотите пропустить новые материалы на сайте,то Вы можете подписаться на обновления: Подписаться на обновления
Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.
Порекомендуйте эту статью друзьям:
Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):
-
Кнопка:
<a href="https://myrusakov.ru" target="_blank"><img src="https://myrusakov.ru//images/button.gif" alt="Как создать свой сайт" /></a>
Она выглядит вот так:
-
Текстовая ссылка:<a href="https://myrusakov.ru" target="_blank">Как создать свой сайт</a>
Она выглядит вот так: Как создать свой сайт
- BB-код ссылки для форумов (например, можете поставить её в подписи): [URL="https://myrusakov.ru"]Как создать свой сайт[/URL]
myrusakov.ru