Как стать автором
Поиск
Написать публикацию
Обновить
0

Drupal *

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

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

Создаем свой кастомный плагин Style – Темизация Views в Drupal 8

Время на прочтение7 мин
Количество просмотров5.7K
Модуль Views (Представления) является составляющей ядра Drupal 8. На сегодняшний день об этом известно всем. Twig – это новый обработчик шаблонов в Drupal 8. Об этом нам тоже уже известно. Но как же программно взаимодействовать с модулем Views, для того чтобы темизировать View с использованием Twig? Кроме перекрывания шаблонов, как это происходит в любой другой системе модулей, у нас есть более мощная альтернатива в виде Views плагинов (Display, Style, Row и Field).
Читать дальше →

Drupal и WordPress — сравнение, аналогии, сходства, различия

Время на прочтение18 мин
Количество просмотров46K
Целью данной публикации является сравнение возможностей двух популярных CMS — Drupal 7 и WordPress (последней на данный момент версии 4.6). Ставилась цель рассмотреть CMS с точки зрения программиста и сравнить основные API обеих систем, провести аналогии, сделать выводы о том, какая система лучше подходит для каких задач. Публикация не претендует на полноту изложения всех возможностей CMS, а автор будет благодарен за коррективы и дополнения.
Читать дальше →

Drupal Composer рецепты

Время на прочтение5 мин
Количество просмотров14K
В этом посте мы хотим поделиться некоторыми рецептами использования Composer, которые мы накопили работая с Drupal проектами созданными с помощью Drupal Composer template. Так же мы рассмотрим как перевести существующий Drupal проект на Composer.
Читать дальше →

Open source инициатива Docker4Drupal.org

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


Уже можно твердо констатировать, что контейнеры и, в частности docker, стали стандартом де-факто для разработчиков. Можно еще спорить о применимости контейнеров в продакшене, но уже никто не спорит, что для локальной разработкой и dev инстансов Docker незаменим.

Именно поэтому мы решили раз и навсегда решить головную боль для друпал разработчиков начав open source инициативу Docker4Drupal.org. Тем более, что для друпала окружение довольно стандартизованное.
Читать дальше →

Критические уязвимости в Drupal: подробности и эксплоиты

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

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

Уязвимости обнаружены в модулях RESTful Web Services (используется для предоставления REST API к функциям Drupal), Coder (модуль анализа кода и миграции для старых версий) и Webform Multiple File Upload (добавляет компонент формы для загрузки пользовательских файлов). В ядре исправлена уязвимость httpoxy, о которой мы уже писали в блоге.

Согласно бюллетеню безопасности PSA-2016-001 уязвимости затрагивают до 10000 сайтов, на которых установлены указанные модули. Бюллетень PSA-2016-002 подтверждает наличие уязвимости httpoxy в восьмой ветке Drupal, где используется сторонняя библиотека Guzzle для осуществления HTTP-запросов, при этом более ранние версии Drupal 7.x не подвержены данной уязвимости.

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

Опыт перехода сайта на Single Page Application с упором на SEO

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

Привет всем.


Мы классический web 2.0 сайт сделаный на Drupal. Можно сказать, что мы медиа сайт, т.к. у нас очень много всевозможных статей, и постоянно выходят новые. Мы уделяем много внимания SEO. У нас для этого даже есть специально обученные люди, которые работают полный рабочий день.


К нам заходит более 400k уникальных пользователей в месяц. Из них 90% приходит из поиска Google.


И вот уже почти полгода мы разрабатывали Single Page Application версию нашего сайта.


Как вы уже наверное знаете, JS это вечная боль сеошников. И нельзя просто так взять и сделать сайт на JS.


Перед тем как начать разработку мы начали исследовать этот вопрос.
И выяснили, что общепринятым способом является отдача google боту уже отрисованой версии страницы.
Making AJAX applications crawlable


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


We are generally able to render and understand your web pages like modern browsers.

Т.к. на момент принятия нашего решения Google только-только отказались от подобного метода, и еще никто не успел проверить как Google Crawler на самом деле индексирует сайты сделаные на JS. Мы решили рискнуть и сделать SPA сайт без дополнительной отрисовки страниц для ботов.

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

Drupal: ajax_facets и history API

Время на прочтение5 мин
Количество просмотров5.6K
Наверное, каждый веб разработчик сталкивался с необходимостью в реализации поиска на сайте. Довольно распространенное решение — Apache Solr. В мире Drupal разработки это не исключение. Для интеграции Solr с Drupal и реализации фасетного поиска существуют модули search_api, search_api_solr и facetapi. Но в большинстве случаев нам бы хотелось, чтобы результаты поиска и фасетные фильтры обновлялись без перезагрузки страницы, то есть ajax'ом. И, как обычно в мире Drupal, на d.org найдется какой-нибудь проверенный временем и пользователями модуль (а может и не проверенный, как повезет), который делает то, что нам нужно. В данном случае это ajax_facets.
Читать дальше →

Дайджест интересных материалов из мира Drupal #20

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

Привет!


Если вы ненавидите свою CMS, то на этих майских самое время посмотреть на альтернативы. Мы в свою очередь с любовью отобрали для вас пару десятков полезных ссылок для изучения Drupal. Внутри опрос!


По-русски


  1. Хватит это терпеть! Большой честный обзор подходов для создания лендингов от соавтора дайджеста k0teg.
  2. Не менее полезный материал от Никиты Малышева. Отец-основатель dru.io делится своим подходом к верске Drupal-сайтов на основе Display Suite.
  3. Хабр заинтересовался вопросами лицензирования: FAQ по лицензированию Drupal, FAQ по лицензированию Backdrop.
  4. Немного старой доброй семёрки: Работа с чистым Token API. Важно понимать, как оно устроено, но на практике бывает удобно сразу интегрироваться с Entity API и его встроенной поддержкой токенов.
  5. К другим новостям. @xandeadx разжился лиценцией на PhpStorm и сразу же начал писать заметки на эту тему. Мы никогда ничего такого не писали, но поведение автора блога xandeadx.ru нас очень удиаляет и возмущает. Когда уже будут заметки по Drupal 8?! :)
Читать дальше →

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

Время на прочтение3 мин
Количество просмотров6.1K
Т.к. читатели Хабра знакомы с форком Drupal под названием Backdrop, а сам проект Backdrop также имеет пояснения касательно лицензирования самой CMS и расширений к ней, то думаю, будет нелишним раскатить перевод вопросов и ответов по лицензированию этой CMS, раз аналогичное уже было сделано в отношении самого Drupal.

image


Содержание
  1. Если я создам модуль или тему, должен ли я применить к ним лицензию GPL?
  2. Если я создам модуль или тему, должен ли я предоставлять его кому угодно?
  3. Могу ли я продавать Backdrop или модуль для Backdrop или тему для Backdrop?
  4. Лицензия GPL требует, чтобы я распространял «исходный код» моих файлов. Что это означает для веб-приложения?
  5. Могу ли я опубликовать мою работу под лицензией GPL версии 3 или только под GPL версии 2?
  6. Перейдет ли Backdrop на лицензию GPL версии 3?


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

Анализ подходов для создания лендингов и лонгридов в Drupal

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

image


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

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

Дайджест интересных материалов из мира Drupal #19

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

Мы собираем полезные статьи и свежие новости из мира Drupal и делимся с вами раз в месяц.


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

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

Время на прочтение8 мин
Количество просмотров6.4K
Готов перевод справочного материала по лицензированию Drupal, в котором рассмотрены, в частности, вопросы использования кода Drupal и иного контента с сайта проекта Drupal.org, особенности лицензирования и использования связующих модулей, а также даны некоторые разъяснения условий лицензии GPL и пояснения про товарный знак Drupal.

Эти вопросы и ответы помогут прояснить юридические вопросы применительно к лицензированию проекта Drupal и лицензии GNU General Public License. Благодарим Software Freedom Law Center за их помощь в подготовке данной информации.

Содержание
  1. Какая лицензия у Drupal?
  2. Лицензия распространяется только на PHP или на все?
  3. Кто обладает авторским правом на Drupal?
  4. Я желаю опубликовать мою работу под лицензией GPL версии 3 или только под GPL версии 2. Могу я так сделать и разместить ее на Drupal.org?
  5. Какая лицензия у контента на Drupal.org?
  6. Лицензия GPL требует, чтобы я распространял «исходный код» моих файлов. Что это означает для веб-приложения?
  7. Если я создам модуль или тему, должен ли я применить к ним лицензию GPL?
  8. Если я создам модуль или тему, должен ли я предоставлять его кому угодно?
  9. Могу ли я продавать Drupal, модуль для Drupal или тему для Drupal?
  10. Могу ли я написать «связующий модуль» для взаимодействия между Drupal и другой системой или библиотекой?
  11. Должен ли я предоставлять код своего сайта любому его посетителю?
  12. Будет ли Drupal распространяться на условиях лицензии GPL версии 3?
  13. Я обнаружил модуль или тему в репозитории контрибьютов, который распространяется только на условиях лицензии GPL версии 2 или только на условиях лицензии GPL версии 3. Что я должен делать?
  14. Я обнаружил модуль или тему в репозитории контрибьютов, который распространяется на лицензионных условиях, отличных от GPL (включая LGPL или AGPL). Что я должен делать?
  15. У меня есть вопрос, на который нет ответа здесь. Что я должен делать?
  16. Почему Drupal является зарегистрированным товарным знаком Дриса Бёйтарта? Это означает, что он не бесплатен?



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

Дайджест интересных материалов из мира Drupal #18

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

Мы собираем полезные статьи и свежие новости из мира Drupal и делимся с вами раз в месяц. В этом выпуске провожаем зиму (и Drupal 6).

По-русски


  1. «Приятно наблюдать, как статьи по Друпал 8 постепенно наполняют русскоязычный сегмент сети...» — пишет автор открывающей статьи рубрики «По-русски». Действительно приятно! Друпал 8: Routing, links, permissions, tabs или "Hello YML" — создаём простой модуль со всеми необходимыми правами и ссылками в меню.
  2. Небольшой обзор Migrate для семёрки от этого же автора.
  3. Похоже, что на Drupal.ru пригласили писать Дэдпула. По крайней мере с чувством юмора у нашего нового Drupal-героя всё впорядке. Уже можно насладиться двумя шедеврами: Drupal 8, Cache & Rock N' Roll и Drupal 8. Entity, мы с тобой одной крови. Автор, некогда объяснять, свяжись с нами срочно!
  4. Ещё на Drupal.ru: анонс модуля render_boost для ускорения семёрки.
  5. Там же на Drupal.ru можно найти информацию по Backdrop CMS, форку семёрки для тех, кому пока велик Drupal 8.
  6. Возвращемся к классике. Новое в блоге xandeadx.ru: полезный сниппет для поддержки алиасов нод в актуальном состоякии.
  7. Там же подробно и со скриншотами, как настроить табы (локальные задачи) во Views. То же самое для восьмёрки.
  8. Интеграция custom entity с Panelizer — продолжение серии статей про сущности в блоге nightdevel.ru.
  9. Модуль Commerce Robokassa обновлен до 7.x-2.0-rc1.
  10. Тема настройки локального окружения никогда не выйдет из моды. На сей раз читайте про настройку xdebug для сложных случаев. Хештеги: #windows #virtualbox #sshtunnel #docker #phpstorm.
Читать дальше →

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

Дайджест интересных материалов из мира Drupal #17

Время на прочтение4 мин
Количество просмотров5.6K
Привет!
Мы собираем полезные статьи и свежие новости из мира Drupal и делимся с вами раз в месяц. Встречайте первый выпуск в этом году!



По-русски


  1. Начнём с написания своего модуля для Drupal 8. В результате получится простая страничка собственного приготовления.
  2. 24 февраля заканчивается поддержка Drupal 6. Самое время переезжать на восьмёрку, ну или по крайней мере на семёрку. В первом случае смотрите доклад Андрея Березовского, во втором — читайте статью в блоге angarsky.ru.
  3. Мария Шерскова о подключении JS в теме Drupal 8.
  4. Блог nightdevel.ru продолжает радовать развёрнутыми статьями по семёрке. В этот раз рассмотрены базовые инструменты создания своих типов сущностей. Стоит отметить, что и Entity API, и ECK — темы очень объемные и целиком в статью, конечно, не влезли.
  5. Немного о DevOps. Перевод базы Drupal сайта с MyISAM на InnoDB.
  6. Настройка Docker-контейнера с Apache Solr для локальной разработки.
  7. К новостям сообщества. Группа активных участников Drupal-сообщества работает над проектом Российской Drupal-ассоциации. Это важный шаг для объединения и усиления локального сообщества как внутри страны так и в масштабах всего рынка. Чтобы присоединиться к рабочей группе, пожалуйста, заполните эту форму.

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

Дайджест интересных материалов из мира Drupal #16

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

Мы собираем полезные статьи и свежие новости из мира Drupal и делимся с вами раз в месяц. Встречайте новогодний выпуск!



По-русски


  1. Хабр разворачивает Drupal 8: cначала докером, потом Otto, наследником Vagrant.
  2. Как в восьмёрке сделать банальный $node->save() читайте в заметке Drupal 8: Программное создание сущностей Никиты Малышева.
  3. Тот же автор продолжает: как добавить в восьмёрку семантическую разметку и не умереть (это про JSON-LD).
  4. «Что случилось с hook_menu в Drupal 8?» — перевод отличной статьи луллаботов для хабра.
  5. Блоггер Tlito записал свои заметки о восьмёрке для новичков, не знакомых ни с программированием, ни даже с друпалом (1, 2).
  6. @xandeadx написал модуль-хелпер, позволяющий выполнить всю очередь в фоне без вылета по таймауту — Background Queue.
  7. Он же показывает на красивом примере, как использовать теги db-запросов во Views: Необязательное одно из двух значений раскрытого фильтра с оператором BETWEEN
  8. Обзор методов работы с AJAX с примерами кода.
  9. После того, как AJAX-заработал, можно заняться стилизацией стандартной иконки лоадера.
  10. К новостям сообщества. Первоначальный владелец домена drupal.ru опубликовал прощальное письмо и анонсировал передачу домена из своих рук.
  11. На Dru.io, другом сайте сообщества, активно проходят спринты по переводам восьмёрки. Присоединяйтесь!
  12. Питерское сообщество опубликовало презентации и видео четырёх докладов по Drupal 8.
  13. Отгремел DrupalCamp Siberia 2015 в Новосибирске. Пока официальные материалы обрабатываются и выкладываются, можно посмотреть экранку из нашего спец.выпуска (хочу такое получать).

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

Разворачиваем Drupal 8 с помощью Otto

Время на прочтение5 мин
Количество просмотров6.1K
Этот пост получился в результате моего ознакомления с Otto, одним из последних продуктов Hashicorp, о котором уже была обзорная статья на хабре.

Мой пост носит более практический характер. Я решил поднять на otto стандартный проект, чтобы сразу не наткнуться на тонкости настройки, а чтобы было интересно, выбрал Drupal 8, вышедший недавно.

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

Что случилось с hook_menu в Drupal 8?

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


В связи с недавним выходом стабильной версии Drupal 8, решил внести свой небольшой вклад, и перевести небольшую статью. Это очень вольный перевод статьи What Happened to Hook_Menu in Drupal 8? от Lullabot'ов. Надеюсь, что кому-нибудь пригодится.

В Drupal 7 и более ранних версиях, hook_menu был как швейцарский нож. Он отвечал практически за все: пути страниц, обработчики меню, вкладки и локальные задачи, контекстные ссылки, управление доступом, аргументы и параметры, обработчики форм, и даже устанавливал пункты меню. В моей книге, это самый часто используемый hook из всех. Я не знаю, ни одного модуля в котором, я не реализовывал бы hook_menu.

Но, в Drupal 8 все изменилось. Этого очень важного hook'a больше нет, и теперь все эти задачи решаются отдельно, используя систему YAML файлов, в которых нужно описать метаданные о каждом элементе и соответствующие ему PHP классы, которые обеспечивают логику.

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

Так же я хочу рассказать о ситуациях с которыми я столкнулся, во время переноса своего модуля с Drupal 7 на Drupal 8 и приведу примеры кода, до и после переноса.
Читать дальше →

Разворачиваем Drupal 8 с помощью Docker

Время на прочтение4 мин
Количество просмотров17K
В честь долгожданного релиза Drupal 8 я сегодня расскажу как установить его с помощью Docker.


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

Дайджест интересных материалов из мира Drupal #15

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

19 ноября в мире Drupal произошло важное событие — релиз Drupal 8.0.0. Об этом уже успели написать везде от хабра до Hacker News. Мы решили собрать самое главное здесь, в нашем спецвыпуске №15.


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

Drupal 8. Обучающие материалы и не только

Время на прочтение5 мин
Количество просмотров38K
Друзья, вы мне, конечно [1] [2], не поверите, но вышел Drupal 8. В последнее время поступает достаточно много вопросов на тему того, что почитать, посмотреть, послушать для изучения восьмерки. Очень многие чувствуют себя не вполне уверенно и задаются вопросами: переходить на неё или не переходить, жив Drupal или нет, и всем прочим.

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

image

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

Вклад авторов