Php уроки по созданию cms. Видео уроки CMS (система управление контентом)

CMS — это аббревиатура первых заглавных английских букв распознается как по английский content management system. По русский переводиться как система управления контентом и предназначена для редактирования и управлением содержание информации на сайте.

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

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

Wordpress

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

Joomla

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

Видео уроки CMS

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

Задача построения системы управления содержанием (CMS) может привести в замешательство новичка разработчика PHP. Но не так страшен черт, как его малюют! В данной серии уроков мы построим простую, но полностью работоспособную систему с нуля.

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

Вы можете посмотреть работу готового приложения на странице демонстрации (с целью безопасности включен режим "только чтение", так что добавлять, изменять и удалять статьи не получится). Также можно скачать полный код PHP нашей меленькой CMS с переведенными комментариями.

Примечание: для изучения материалов уроков потребуется веб сервер Apache с установленным модулем PHP и сервер MySQL. Для работы на локальном компьютере можно воспользоваться одним из инструментов веб разработчика: XAMPP (на английском языке), Denwer , Open server или другим.

Замечание о безопасности

В реальных проектах лучше помещать config.php где-нибудь за пределами корневого каталога веб сайта, так как в файле содержатся имена и пароли. Обычно код PHP невозможно просмотреть в браузере, но иногда из-за неправильной конфигурации веб сервера код становится доступным. Вы можете использовать функцию hash() для хэширования паролей и хранить в config.php хэши, вместо текстовых паролей. Затем при регистрации пользователя можно опять воспользоваться функцией hash() для кодирования введенного пароля и сравнения результата с сохраненным в config.php хэшем.

В следующем уроке мы построим основной класс нашего приложения - Article.

Вообще мысля проста создать так сказать модуль для своей CMS который выводил бы предпросмотр новостей... По моему мнению, движок это простое отделение кода PHP от кода HTML Я возможно не правильно его называю, это не движок, если верить терминам то, то, что мы будем писать - это шаблонизатор. Вообщем то это совсем не важно, конечный продукт будет уметь выводить мини новости, и при этом мы сможем менять шаблон не трогая код. Мы не будем вытаскивать информацию из базы данных, просто напрямую впишем ее в переменную. Приступим...Создадим файл index.php в нем напишем такой код

include("module/news.php");
$news = index_page();

include("templates/index.html");
?>

из него видно что мы подключаем два файла. Один из папки "module" т.е. модули, другой из папки "templates" т.е. шаблоны... Как вы поняли нам нужно написать сам модуль и шаблон... Но шаблонов мы будем писать два, один будет содержать разметку главной страницы, а другой будет содержать разметку самой мини новости. Начнем с мини новости, назовем файл news.html






индексы , , , заменятся на переменные в нашем модуле. Теперь напишем шаблон главной страницы, назовем его index.html




Первый движок




Обычная страница html только в ней присутствует php код Тут будут выведены наши новости... Приступим к самому модулю, называем его news.php

function index_page()
{
//Заполняем переменные с информацией
//В наших мининовостях будет виден текст, заголовок, дата и автор
$txt="Печально когда при создание чего то ты забываешь про какие то мелочи...и для того что бы не переписывать все ты пытаешься измудриться так, чтобы вмешательство в код было минимальное..";
$txt="Когда то такие попытки увенчаются успехом, а иногда бывает и так, собственными же руками уродуешь код =(";
$title="Титл новости 1";
$title="Титл новости 2";
$author="Первый автор";
$author="Второй автор";
$date_b="12/10/11";
$date_b="13/10/11";

$sm_read = file("templates/news.html");//Открываем шаблон
$sm_read = implode("",$sm_read);//Так как функция file() в результате дает нам массив, то склеиваем его
for($i=0;isset($txt[$i]);$i++)//Выводим цикл где меняем индексы на информацию из переменных
{
$edd_tamp = $sm_read;
$edd_tamp = str_replace("",$txt[$i],$edd_tamp);
$edd_tamp = str_replace("",$title[$i],$edd_tamp);
$edd_tamp = str_replace("",$author[$i],$edd_tamp);
$edd_tamp = str_replace("",$date_b[$i],$edd_tamp);

$news .= $edd_tamp;//Склеиваем все в одну переменную
}
return $news;//Выводим результат функции
}
?>

Собственно небольшой движок написан...Поместим файлы news.html и index.html в папку templates. Файл news.php в папку module, а файл index.php в корень сайта...

Это лишь простой пример реализации скрипта который может генерировать страничку "на лету". Более подробнее оп простом движке на php может почитать

Как много веселых ребят
И все делают велосипед.
А один из них как-нибудь утром
Придумает порох.
Виктор Цой.

Сначала я хотел написать в раздел «Я пиарюсь» статью о том какой я молодец и какую замечательную штуку сделал но, немного поискав в сети, я без удивления обнаружил, что я совсем не единственный в своем роде. Тогда я решил пойти от обратного: наверное, практически каждый Веб-программист хотя бы раз в своей жизни пытается написать полноценную CMS. При этом, в процессе проектирования (а это процесс, зачастую, наступает уже во время написания кода) у разработчика непременно возникают вопросы. С этими вопросами он обращается к поисковикам и попадает на сайты тех, кто по подобным граблям уже прошествовал.

Итак, я стал смотреть, по каким же запросам попадают ко мне начинающие «разработчики велосипедов», и постарался осветить некоторые вещи, которые для меня самого были неочевидны в начале работ.

1. MVC - наше все!

Где бы не заходил разговор о разработке веб приложений, сразу же всплывает модная аббревиатура MVC (Model-View-Controller). Этот подход гласит, что интерфейс надо отделять от логики, а логику от данных. Не скажу, что я в полной мере проникся этими идеями, но то, что изменения в дизайне (или даже дизайнах) не должны затрагивать логику кода - я готов отстаивать с пеной у рта:)

Вот тут и покоятся грабли номер один: внешний вид надо отделить от логики программы. Как это сделать - каждый решает для себя сам. По этому вопросу копий сломано не мало: тут и различные шаблонизаторы, и xslt преобразования, и просто php+html вынесенные в отдельные файлы. Выбор большой, но «серебряной пули», как водится, не существует: на одной чаше весов лежит гибкость, на другой - понятность. Даже Smarty , с его «программированием для самых маленьких» многим пользователям кажется сложным. Так что если мы ориентируемся на пользователя, который хочет поставить систему «из коробки» и подпилить ее для своих нужд с минимальными знаниями программирования, то тут стоит поломать голову.

Кроме того, дизайны должны быть заменяемые и, возможно, даже «на лету». То есть нужно предусмотреть их удобное хранение и редактирование. И еще одна вещь, которая многими проигнорирована: дизайн должен быть легко редактируем и обновляем. Если вам приходилось адаптировать дизайн какого-нибудь бесплатного форума, состоящего из двух сотен шаблонов, в которых все намертво «прибито» таблицами и откуда-то «из логики» вставляются куски JavaScript, то вы понимаете, что именно видеть не хочется.

Я придумал такую конструкцию: в пользовательском дизайне присутствует только то, чего нет в базовом дизайне. То есть в самом минималистичном случае дизайн состоит из пустого каталога с названием дизайна. Понятно, что в этом случае дизайн будет выглядеть в точности так же как базовый, так как все недостающие части будут позаимствованы от него, но как отправная точка - это очень удобно. Если в дизайне появляется css, то система автоматически переключается на него (при этом html все равно заимствует из базового). Тоже самое и с JS. Что мы получаем при этом: в пользовательском дизайне лежат только те файлы, которые он сам сделал. Пользователю не надо помнить, какой файл он исправлял, а какой попросту скопировал из базового дизайна в начале работы. Так же на сайте отображаются практически все нововведения базового дизайна без правки пользовательского. Мне такая система показалось удобной и логичной, хотя некоторым она кажется несколько неожиданной. Взять ли ее на вооружение или придумать свою - решать вам.

2. Структура сайта

Приступаем к написанию ядра. Что должно делать ядро? А делать оно должно всю «грязную» работу: определять настройки сайта, права и настройки групп пользователей, используемые модули, шаблоны, параметры кэширования, локализации и т.п. То есть, чтобы к тому моменту как начинали работать подключаемые модули, они могли получить все интересующую их информацию от ядра. Звучит жутковато, но все это сравнительно легко пишется и работает, если четко представляешь себе взаимодействие элементов.

Я для себя решил, что сайт будет представлять собой не кучу страниц, сваленных куда-то в БД, а строгую иерархию. В итоге структура сайта древовидная и недостающие части, как и в случае с дизайнами, наследуются от родителей. Структура групп пользователей тоже древовидная - права и настройки так же наследуются от родителей. Файлы локализаций и модули так же имеют простенькую иерархию. Четкая иерархия позволила переложить на движок всякие неприятные вещи типа автоматической генерации карты сайта, различных меню, раздачу прав (да-да: чтобы дать право на что-то нескольким группам, совсем не обязательно редактировать каждую - достаточно определить иерархию) и т.п. Живи да радуйся! И все бы ничего, если бы не грабли:

Грабли первые. Кэширование.
Пока занимался проектированием своего «мегадвижка» было как-то не до кэширования… Да и подумаешь - что там сложного? Поместил страницу в переменную, сохранил ее в файл, а в следующий раз ее оттуда показал. Делов-то… в любой момент можно приделать! Ой… а у нас для зарегистрированных пользователей другая страница… Гм… ну подумаешь - две страницы в кэш сохраним! А еще в шапке надо вывести «привет, Вася»… ну значит этот фрагмент в шапке не кэшировать. и такой же фрагмент в подвале… и в середине… Мда… Я еще бы надо разные части страницы кэшировать на разные сроки… Садимся и переписываем движок и систему кэширования на кэширование блоками - чтобы каждый блок имел свой срок жизни.
Грабли вторые. Кэширование.
Как?! Опять кэширование? Уже ведь сделали все красиво! Ну да… сделали… и оно даже работало, пока не встала задача генерировать контент для каждого пользователя на основе его личных настроек. Размер кэша при этом растет со скоростью реактивного истребителя, а его содержимое устаревает много раньше, чем будет запрошено повторно. Вместо ускорения сайта получаем его замедление, и гигабайты никому не нужных кэшированных страниц… Главным скриптом на сайте становится «его величество» инвалидатор кэша. Мда… переписываем движок снова: на этот раз реализуем кэширование на уровне запросов к БД, так как это самое узкое место в производительности. Переписали… все - нирвана.
Грабли третьи. Кэширование.
Смотришь на свое творение и чувствуешь себя полным идиотом: вместо того чтобы сохранить страницу целиком, каждый раз ее создаю. А ведь кэширование задумывалось с точностью для обратного! Как же я так лопухнул-то?

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

Урок же для себя я вынес такой: систему надо изначально проектировать таким образом, чтобы на определенных этапах исполнения иметь сгруппированные данные, которые можно легко положить в кэш или взять оттуда. Так же система кэширования не должна быть жестко завязана на движок, так как сегодня вполне достаточно хранить кэш в файлах, а завтра (или даже сегодня вечером) уже подавай работу с memcache-сервером.

В процессе написания движка так же имеет смысл почитать умную книжку про рефакторинг… или почитать ее после написания движка. В любом случае, всем троим (вам, движку и книжке) это может пойти на пользу.

3. Модульность.

Современную систему тяжело представить как «вещь в себе» - она должна иметь интерфейсы для расширения своего функционала. Таким образом, мы переходим к самой вкусной части CMS - написание модулей. Тут тоже полно вопросов: как должен выглядеть модуль, как подключаться к системе и т.п.
В некоторых системах вызов модулей жестко прописан в ядре системы, так что если ты хочешь написать модуль или установить сторонний, то залезайте в исходный код, вооружайтесь мануалом по установке и вписывайте в код соответствующие вызовы. При всем идиотизме подхода, многие системы именно так и функционируют. Есть вариация этого решения: каждый модуль - это отдельный файл в некоем каталоге. В этом случае мы получаем не просто необходимость прописать модуль в ядро, но еще и выполнить его в виде одного файла. Еще встречались варианты с активными шаблонами: то есть вписали в шаблон {module_name} и когда парсер дошел до этого тега - вызывается на исполнение модуль module_name, результат работы которого оказывается на месте тега. Возможно, такой путь и удобен, но в данном случае мы не только не отделили логику от представления, но как раз наоборот - хорошенько их перемешали.

После определенного количества шишек я пришел к системе, которая, возможно, и не является образцом лаконичности и простоты, но мне видится достаточно удобной. Каждый модуль - это отдельный каталог, из которого ядром вызывается всего один файл (index.php). Данный файл может, как выводить «Hello world!», так и подключать файлы управления гиперпространственным квазиизлучателем - это уже как разработчику модуля будет удобно. В том же каталоге лежит xml файл с описанием параметров модуля, возможных настроек и системой прав. Этот файл используется для того, чтобы система могла сама добавлять модули и не перекладывать эту головную боль на пользователя: нажал кнопку «установить модуль» - пожалуйста, получите.

С установкой разобрались. Встает новая проблема - как не позволить пользователю разместить на одной странице, скажем, фотоальбом и, например, форум? К здравому смыслу уповать бесполезно, поэтому нужна типизация модулей. Модуль такого-то типа (я для таких модулей где-то подсмотрел понятие «компонент») может быть на странице только один.

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

Некоторые вводят для этого аналог никсового runlevel, где для каждого модуля надо прописать между какими именно модулями он должен быть подключен. Как пользователя, меня такое решение повергло в прострацию, но как разработчик я придумал почти тоже самое: модули разделены на три больших группы. Одна из групп - уже упоминавшийся «компонент», две других отличаются только тем, что модули одной группы подключаются до компонента, а другой - после. Причем, это разделение от пользователя я скрыл, так что для него остались только «компонент» и «просто модуль».

Итак, модуль спроектировали, с подключением определились… Теперь надо решить как его настраивать и как к нему допускать. А тут как раз все просто: раз уж у нас ядро предназначено для «грязной» работы, то пусть у него голова и болит - модуль в xml выдал список настроек, а ядро пускай его разбирает, хранит и предоставляет по запросу - тут как раз все просто.

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

4. Обновления

Всегда хочется иметь самую свежую версию, но совершать для этого минимум телодвижений. Отсюда вытекает желание автоматизировать процесс обновлений. И тут опять существует пусть и не очень обширный, но все же зоопарк решений. Самые прогрессивные предлагают поставить на все каталоги права 777, а на файлы - 666 и тогда «скрипт сам все сделает». То что это дыра в безопасности размером с Гранд Каньон, в общем, никого не волнует.

У меня были идеи относительно двух вариантов: скрипт скачивает обновления во временную директорию, а потом, запросив у пользователя параметры доступа к FTP, обновляет сам себя. Так ему и прав лишних давать не надо, и происходит все автоматически, и обновления гоняются в пределах сервера… вот только придется либо каждый раз запрашивать у пользователя параметры доступа к FTP, либо хранить их тут же на сайте… то есть, все яйца в одной корзине. Поэтому я предпочел другой вариант: пользователь сам скачивает обновления (архивом или через svn), заливает их на сайт, а код на сайте, почувствовав что он стал «новее» вносит необходимые исправления в БД и/или настройки… А первый вариант все же был красивее… но не отважился я.

Это самые запомнившиеся вехи моего «велосипедостроения». Читая это я очень жалею, что в начале работы я не встретил чего-то подобного, а у меня самого было недостаточно опыта и шишек чтобы задать «правильные» вопросы. То что у меня получилось в итоге, вы

Хотя знать 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 (бесплатный).

© 2024, leally.ru - Твой гид в мире компьютера и интернета