Обновить
19.72

CMS *

Системы управления сайтом

Сначала показывать
Порог рейтинга
Уровень сложности

CRUD и связанные операции в CleverStyle Framework

Время на прочтение7 мин
Охват и читатели5.3K

После статьи с описанием базовых интерфейсов для работы с БД было достаточно комментариев с предложением более высокоуровневых инструментов для работы. В CleverStyle Framework есть подобного рода инструменты в виде трейтов cs\CRUD и cs\CRUD_helpers. Вместе они позволяют для достаточно типичных ситуаций заменить большую простыню шаблонного кода на один вызов функции. О том, что это такое, и какой набор задач позволяет решить и будет эта статья.

Читать дальше →

Работа с БД в CleverStyle Framework

Время на прочтение7 мин
Охват и читатели5.1K

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


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


Данная статья покажет основные интерфейсы, а трейты cs\CRUD и cs\CRUD_helpers останутся на другой раз.

Читать дальше →

Разработка веб-сайта на базе ASP.NET Core и Platformus CMS

Время на прочтение8 мин
Охват и читатели31K
В этой статье я хочу познакомить вас с Platformus CMS — молодой системой управления содержимым веб-сайтов (10-я альфа на момент написания статьи), построенной на базе не менее молодых ASP.NET Core и ExtCore framework. Подробно рассматривать архитектуру и другие технические детали мы сейчас не будем, а ограничимся упоминанием нескольких интересных фактов и затем сразу же попробуем CMS’ку в деле — создадим небольшой тестовый проект на ее основе.

Несколько интересных фактов


Платформус — бесплатная система управления содержимым с открытым исходным кодом. Она кроссплатформенная, модульная и расширяемая. Данные в ней представлены в виде объектов, которые описываются классами. Поддерживается мультиязычность.

Написана CMS на C#. Благодаря возможностям ASP.NET Core, она одинаково хорошо может работать на Windows, Linux и Mac. Сама исполняемая среда, необходимая для работы любого приложения на .NET Core, может быть как установлена отдельно, так и интегрирована непосредственно в само приложение. В качестве веб-сервера может использоваться IIS либо Kestrel (во втором случае приложение становится веб-сервером для самого себя и может работать самостоятельно или же быть встроено в контейнер вроде IIS или Nginx). В качестве хранилища данных на текущий момент поддерживаются Microsoft SQL Server, SQLite и PostgreSQL. С учетом всего перечисленного, можем получить конфигурацию, которой для работы не требуется вообще ничего стороннего — скопировал, запустил и пользуешься (может быть удобно для тестирования, например).

(В статье несколько десятков скриншотов.)
Читать дальше →

Nest Admin — панель управления для сайтов (landing page)

Время на прочтение2 мин
Охват и читатели34K
Nest — бесплатная, подключаемая панель управления для сайта. Сайт может быть любым, но первоначально панель рассчитана на одностраничные сайты визитки (landing page).
image

Панель подключается легко, работает на PHP и JavaScript. Не требует базы данных. Все что вам надо, это залить свой проект в папку с Nest и вмонтировать в ваш сайт скрипт. Дальше нужно все поместить на PHP сервер. Открыть панель, панель обращается к любим элементам на странице по id, классу, тегу.

Nest, не переписывает страницу, он сохраняет данные в формате json и при загрузке страницы их монтирует на нужное место в DOM дерево. Это сделано для того чтобы минимизировать сложность интеграции и ошибки. id нужно писать с решеткой #id, class c точкой.
Читать дальше →

Маршрутизация в CleverStyle Framework

Время на прочтение9 мин
Охват и читатели4.4K
Многие аспекты CleverStyle Framework имеют альтернативную по отношению к большинству других фреймворков реализацию тех же вещей.

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

Основное отличие


Главное отличие маршрутизации от реализаций в популярных фреймворках типа Symfony, Laravel или Yii это декларативность вместо императивности.

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

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

Изменения в CleverStyle Framework 5

Время на прочтение5 мин
Охват и читатели5.3K
Некоторое время назад вышел первый релиз ветки 5.x, а потом несколько меньших патч-версий, так что опять есть чего рассказать.

Предыдущие изменения: часть 1, часть 2, часть 3, часть 4.

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

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

Композитный сайт: технология Битрикс в каждую CMS

Время на прочтение4 мин
Охват и читатели20K


Здрасте!
Поговорим про самое спорное телодвижение компании Битрикс — технологию «Композитный сайт».
Спорное оно потому, что ребята запатентовали технологию, которая, по моему мнению, не тянет даже на курсовую 3 курса профильной специальности.


Ну да ладно, это ж маркетологи.


В статье рассмотрены:


  • сама технология «Композитный сайт»
  • альтернатива данной технологии «CompoJax» (через ДЖ)
  • примеры кода, для той и другой технологии
  • пример внедрения CompoJax в любую CMS на примере WordPress

Все вкусности внутри, го под кат.


Читать дальше →

Почему взламывают даже защищённые CMS на безопасном хостинге

Время на прочтение12 мин
Охват и читатели33K


Очевидно, что если у сайта есть уязвимости, то его можно взломать с помощью веб-атак. Но даже если сайт защищен техническими средствами, работает на надежной CMS, его все равно могут скомпрометировать. Каким образом это происходит и как защищать сайт от различных вариантов взлома не через веб-уязвимости — oб этом рассказал на партнёрской конференции «1С-Битрикс» Григорий Земсков, руководитель компании «Ревизиум».
Читать дальше →

Пишем адаптивный шаблон для Emlog CMS

Время на прочтение5 мин
Охват и читатели2.6K
Сегодня хотелось бы рассказать о Emlog CMS, о данной системе мало кто слышал, но она является хорошим вариантом для ведения личного сайта. Emlog работает быстро и стабильно, но уступает по функционалу Wordpress, например, и у этого скрипта меньше плагинов и шаблонов. Скрипт китайский, но имеет русскую локализацию, правда, шаблоны к нему только на китайском и, в основном, не адаптивные, напишем подходящий шаблон для ведения блога, например.
Работа с Emlog немногим отличается от Wordpress, дефолтный шаблон включает в себя такие файлы, как:
  • 404.php
  • echo_log.php – Полная новость.
  • footer.php
  • header.php
  • log_list.php – Короткая новость.
  • main.css – Все css шаблона.
  • module.php – Подключаемые модули и комментарии.
  • page.php — Страница открытой новости.
  • side.php – Боковая панель.
  • t.php – Микроблог.

Примеры функций для шаблона:
<?php require_once View::getView('module'); ?> //Подключение модулей.
<?php include View::getView('side'); ?> //Подключение боковой панели с модулями.
<?php echo $site_title; ?> //Заголовок страницы.
<?php blog_navi(); ?> //Панель со ссылками.
<?php echo $footer_info; ?> //Информация в конце страницы.

Читать дальше →

Bitrix — UrlRewrite (feat. Juggernaut)

Время на прочтение4 мин
Охват и читатели30K


Здрасте!

Продолжаем лупить статьи на тему «Битрикс не так уж и плох, если его доработать».
На этот раз разговор пойдет на тему «url_rewrite», потому как я считаю, что текущий вариант вообще не идеален.
А идеальным я считаю вариант маршрутизации в микрофреймворках, например Slim (или тот же Lumen), вообщем тех, которые дружат с PSR-7.
Кому интересно, го под кат.
Кому не интересно, ну тут уж сами решайте ;-)
Читать дальше →

Как создать свой VPS-хостинг с нуля и начать на нем зарабатывать? Простой биллинг с Virtuemart

Время на прочтение5 мин
Охват и читатели6.4K

Здравствуйте, уважаемые читатели хабра. Данный материал является продолжением цикла статей о том, как построить VPS-хостинг с нуля на базе RUVDS White Label API. И сегодня мы рассмотрим популярную CMS Joomla и одно из самых популярных ecommerce-решений для неё — VirtueMart.

Virtuemart


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

Давайте вместе рассмотрим плюсы и минусы плагина Virtuemart 3.
Читать дальше →

Как создать свой VPS-хостинг с нуля и начать на нем зарабатывать? Простой биллинг с WooCommerce

Время на прочтение7 мин
Охват и читатели10K


Здравствуйте, уважаемые читатели хабра. Данная статья является продолжением цикла материалов о том, как построить VPS-хостинг с нуля на базе RUVDS White Label API. В вводной статье цикла мы говорили о том, что в первую очередь нам понадобится сайт и предложили 3 варианта, как его можно создать. Мы детально остановимся на варианте с использованием популярных CMS и плагинов к ним, которые призваны быстро предоставить так необходимую нам функциональность по приему платежей и оплате серверов.

В серии публикаций мы рассмотрим такие популярные CMS, как Wordpress, Joomla и Drupal.
Читать дальше →

Запускаем простой блог на Wagtail CMS (Django) — часть 1

Время на прочтение10 мин
Охват и читатели54K
Являясь большим фанатом Python и фреймворка Django постоянно искал решение, как сделать разработку новых веб-проектов быстрее и удобнее.

Все, кто знаком с разработкой на Django, знают насколько неудобно строить на нем интуитивно понятную админ.панель. До мегапопулярного WordPress очень далеко, что делает порог вхождения в разработку сайтов выше, чем у PHP-фреймворков и CMS.
После долгого поиска и тестирования различных решений я нашел для себя оптимальный вариант — Wagtail CMS.

Wagtail — это полноценная CMS написанная на Django компанией Torchbox. За что им большое спасибо. Проект с открытым исходным кодом, поддерживается сообществом энтузиастов и выпускается под BSD лицензией.

Читать дальше →

Ближайшие события

Как стать профессиональным веб-разработчиком: практическое руководство

Время на прочтение12 мин
Охват и читатели680K

Дорога длинна и трудна, но интересна и полезна!

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

По статье разбросано множество ссылок на бесплатные и важные ресурсы. Для простоты я собрал их в PDF и разбил по категориям. Мне не платят за упоминания сайтов, ссылки на которые я привёл – я всего лишь хочу порекомендовать вам лучшие ресурсы, чтобы помочь вам достичь вашей цели.

Что нужно помнить:

1. Статью разрешается пролистывать

Руководство может помочь вам вне зависимости от вашего положения на дороге к профессиональной разработке. Прокрутите его к тому заголовку, который лучше всего описывает ваше сегодняшнее положение, и читайте оттуда. Если вы только начали этот путь, или пока размышляете об этом – последуйте совету Короля из «Алисы в стране чудес»:

Начните с начала, и продолжайте, пока не дойдёте до конца; и там уже остановитесь.
Читать дальше →

BitrixFramework: берем все в свои руки

Время на прочтение14 мин
Охват и читатели18K
Здрасте!

Очередная суицидальная статья от меня на тему Битрикс, надеюсь в этот раз хабраобщество будет более снисходительно, т.к. здесь все по факту, с кодом, схемками, никакого холивара и все по-честному.

В статье я рассмотрю альтернативу BitrixFramework, которая призвана облегчить жизнь разработчика и как-нибудь повлиять на развитие CMS Битрикс в нужном направлении.

Акция для хейтеров: если напишите комментарий с нормальной критикой и по теме + к карме лично отправлю ;-). Вот вам Вольфыча для затравки, все интересное внутри…

Читать дальше →

Релиз CleverStyle Framework 4

Время на прочтение6 мин
Охват и читатели6.6K
Как-то не получалось писать более одной статьи от начала новой ветки (часть 1, часть 2, часть 3), но вот опять есть чего интересного рассказать, ведь вышел первый релиз серии 4.х.

Вкратце обо всём


Первое что хотелось бы сказать — проект был переименован из CleverStyle CMS в CleverStyle Framework. Наконец-то! Больше не будет путаницы между названием и содержимым.

Если серия 2.х началась с существенных изменений на стороне сервера, а 3.х с сопоставимых изменений на клиенте, то 4.х приносит улучшения везде.

На сервере существенно увеличена скорость работы, при том что это full-stack фреймворк, используя HTTP сервер основанный на ReactPHP можно получить скорость генерации страницы НИЖЕ 1мс, быстрее стала генерация HTML в типичных сценариях.
Так же добавилась удобная поддержка вложенных структур в файлах переводов, добавилась поддержка SQLite, PostgreSQL, поддержка работы в качестве PSR7 Middleware (инициализация из PSR7-совместимого request объекта и выдача результата в PSR7-совместимый response объект) и связанные с этим удобные абстракции в самом ядре.

На фронтенде повсеместно используется RequireJS, ряд библиотек, безусловно загружающихся на фронтенде, теперь загружаются только когда непосредственно нужно, добавлены оптимизации для быстрой отрисовки первого кадра (first paint).

На стыке backend и frontend оптимизации построения кэша статики (CSS/JS/HTML), HTTP/2 Server push, Link: <preload> и много другого.

В целом система выглядит как хороший гибридный (не чисто микроядерный, но и не жирный такой) full-stack php фреймворк.

Как всегда, не обошлось без улучшения метрик кода, например, оценки Scrutinizer:)
Читать дальше →

Опыт использования Liferay Portal в eСommerce

Время на прочтение7 мин
Охват и читатели20K


Многие из нас уже не раз писали разного рода магазины. Но большие e-commerce проекты в быстро растущей и развивающейся компании разрабатывать приходится нечасто. К таким решениям предъявляются дополнительные требования, такие как конфигурируемость, адаптивность к изменениям, возможности встраивания в другие системы и прочее. Для написания такого решения компания Netcracker использовала Liferay Portal фреймворк. В итоге получили достаточно преимуществ, но и без проблем не обошлось.
Подробнее под катом

SpamFireWall — запрет доступа к сайту для спам ботов

Время на прочтение2 мин
Охват и читатели7.7K
Каждый владелец веб-сайта или вебмастер сталкивался с таким бичом, как спам в комментариях или формах контактов, а также регистрация спамботов под видом пользователей. В результате форма на сайте обрабатывает эти сообщения, что тратит ресурсы сервера. Некоторые спам боты загружают страницы сайта для обхода антиспам-защиты, из-за чего ресурсов тратится еще больше. На небольших объемах это незаметно, но когда веб-сайт в сутки получает тысячи подобных запросов, это может существенно влиять на нагрузку процессора сервера.

Сейчас мы расскажем о новой опции в антиспам-плагинах для CleanTalk, которая позволяет эффективно отражать атаки спамботов на ваш сайт. Опция получила название SpamFireWall(SFW), она блокирует POST- и GET-запросы от наиболее активных спамботов и не дает им загружать сервер.
Читать дальше →

FAQ по лицензированию Plone

Время на прочтение5 мин
Охват и читатели2.9K
Следующей CMS, по вопросам которой готов перевод справочного материала о лицензировании, является Plone. На Хабре про нее также ранее шла речь (см., например, здесь). Она, как и многие другие системы, распространяется на условиях свободной лицензии GPL. Возможно, эта справка и уступает по своему объему иным аналогичным материалам про лицензирование конкретных CMS (например, про тот же Drupal), но все же является хорошим примером того, как разработчики продукта разъясняют своим пользователям (в т.ч. и потенциальным) детали его лицензирования.

Этот документ отвечает на некоторые общие вопросы о Plone, политике его лицензирования и работе лицензии GPL. Соглашение контрибьютора и лицензия GPL остаются официальными источниками (например, все, что мы пишем здесь, не перекрывается этими документами), но этот документ полезен для чтения, если у вас есть вопросы о Plone и его лицензии и вам не хочется читать юридические документы для получения ответов на некоторые простые вопросы.

image

Читать дальше →

Какие CMS спамят чаще?

Время на прочтение2 мин
Охват и читатели5.8K
Статистика основана на данных антиспам сервиса CleanTalk, за период с апреля 2015 по март 2016 года. Анализ проводился по следующим CMS: WordPress, Joomla, 1C Bitrix, Drupal, phpBB3.0, phpBB3.1, IP.Board, SimpleMachines, MediaWiki.

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