Как стать автором
Обновить
1.03

CMS *

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

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

Создание движка для блога с помощью Phoenix и Elixir / Часть 7. Добавляем комментарии / Новогодний анонс в заключении

Время на прочтение9 мин
Количество просмотров5.2K


От переводчика: «Elixir и Phoenix — прекрасный пример того, куда движется современная веб-разработка. Уже сейчас эти инструменты предоставляют качественный доступ к технологиям реального времени для веб-приложений. Сайты с повышенной интерактивностью, многопользовательские браузерные игры, микросервисы — те направления, в которых данные технологии сослужат хорошую службу. Далее представлен перевод серии из 11 статей, подробно описывающих аспекты разработки на фреймворке Феникс казалось бы такой тривиальной вещи, как блоговый движок. Но не спешите кукситься, будет действительно интересно, особенно если статьи побудят вас обратить внимание на Эликсир либо стать его последователями.

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

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

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

Время на прочтение6 мин
Количество просмотров6.5K
Следующий перевод справочного материала по лицензированию CMS посвящен проекту pimcore родом из Австрии. Эта система уже успела несколько лет назад отметиться как самый перспективный Open Source-проект по версии Open Source Awards 2010, а также получить такую награду, как Frost & Sullivan Content Management Systems Technology Innovation Award 2016 в текущем году.

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

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

Yii2: Делаем модуль для управления модулями

Время на прочтение8 мин
Количество просмотров15K
Приветствую всех! На текущем проекте мы используем Yii2 и в процессе разработки понадобилась некая сущность как модуль.

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

Alameda, Bower и NPM интеграция в CleverStyle Framework

Время на прочтение5 мин
Количество просмотров1.6K

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


В то же время есть огромное количество сторонних компонентов в виде Bower/NPM пакетов, работу с которыми фреймворк так же упрощает и с которыми отлично интегрируется.

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

Тестирование 15+ виртуальных хостингов для Wordpress или как не исчезнуть из индекса Яндекса

Время на прочтение4 мин
Количество просмотров29K


Шаг 0: С чего все началось?


У меня есть сайт-визитка на Wordpress. И в один прекрасный день скорость ответа сервера по нему начала периодически «прыгать» до 2000 мс и выше. Яндекс это заметил, показал мне критическое предупреждение в Вебмастере, и убрал 25 страниц сайта из индекса (оставил 2). Так я потерял почти весь поисковый трафик, чему весьма огорчился.

Поддержка моего хостинга огорчилась вместе со мной, но ничего сделать не могла, «Все сервера работают, сбоев не было». А так как поисковый трафик мне очевидно нужен, возник мотив поменять хостера.

Далее, я выбрал 17 хостингов из выдачи и рекламы «хостинг для wordpress», установил туда чистый Wordpress, и оттестировал их на скорость ответа сервера. Ниже приведены основные результаты и краткие комментарии по каждому.
Читать дальше →

Выбор технологий для большого и не очень большого веб-проекта

Время на прочтение16 мин
Количество просмотров113K
За годы работы я часто слышу вопросы о выборе технологий для того или иного веб-проекта. Кто-то спрашивает у нас, как у разработчиков, как правильно, а кто-то приходит и просит сделать на какой-то конкретной технологии. Проблема в том, что большинство выбирают технологии по субъективным причинам, и пока я не слышал достойного и понятного рассуждения, которое позволило бы выбрать технологию объективно, основываясь на фактах, а не желаниях. Даже немногие итишники могут правильно выбрать технологию, ведь для этого нужно: понимать специфику проекта, иметь многолетний опыт разработки на нескольких языках, знать, как устроены подобные проекты и т.д.

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

Что такое Bitrix

Время на прочтение13 мин
Количество просмотров311K
Этой статьей я завершаю цикл, посвященный 1С. В статье Что такое 1С. О сложной системе простыми словами я обещал посвятить программным продуктам “1С-Битрикс” отдельную статью, и сейчас я выполняю это обещание. Статья является обзором, в ней я не буду углубляться в технические детали и особенности применения программного кода, для этого существует подробная документация, доступная всем желающим на официальном сайте компании.

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

Система сборки фронтенда в CleverStyle Framework или почему вам может быть не нужна кастомная

Время на прочтение9 мин
Количество просмотров3.7K

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


Данная статья будет погружением в подробности работы со статикой для фронтенда, начиная от того как определяются файлы нужные на странице и заканчивая оптимизациями доставки статики вроде HTTP/2 Server Push. Не забудем и о том, почему с использованием CleverStyle Framework можно обойтись без кастомной системы сборки и как при желании интегрировать такую систему сборки в процессы фреймворка.


Данная статья специально упускает из внимания интеграцию Bower/NPM и RequireJS, это будет тема отдельной статьи в недалеком будущем.

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

Разработка модулей для Magento 1.x — большой гайд + видео

Время на прочтение100 мин
Количество просмотров28K


Привет, Хабр! Несмотря на давно уже выпущеную Magento 2, Magento первой версии еще живее всех живых и пока еще не собирается нас покидать. Команда Magento будет поддерживать первую версию продукта 3 года с даты выпуска версии 2, т.е. примерно до ноября 2018. Рынок пестрит широчайшим выбором тем, модулей и сервисов заточеных под Magento 1.x версии. И большое количество сайтов, которые сейчас на Magento 1.x, не торопятся обновляться. Работы много — выхлопа мало. А значит, разработка под Magento первых версий еще актуальна и так будет несколько лет.

Но не о перспективах развития e-commerce решений пойдет речь в этой статье. Тут я решил собрать своеобразный гайд по созданию модулей для Magento 1.x (далее просто Magento). Но не простой гайд, в котором надо всего лишь следовать инструкциям, а с небольшими пояснениями «почему пишем так, а не иначе». Я старался найти золотую середину между краткостью и достаточностью. И в первую очередь, гайд несет пользу новичкам в деле разработки модулей для Magento. Но и более опытным пользователям данный материал может принести пользу.

Эволюция CleverStyle Framework 6

Время на прочтение6 мин
Количество просмотров3.6K

Недавно вышел первый релиз ветки 6.x, а это значит, что кроме отброшенной обратной совместимости есть и новшества, о которых и хотелось бы рассказать.


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


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


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

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

Альтернатива Themeforest для тех, кто хочет продавать темы на WordPress

Время на прочтение4 мин
Количество просмотров13K

Я давно верстаю и делаю темы для WordPress: где-то уже более 4 лет. И, когда через года два после начала, я сделал больше 100 сайтов на WordPress, то конечно пришла мысль о том, как сделать себе пассивный заработок на создании плагинов и тем для Envato и ThemeForest. Поначалу впечатлила самая продаваемая тема Avada и, конечно же, плагины Revolution Slider и Visual Composer. Сразу начинаешь умножать продажи на цену и получается прилично. Первое время я даже не замечал темы на WordPress, которые имели очень хороший дизайн, но при этом у них почти не было продаж. Можете даже посмотреть один пример: здесь и дизайн крутой и функционал неплохой, но продаж только 20 за 4 месяца.


image

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

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

Время на прочтение9 мин
Количество просмотров19K
С момента написания первой части про Wagtail CMS уже вышла версия 1.6.3 — самое время продолжить наш путь по созданию простого блога.

Часть 1
Часть 3

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

Запускаем простой блог на Wagtail CMS (Django) - часть 2
Читать дальше →

Использование MS Word для управления материалами в Wordpress

Время на прочтение3 мин
Количество просмотров9.9K


Сегодня для продвижения сайта через SEO (Search Engine Optimization – настройка ресурса под выдачу в поисковиках) нужно делать материалы высокого уровня. Контент должен быть уникальным, полезным и оптимизированным под запросы поисковых систем.

  • Уникальность помогает быть увиденными поисковиками.
  • Качество (грамотность, структура, дизайн) и полезность материалов оценивается и читателями и поисковиками (время, проведенное пользователем на вашей странице, интерпретируется поисковыми системами как интересность контента для публики).
  • Оптимизация нужна, т.к. все вышеперечисленное не будет работать, если вы не будете попадать в топ-10 выдачи хотя бы по некоторым поисковым запросам.

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

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

Какие ссылки использовать: абсолютные или относительные?

Время на прочтение3 мин
Количество просмотров34K
Имеется в виду: какие адреса использовать для переходов внутри сайта? Допустим, мы хотим создать на домене site.ru с уже работающим сайтом другой подсайт, файлы которого будут находиться в папке shop. URL этого подсайта будет такой:

http://site.ru/shop

Почему мы усложнили задачу, будет ясно в конце данной статьи.

1. Абсолютные ссылки (absolute)


href="http://sites.ru/shop/" — ссылка на главную страницу магазина
href="http://sites.ru/shop/t-shirts/t-shirt-life-is-good/" — cсылка на страницу товара
Читать дальше →

Как достичь рейтинга А+ для SSL-сертификата на вашем сайте, и другие аспекты безопасности хостинга

Время на прочтение10 мин
Количество просмотров22K


В последние годы хостинг превратился в commodity — полноценный продукт, привлекательность которого во многом определяется сопутствующими услугами. А поскольку особое значение сегодня имеет информационная безопасность веб-сайтов, то одним из важнейших аспектов хостинга являются SSL-сертификаты. Вся электронная коммерция так или иначе проходит через хостинг, поэтому необходимо понимать, насколько безопасно, правильно и удобно выполняются все бизнес-операции. Подробнее об этом рассказал спикер компании Rusonyx на партнёрской конференции «1С-Битрикс».
Читать дальше →

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

Время на прочтение7 мин
Количество просмотров5.2K

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

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

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

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

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


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


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

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

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

Время на прочтение8 мин
Количество просмотров29K
В этой статье я хочу познакомить вас с 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.3K
Многие аспекты CleverStyle Framework имеют альтернативную по отношению к большинству других фреймворков реализацию тех же вещей.

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

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


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

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

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