Создание CMS этап проектирования. От теории до собственной CMS интернет-магазина Создание своего движка cms на php

Хотя знать HTML/CSS и уметь на них самостоятельно что-нибудь сверстать должен любой веб-мастер, создавать сайты «с нуля», пользуясь только этими средствами, совсем не обязательно.

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

Что такое CMS

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

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

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

Преимущества CMS

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

Чтобы поменять текст или добавить страницу на созданный вручную с помощью HTML и CSS сайт, нужно править код. В системе управления сайтом всё делается через админ-панель с удобным пользовательским интерфейсом.

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

Классификация CMS

Все системы управления контентом условно можно разделить на бесплатные, платные и самописные.

Отдельной строкой выступают «мобильные CMS», на которых работают сайты, оптимизированные под портативные устройства. Среди них тоже есть и платные, и бесплатные, и самописные.

Платные CMS

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

Обычно на сайте платного движка предлагается несколько редакций, из которых пользователь выбирает оптимальную, в зависимости от своих потребностей. Отличаются версии функционалом и, как следствие, ценой: меньше возможностей - дешевле. В вопросе выбора CMS «Дороже» ни в коем случае не значит «Лучше». Выбор редакции должен основываться исключительно на том, какой должен получиться сайт, и какие функции ему действительно необходимы.

Среди прочих можно выделить три очень популярных платных системы управления контентом.

  • 1С-Битрикс. Продукт, который лучше использовать для действительно крупных бизнес-проектов и сложных интернет-магазинов, интегрированных с 1С. По системе есть огромное количество справочной информации на русском языке. Благодаря её популярности не составит труда найти администратора сайта, специализирующегося на «1С-Битрикс».
  • NetCat . Быстрая и нетребовательная к ресурсам система с интуитивно понятным интерфейсом, удобной админ-панелью и хорошей техподдержкой. На ней можно сделать любой сайт: от визитки до портала, но для создания интернет-магазина NetCat подходит не очень хорошо.
  • UMI . CMS . Система обладает продуманной документацией и удобной панелью управления. У UMI.CMS даже есть своё мобильное приложение. Однако сейчас компания Umisoft отошла в сторону развития своего конструктора сайтов umi.ru .

Бесплатные CMS

Ими люди занимаются не ради получения прибыли, а «из любви к искусству». Сотни и тысячи разработчиков из разных стран поддерживают свободные CMS с открытым исходным кодом. Для них постоянно создаются новые плагины, темы оформления, выходят обновления и патчи.

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

Рассмотрим тройку распространённых CMS, распространяющихся безвозмездно.

  • WordPress . На этой системе сделано огромное количество сайтов, на сегодняшний день она является самым популярным движком. Море тем оформления, тысячи расширений, широкая поддержка, простота использования - только часть её положительных качеств. Но обратная сторона популярности - большое количество уязвимостей и повышенный интерес хакеров. За безопасность сайта, работающего на WordPress, нужно побороться. Считается, что ресурсы на этой CMS не жалуют поисковики. Это можно объяснить, опять же, популярностью. Слишком много однотипных сайтов с шаблонной структурой и темами оформления. Не секрет, что для лучшей оптимизации дизайн сайта тоже надо оптимизировать. Смотрите также обучающие уроки по созданию сайта на WordPress .
  • Joomla !. Вторая по популярности CMS. В изучении сложнее WordPress, но зато гибче в настройках. Смотрите также обучающие уроки по созданию сайта на Joomla .
  • Drupal . В освоении система ещё сложнее предыдущих, но зато её отличает невероятная гибкость - при желании на Drupal можно создать сайт, подходящий практически под любые нужды.

Самописные CMS

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

Что выбрать?

Однозначного ответа нет. Всё зависит от бюджета, цели и личных предпочтений. Конечно, крупному порталу или интернет-магазину без CMS не обойтись, на онлайн-конструкторе можно делать исключительно сайты «для себя», а HTML/CSS больше подходит для статичных и небольших сайтов-визиток. В остальном - выбор за вами, мои предпочтения будут следующими:

  • Для сайтов визиток и блогов - Вордпресс , т.к. данная CMS наиболее простая и по трудозатратам сделать на нем проект проще всего;
  • Для сайтов с каталогами и фильтрами - Друпал , очень гибкая CMS, которая позволяет сделать оптимальную структуру под задачи SEO, также с минимальными трудозатратами можно сделать проект с элементами соц сетей и небольшие порталы. Многие делают тоже самое на Joomla, но мне лично этот движок не нравится, хотя первые сайты я учился делать на нем и он более популярен;
  • Для клиентских сайтов часто использую Неткат , т.к. он имеет удобную админку, которая интуитивно понятна для пользователей даже с минимальным опытом работы на компьютере. Также по трудозатратам на нем разворачиваются проекты довольно быстро, что в коммерческих целях мне очень удобно;
  • Для интернет-магазинов, где есть интеграция с 1С использую Битрикс , особенно в тех случаях, когда нужно применить технологию мультисклад (если в 1С есть несколько складов с разными ценами и остатками), также иногда применяю узкопрофильные движки под интернет-торговлю Шоп Скрипт (платный) и Opencart (бесплатный).

Доброго времени суток, читатели сайт! 🙂

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

Если у вас ещё существуют определённые трудности в ответах на данные вопросы, рекомендую их срочно ликвидировать, ознакомившись с предыдущими публикациями.

Ну а для тех, кто уверен в своих намерениях, пришло время двигаться дальше 🙂

И сегодня мы с вами поговорим о такой вещи, как создание сайта на CMS , т.к. на сегодняшний день это один из самых простых и перспективных .

Он позволит сделать сайт любому желающему самостоятельно, быстро и без особых денежных затрат при запуске.

Процесс разработки сайта на CMS – это не хаотичное вождение курсором мышки по экрану монитора и щелканье клавиатурой 🙂 Он состоит из нескольких этапов, только последовательное выполнение которых приведёт вас к желаемому результату – собственному сайту!

Итак, поговорим о технических моментах создания сайта на CMS более подробно…

Создание сайта на CMS – этапы

Установка на компьютер

Для начала нам нужно скачать сам движок и установить его.

Тут есть два пути:

  1. Скопировать скачанный движок на сервер и установить его прямо там;
  2. Установить CMS на локальный веб-сервер, расположенный на вашем компьютере.

У каждого метода есть, как водится, свои плюсы и минусы.

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

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

Но онлайн-редактирование является также и минусом, т.к. вы очень зависите от наличия Интернета. А его пропадание или сбои в работе во время внесения правок, особенно во время установки компонентов, приводит к потраченным нервам и времени 🙂

К тому же, далеко не во всех CMS есть встроенные редакторы кода. А если они и есть, то оставляют желать лучшего. Например, в OpenCart такого редактора по умолчанию нет. Он доступен при установке модуля CodeManager, но его функционал не совсем подходит для комфортной и продуктивной разработки.

А встроенный по умолчанию редактор кода в движок WordPress вообще отвратительный. После сохранения изменений в файл невозможно вернуть изменения. Нет автоматического форматирования кода, подсветки синтаксиса. Дальше можно не продолжать 🙂

Вот в такой ситуации при создании сайта на CMS Вам может понадобиться второй подход к установке движка – на локальный компьютер. Он работает в случае выбора любого и является универсальным.

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

Для восстановления работы Вам необходима будет актуальная резервная копия сайта (бэкап), которая не всегда хранится у хостинг-провайдера, а если и есть, то не всегда свежая. При работе с локальной копией такие проблемы Вам будут незнакомы, т.к. Вы не будете вносить правки прямо на сайт, и он всегда будет работать.

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

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

Лично мне эта особенность очень помогла, когда я подрабатывал фрилансом, работая на заводе. Покрытия Интернет у нас вообще не было, даже для служебных целей.

Можно было пробиться в сеть, используя телефон в качестве модема, но с такой скоростью даже обычный сайт грузился порядка 5 минут. Да и то только там, где сигнал пробивался 🙂

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

Установка шаблона

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

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

Помочь оформить сайт в соответствии с выбранной тематикой и с учётом всех вкусов владельца, как раз, и призваны графические шаблоны и темы оформления (в зависимости от движка названия сущностей могут различаться).

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

Поэтому установкам шаблонов для конкретных движков будут посвящены отдельные статьи, затрагивающие все нюансы этого процесса.

Установка модулей

Такой же неотъемлемый этап создания сайта на CMS, как и установка шаблона. Несмотря на хорошие базовые возможности движка, его функционала явно недостаточно.

Если взять в качестве примера упоминаемый ранее OpenCart, то по умолчанию в нём нет способа оплаты через WebMoney и Яндекс.Деньги. В вариантах доставки нет различных курьерских служб. И так далее… В случае бесплатных продуктов данное явление встречается сплошь и рядом.

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

По поводу самого процесса установки модулей при создании сайта на CMS можно сказать, что дела обстоят 1-в-1 с шаблонами. Найти — легко, а установить – сложно 🙂

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

Перенос на хостинг

Данный этап разработки сайтов на CMS является частным минусом развёртывания локальной копии у себя на компьютере. Но не нужно его бояться, т.к. ничего страшного из себя он не представляет 🙂

Всё, что Вам потребуется – это имя пользователя и пароль вашей учётной записи на сервере хостинг-провайдера, а также программа для переноса файлов.

Одной из самых распространённых является FileZilla, которой пользуюсь я лично и рекомендую Вам.

Наполнение сайта

Этот этап является завершающим при создании сайта на CMS. Собственно говоря, он является плавным переходом от разработки веб-проекта к работе с ним. Т.к., вне зависимости от типа ресурса, для привлечения посетителей и увеличения заработка на нём на сайте нужно регулярно размещать тематическую информацию.

Новости, статьи, товары – чем их будет больше, тем успешнее у Вас будет сайт.

Все просто 🙂

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

В качестве итога скажу, что данный перечень является универсальным и независящим от CMS, которую вы выбрали, и типа создаваемого Вами ресурса. Поэтому можете смело им пользоваться при создании ресурсов на конкретных движках, о чём пойдёт речь в следующих публикациях.

На этом статья, посвящённая созданию сайта на CMS , подходит к концу. Я надеюсь, что составленная мною инструкция будет Вам полезна и Вы к ней не раз прибегните при создании своего ресурса.

Оставляйте в комментариях свои мнения и пожелания по поводу прочитанного. Делитесь записью со своими друзьями в социальных сетях с помощью кнопочек под статьёй, мне будет очень приятно 🙂

Также подписывайтесь на новости сайта, которые будут приходить Вам на e-mail, чтобы быть в курсе новых статей и новостей блога.

Всем удачи! 🙂

P.S. : если вам нужен сайт либо необходимо внести правки на существующий, но для этого нет времени и желания, могу предложить свои услуги.

Более 5 лет опыта профессиональной разработки сайтов. Работа с PHP , OpenCart , WordPress , Laravel ,

Создание сайтов при помощи готовых CMS или разработка с нуля?

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

Что такое CMS и в чем ее предназначение?

CMS (система управления сайтом) – компьютерная система, с помощью которой можно создать сайт, отредактировать функционал и внести изменения в существующий контент. То есть это движок с базовым функционалом, служащий для разработки сайта. Наличие удобной системы управления сайтом позволяет упростить процесс его верстки, программинга и администрирования. Можно заказать готовую CMS, а можно разработать индивидуально под проект. Для того, чтобы понять, как поступить, определим основные особенности данных CMS. Особенности готовых CMS.

Какая лучше: платная или бесплатная?

Разработка сайтов на готовых CMS отлично подходит практически для всех сайтов со стандартным функционалом. Главное – правильно подобрать систему управления сайтом. Несомненным преимуществом использования готовых CMS является их популярность.Поскольку это дает возможность легко найти разработчиков для внесения изменений и обновлений. Сайты, созданные на основе готовых систем управления, так же, как и на CMS, разработанных с нуля, просты в администрировании. Стоимость приобретения готового движка существенно ниже стоимости самописного. В случае возникновения проблем, найти специалистов, оказывающих техническую поддержку сайта с данной системой управления, не составит труда. А это также сэкономит Ваше время и деньги. Готовые CMS весьма универсальны, поэтому Вы сможете использовать их для разработки последующих сайтов. Кроме того, в них заранее заложены готовые плагины, что позволяет сократить расходы при необходимости создания дополнительного функционала. Практически для всех движков существует большое количество готовых шаблонов, допилить которые можно под любую тематику и функционал. Но использовать шаблон стоит в тех случаях, когда нет необходимости в разработке индивидуального дизайна. Готовые системы управления сайтов бывают как бюджетные, так и платные. Наиболее популярными среди них являются WordPress, Joomla, Bitrix и ModX.

Разработчики готовых CMS заботятся о своей репутации и постоянно дорабатывают и обновляют их, что гарантирует высокое качество. Выбрать платную или бесплатную CMS, решать Вам, но помните, что платными пользуются реже, поэтому вероятность встретить похожий сайт снижается. За CMS, приобретаемую для разработки блога или одностраничника, не стоит отдавать больших денег. От того, насколько правильно будет подобран движок, зависит работоспособность всего сайта. Так, если использовать CMS Open Cart (подходит для разработки сайта-каталога, интернет-магазина) для создания блога, то сайт будет работать не на всю мощь, поскольку останется много незадействованного функционала, предназначенного для другого вида сайта. CMS с нуля Такие CMS пишутся под заказ и подходят тогда, когда необходимо разработать сайт с нестандартным функционалом или структурой, а также при наличии других особых пожеланий по сайту. Самописная CMS учитывает все нюансы, которые необходимо внедрить при разработке сайта. Максимальная заточенность системы управления сайтом под проект в ряде случаев является наилучшим решением. Но так происходит тогда, когда действительно необходимо реализовать сложную нестандартную задачу. Разработка движка с нуля полезна, в первую очередь, для прокачки скилла самих разработчиков. В процессе создания и совершенствования такой CMS специалист набирается опыта и повышает уровень своих знаний.

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

Существенная особенность CMS, разработанной с нуля, заключается в высокой цене и продолжительном сроке ее создания. Ведь создание движка с нуля – это много усилий и богатый багаж знаний, а также высокое качество и персональная заточенность под проект. Заключение И так, теперь мы понимаем, что выбор CMS зависит, прежде всего, от того, какой проект необходимо реализовать с ее помощью. Готовые движки подходят для разработки любого сайта, самописные – для создания веб-ресурсов с нестандартными условиями и хорошим бюджетом. Гибкость готовой CMS заключается в возможности ее использования для многих проектов и совершенствовании функционала, а самописной – в персональной разработке программного обеспечения для конкретного проекта.

Здравствуй мой юный кодер, сегодня МЫ с тобой начнем писать свою простенькую CMS.
Итак, с чего начнем…естественно с проектирования. Что должна уметь/иметь не крутая, простенькая CMS? Этот вопрос достаточно сложный, т.к. любая CMS, даже самая простая, пишется под конкретные нужды: электронный магазин, программерский сайт, новостной сайт, галерея(хотя, в принципе, галерея- это не совсем CMS) и т.д. В этой статье мы рассмотрим второй вариант. Что же должна уметь такая CMS? Думаю все со мной согласятся, что:

1) Админку:)
2) Возможность управления новостями, статьями, загрузками, ссылками
3) Функцию регистрации пользователей
Это тот минимум с которым должна уметь оперировать наша CMS. К дополнительным фичам я отнесу:
1) Динамически создаваемые страницы, т.е. в админке можно запросто ввести содержимое новой страницы. Например: сделать магазин uin’ов на сайте или страницу повествующую о истории вашего проекта и т.п.
2) Комментарии к новостям. Это отдельный пункт, т.к. это довольно таки опасная вещь из-за того, что нужно применять специальные фильтры и спам- детекторы, иначе если вас кто-то очень сильно не любит и у него есть мозг/деньги(или что хуже всего, когда у него есть и то и другое:)) то он, в лучшем случае, может просто забить вашу БД мусором, в худшем он получит полный контроль над сайтом…Мы еще вернемся к этому вопросу;)
3) Возможность создания динамически создаваемых менюшек, их перестановка в различные области сайта.
4) Форма обратной связи с админами(Опасность та же, что и для пункта №2).
Ну вот и все, что я планирую(пока что) тебе объяснить.

Сначала организуем структуру директорий будущего сайта:
/DocumentRoot
/AdminPanel # Корневая директория админки
/Sources # Скрипты админки
/HTML # Собственно сам хтмл админских страниц управления
/Sources # Скрипты CMS
/HTML # Хтмл
/Images # Картинки
/Downloads # Директория хранящая в себе файлы доступные для скачивания
/Config # Файлы конфигурации CMS, например содержащие логин и пароль доступа к MySQL

Теперь что касается навигации по сайту. Навигация будет производится с помощью ссылок(ога, самому смешно:)) типа you_site.com/index.php?act=art&mod=idx. Параметр art характеризует какой раздел сайта мы хотим просмотреть, а параметр mod отвечает за подраздел который мы хотим просмотреть. Вот таблица соответсвия этих параметров:
act=art&mod=idx # Просмотр категорий статей
art=art&mod=cat # Просмотр конкретной категории. Как CMS будет узнавать какую категорию мы хотим просмотреть я объясню чуть позже:)
art=art&mod=art # Просмотр конкретной статьи

Act=dwn&mod=idx # Просмотр категорий статей
art=dwn&mod=cat # Просмотр конкретной категории. Как CMS будет узнавать какую категорию мы хотим просмотреть я объясню чуть позже:)
art=dwn&mod=dwn # Просмотр конкретной статьи

Act=users # Просмотр зарегистрировавшихся пользователей
act=users&mod=profile # Просмотр профайла юзера
art=art&mod=reg # Регистрация юзера

Это пока далеко не все варианты, в дальнейшем мы научим “понимать” CMS и другие параметры. Ну а теперь перейдем непосредственно к программированию. Создадим в корневой папке файл index.php именно через этот скрипт пользователь будет путешествовать по сайту, все остальное кроме картинок должно быть запрещено для просмотра(и не только скрипты но и файлы конфигурации, ХТМЛ)

Код файла index.php:

Require_once(‘config/database.php’); // Загружаем скрипт соединяющийся с БД
require_once(‘sources/session.php’); // Скрипт управления сеансами пользователей
require_once(‘config/config.php’); // Файл конфигурации
require_once(‘sources/check.php’); // Проверяет получаемые из URL’a параметры
require_once(‘sources/links’); // Отвечает за ссылки для навигации по сайту

$act=check_act(&$debug); // Функция проверки переменной $act, находится в файле check.php
$mod=@$_GET[‘mod’]; // Получаем переменную $mod
$site_links=get_links($mysql_tables); // Получаем массив ссылок
switch ($act)
{
case ‘idx’: //если посетитель просматривает главную страницу сайта
require_once(‘sources/news.php’); // Загружаем скрипт новостей
$site_news=get_news($mysql_tables); // Получаем массив новостей
require_once(‘HTML/index.htm’);// Загружаем ХТМЛ страницы
break;
}
?>

Код файла database.php:

$mysql_login=’root’; //Логин для доступа к серверу БД
$mysql_pass=’’; // Пароль
$mysql_host=’localhost’; // Хост на котором висит MySQL
$mysql_database=’MyCMS’; // Имя БД

$mysql_tables[‘news’]=’news’; // Таблица новостей
$mysql_tables[‘articles’]=’articles’; // Таблица статей
$mysql_tables[‘art_categ’]=’art_categ’; // Таблица категорий статей
$mysql_tables[‘downloads’]=’downloads’; // Таблица загрузок
$mysql_tables[‘dwn_categ’]=’dwn_categ’; // Таблица категорий загрузок
$mysql_tables[‘links’]=’links’; // таблица ссылок
$mysql_tables[‘users’]=’users’; // Таблица пользователей
?>

Код файла session.php:

@session_start();

If(!@$_SESSION["group_id"])//Если пользователь только что зашел
{
$_SESSION["user"]="Гость";
$_SESSION["id"]=0;
$_SESSION["group_id"]=-1;
$_SESSION["last_click"]=$time;
}

If(@$_SESSION["group_id"]<>"")//если посетитель не гость
{
$_SESSION["last_click"]=$time;//в дальнейшем нам это понадобиться для учета онлайн- пользователей на сайте
}

Код файла check.php:

Function check_act(&$debug)//Функция проверки переменной act
{
$act=@$_GET["act"];
if($act<>"idx")
{
$act=$debug["indx_act"];//Задаем дефолтное значение
}
return $act;
}

Код файла config.php:

//Установки управления исправлением ошибок:
$debug["indx_act"]="idx";// Если главный скрипт получит не правильное значение переменнной act то он задаст ей это значение

Код файла links.php:

Function get_links(&$table)
{
$query="SELECT position FROM $table";
$result=mysql_query($query);
$rows=mysql_num_rows($result);
for ($i=0; $i<$rows; $i++)
{
$sort_array[$i]=mysql_result($result, $i);
}
sort($sort_array);
for ($j=0; $j<$rows; $j++)
{
$pos=$sort_array[$j];
$query="SELECT * FROM $table WHERE position="$pos"";
$result=mysql_query($query);
$tmp_arr=mysql_fetch_array($result);
$links[$j]["name"]=$tmp_arr["name"];
$links[$j]["link"]=$tmp_arr["link"];
}
$links["rows"]=$rows-1;
return $links;
}

Вот в принципе уже и мини двиган получился:) Теперь давайте разберем код некоторых файлов, чтобы я вам пояснил механизм работы. Итак для чего я проверяю переменную $act спросите вы? А представьте себе что кто-то захочет в url’e ее поменять? После этого скрипт может работать не стабильно и вполне реальна порча данных и т.п. Конечно в данном примере это играет, мягко говоря, второстепенную роль, но запомните, что нужно проверять абсолютно все что может изменить пользователь(лучше даже проверять то что он в принципе и не может изменять). Если же у переменной какое-то левое значение то мы ей присваиваем дефолтное значение и тем самым обламываем вредных киддисов:)

Теперь разберем самый сложный из этих простых скриптиков- links.php. Я думаю, что читатель этой статьи уже сталкивался с управлением каким- либо движком сайта и наверняка догадался почему этот скрипт настолько сложен(для начинающих конечно). Управление ссылками на навигационной панели сайта заключается не только в том, чтобы их добавлять и удалять, а еще, как минимум, в том чтобы изменять их позицию, т.е. вы сначала добавили ссылки на раздел статей, а потом вспомнили, что забыли добавить раздел “Главная”- ссылку на главную страницу, но ведь эта ссылка должна по традиции идти первой…вот тут- то и пригодится управление позициями. Вы просто добавляете ссылку на главную страницу, а потом нажимаете на что-то похожее на “Вверх” или “Поднять” и т.п. Но мы пока не будем в этой части касаться админки, а пока рассмотрим скрипт- клиент. Сначала мы просто выбираем все записи из таблицы и заносим значения поля ‘position’ каждой записи в массив. Затем мы сортируем их по возрастающей, то есть: 0, 1, 2 и т.д. Это позволяет нам потом выполнять в цикле SQL запросы типа: $query="SELECT * FROM $table WHERE position="$pos""; Таким образом мы выбираем из таблицы записи у которых поле ’position’ равно значению переменной $pos, что и дает нам возможность управления позициями ссылок. Здесь мы в цикле, начиная с ключа со значением 0 присваивать имя ссылки и, собственно, саму ссылку. Все что нам потом понадобится чтобы вывести ссылки на свет юзеровский- это написать в хтмл файле index.htm такой скрипт:

For(i=0;$i<$site_links[‘size’];$i++)
{
echo "{$site_links[$i]["name"]}";
}

Вот собственно и все. Кстати, некоторые люди которые читают сейчас эту статью, наверное, возмутяться: “А почему в запросе не использовать конструкцию ORDER BY и не использовать связанные таблицы? Ведь это упростит задачу!”. Дело в том, что стиль написания моих скриптов заключается в том чтобы максимально увеличить их переносимость, т.е. я никогда не использую сложные запросы, связанные таблицы и т.д. Конечно, все это плохо сказывается на скорости работы скриптов и их сопровождении(слишком не понятный код), и если нужно добиться максимальной производительности в ущерб переносимости, то я использую все эти средства, но зато еще ни один мой скрипт при переезде не просто с одной версии MySQL на другую, а с одной платформы и/или типа веб серверов и серверов БД не выдал ни одной ошибки или предупреждения:) Каждый волен делать так как он хочет, ведь на то оно и программирование: возможных решений задачи, столько же сколько и людей пытающихся ее решить;)

P.S. Если что-то не понятно или ты нашел(а) неточности/ошибки в статье- меня всегда можно найти на нашем

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

Не берусь говорить о точной цифре, но больше половины сайтов в интернете написаны на CMS, и данный метод создания сайта не прекращает набирать обороты. Вам не придется изучать особенности и сложности веб программирования, становится каким либо программистом, вам достаточно будет изучить инструкцию по пользованию конкретным CMS и все.

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

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

Я попытаюсь вам описать как можно подробнее все основные плюс и минусы данного варианта создания сайта:

  1. Трудозатратнось. Средняя так как в конечном итоге в делаете все сами и соответственно изучать материал вам придется самостоятельно, и выполнять всю работу. Безусловным плюсом могу здесь обозначить наличие несложных инструкций, написанных изначально для людей мало разбирающихся в веб программировании и соответственно сами CMS административные панели написаны с учетом этого.
  2. Качество. Безусловно, качество остается на высшем уровне, так как сам код пишут профессионалы и соответственно они знают что делают. Но существуют такой отрицательный момент, что в итоге вы ограничиваетесь рамками возможностей конкретного CMS и не всегда есть возможность реализовать вашу задумку как вы хотите, без соответственных и достаточно хороших знаний веб программирования, но и с ними не всегда все получается.
  3. Финансовые затраты. Этот момент безусловно приятный финансовых затрат у вас ни будет ни каких, так как все бесплатно и уроки и инструкции и конечно сами CMS. Так, что ваш кошелек не пострадает.
  4. Перспективы развития. Да, безусловно они есть, но как я уже говорил они будут ограничены рамками обновления и создания плагинов к выбранному вами CMS. И если вы захотите в кардинально что-то изменить, то возможно вам придется менять весь CMS на другой, поэтому прежде чем остановить свой выбор на конкретном варианте узнайте все возможности у выбираемх вами CMS и подумайте наперед, что вы хотите увидеть на своем сайте в будущем и какие он функции должен выполнять.

Для того чтобы приступить к изучению и созданию сайта на CMS для вас созданы, информационные раздел по разным CMS с подробными уроками по их изучению:


В этом разделе сайта собраны уроки полостью посвященные самому популярному CMS Joomla, на основе которого в интернете создано огромное количество всевозможных сайтов, разного направления.

  1. Обычный сайт визитка, просто подбираем нужный шаблон пишем текст и все.
  2. Достаточно качественный Блог, для реализации данной функции вам потребуется несколько дополнительных компонентов но это не проблема.
  3. Интернет-магазин практически любого объема и сложности.
  4. Сайт каталог или файловый архив.
  5. Портал - реализуется как с помощью стандартных возможностей Joomla
  6. Сайт галерея создание мощной галереи изображений или видео, для этого у Joomla достаточно расширений
  7. 7. Сайт для общения между людьми - для Joomla существует огромное количество компонентов и модулей, специально созданных для реализации общения между посетителями сайта.

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

Какие сайты вы можете сделать на основе данного CMS:

  1. Блог это безусловно первое и основное направление для которого был создан этот движок.
  2. Создание обычного статического сайта, в принципе это могут любые CMS
  3. Сайт объявлений
  4. Каталог статей
  5. Сайт фотогалерею
  6. Форум