Друпалургия

Видео: 20 фактов о мощи Drupal

Drupal в рунете - пт, 09/09/2016 - 17:44

О Drupal ходит много споров. А споры ходят вокруг любых великих творений. Взять хотя бы противостояние Mac OS, Windows и Linux.
Все эти системы хороши, но каждая для своих целей.

ГК i20 совместно с НП "ДрупалСиб" решили подготовить ответ для сомневающихся в могуществе Drupal и сняли фильм, в котором подробно объяснили, чем, почему и для кого Drupal подходит.

Фильм о Drupal представил Александр Воинов, президент НП “ДрупалСиб” в своем докладе на DrupalCamp Краснодар 2016. Видео нашло отклик в душах участников российского Drupal-сообщества и набрало множество лайков и репостов в первый же час своего присутствия в сети!

И это неудивительно, потому что видео отвечает на такие знакомые сообществу вопросы:
- Почему Drupal?
- А почему не другая CMS?
- Почему не чистый PHP?
- Для моего проекта точно подойдет?

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

Видео в студию:

Версия Drupal: Drupal 7.*Ключевые слова: DrupalCampинтернет-рынокdrupal marketDrupalCamp Krasnodar 11 Спасибо
Категории: Друпалургия

Обновление Drupal.ru от 28.08.2016

Drupal в рунете - пн, 29/08/2016 - 09:04


В обновление вошло:

  • Переход на php7
  • Обновление до Drupal 7.50

Идет подготовка к уменьшению входного порога для разработки Drupal.ru.

Если вы обнаружили проблемы после обновления, отпишите в этот пост

Версия Drupal: Drupal 7.* Форумы: Сайт и проект Drupal.ru5 Спасибо
Категории: Друпалургия

Drupal: Многошаговая форма на AJAX

Чтобы сделать навигацию по многошаговой форме на AJAX нужно:

1. Добавить форме div враппер с уникальным id:

$form['#prefix'] = '<div id="multistep-ajax-form-wrapper">'; $form['#suffix'] = '</div>';

2. Кнопкам Prev и Next добавить опцию #ajax:

'#ajax' => array( 'callback' => 'modulename_test_form_ajax_nav', 'wrapper' => 'multistep-ajax-form-wrapper', ),

3. Написать ajax callback, который будет просто обновлять форму:

/** * Ajax nav callback. */

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

Похожие записи:

Категории: Друпалургия

Drupal: Создание многошаговых форм (multistep form)

Пример создания формы из трёх шагов:

/** * Form builder. */ function modulename_test_form($form, &$form_state) { if (!isset($form_state['step'])) { $form_state['step'] = 1; $form_state['steps_values'] = array(); } $step = $form_state['step']; $max_step = 3; $values = &$form_state['values'];   // Step 1 if ($step == 1) { $form['firstname'] = array( '#type' => 'textfield', '#title' => 'First name', '#default_value' => isset($values['firstname']) ? $values['firstname'] : '', ); } // Step 2

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

Похожие записи:

Категории: Друпалургия

Drupal: Несколько одинаковых форм на одной странице

Пример вывода нескольких одинаковых форм на одной странице:

/** * Implements hook_menu(). */ function modulename_menu() { $items = array();   $items['forms'] = array( 'title' => 'Forms', 'page callback' => 'modulename_multiple_forms', 'access callback' => TRUE, );   return $items; }   /** * Page callback. */ function modulename_multiple_forms() { $build = array();   for ($i = 0; $i < 3; $i++) { $build[] = drupal_get_form('modulename_test_form_' . $i, $i); }   return $build; }   /** * Implements hook_forms(). */

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

Похожие записи:

Категории: Друпалургия

Drupal: Добавить в Commerce валюту BYN

Способ добавить в Drupal Commerce новую белорусскую валюту BYN:

/** * Implements hook_commerce_currency_info(). */ function MODULENAME_commerce_currency_info() { return array ( 'BYN' => array( 'code' => 'BYN', 'numeric_code' => '933', 'symbol' => 'руб.', 'name' => t('Belarusian ruble'), 'symbol_placement' => 'after', 'code_placement' => 'hidden', 'minor_unit' => t('Kopek'), 'major_unit' => t('Ruble'), 'rounding_step' => '0', 'thousands_separator' => ' ', 'decimal_separator' => ',', ),

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

Похожие записи:

Категории: Друпалургия

Ура, открыта регистрация на DrupalCafe #18!

Drupal в рунете - чт, 14/07/2016 - 00:02

Долгожданное DrupalCafe #18 состоится 23-го июля с 12:00 до 16:00 по адресу: Новосибирск, Красина, 54, офис 602.

В этот раз мы приготовили для вас целых 6 докладов, половина из которых затрагивает самую животрепещущую тему мира Drupal на сегодняшний день - Drupal 8! Поделиться опытом работы с ним к нам приедут гости из Омска!


В общем, Кафе обещает быть очень интересным, мы сами уже ждем с нетерпением!

Если вас тоже мучает жажда новых знаний, регистрируйтесь по ссылке: https://goo.gl/xollyL

В программе:
1) Кузьменко Антон - WebForm vs EntityForm. Кто кого?
2) Жамбалова Намжилма - Реализация "гибких" списков
3) Крайнюк Михаил - Возводим динамическую таблицу. No Views, no problem
*Традиционное Drupal-чаепитие*
4) Лебедев Антон, Абраменко Иван - Contrib to Drupal 8 modules
5) Исай Руслан - Идеология Entity от Drupal 6 к Drupal 8
6) Абраменко Иван - Migrate Drupal 6 to Drupal 8

Подробности по мероприятию можно узнать
- по телефону: +7 (923) 148-55-34;
- по почте: hello@drupalsib.ru

Источник Инвент

Ключевые слова: DrupalCafe #18 Форумы: DrupalSib1 Спасибо
Категории: Друпалургия

Множественные уязвимости в contib модулях Drupal 7.x

Drupal в рунете - ср, 13/07/2016 - 01:40

Команда безопасности выпустила уведомление DRUPAL-PSA-2016-001.

Это предупреждение о том, что завтра в 16:00 по UTC времени (19:00 по Московсокму времени) будет уведомление о уязвимостях вызова PHP кода в contrib модулях.

Судя по тому, что модули, на которые намекают, установлены на 1,000 до 10,000 сайтах, модули не очень популярные.

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

Версия Drupal: Drupal 7.* Форумы: Безопасность4 Спасибо
Категории: Друпалургия

Создание своей темы в backdrop cms

Drupal в рунете - вс, 10/07/2016 - 13:52

​​​​Темы в backdrop создаются почти точно так же как и в drupal 7, за исключением некоторых приятных моментов.

Разработчики backdrop создали модуль layout, который генерирует шаблоны страниц и размножать шаблоны page.tpl.php в папке templates темы для кастомизации не обязательно.

Вот страница макетов

Как видите макеты предоставлены на любой вкус. Выбирайте любой и в путь.

Стоп!

А где же тема?

Создаём тему

Назовём её light

Создаём директорию light

В директории light создаём файл light.info следующего содержания

name = Light
description = The started theme for Backdrop CMS.
version = BACKDROP_VERSION
type = theme
backdrop = 1.x
stylesheets[all][] = css/style.css
scripts[] = js/script.js

project = backdrop
version = 1
timestamp = 100000000

Почти как в drupal 7 ))

Ой, вы не увидели регионы как это было  в семерке.

Здесь это в принципе и не нужно.

Выше было упоминание за layout. Это его заслуга.

Далее как обычно в семерке вы создаете папки css, js, images, templates

В папке css располагаете файлы css

В папке js файлы js

В папке templates шаблоны.

Вам могут пригодиться шаблоны node.tpl.php и comment.tpl.php. Можно скопировать их из ядра backdrop.

Если нужно различное html отображение для тизера и полной ноды, то в node.tpl.php можно прописать проверку

<?php if($teaser): ?>

разметка тизера ноды

<?php endif; ?>

 <?php if(!$teaser): ?>

разметка полной ноды

<?php endif; ?>

Добавление кастомных блоков в регионы в backdrop реализованы немного иначе. Страницы отображения блоков здесь нет. Они отображаются в настройках layout

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

Благодаря плагину в браузере firefox firebug

писать стили будет удобно.

Вы можете пойти другим путём и выбрать одну из тем, предоставляемых backdrop и изменять её

Но со своей темой будет всё же проще.

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

Оригинал заметки http://mihail.space/post/sozdanie-temy-v-backdrop-cms

Версия Drupal: Backdrop 1.4.x Форумы: Дизайн и вёрстка4 Спасибо
Категории: Друпалургия

Вышел Drupal 7.50 (следующий после 7.44) и Drupal 8.1.3

Drupal в рунете - вс, 10/07/2016 - 06:02

7 июля прошло обновление Drupal 7 на 7.50
а 15 Июня были обновления Drupal 7.44 и Drupal 8.1.3

Обновления Drupal 7.44 и Drupal 8.1.3 были обновлениями по безопасности - смотрите https://www.drupal.org/SA-CORE-2016-002

Теперь немного подробнее про Drupal 7.50
Самое заметное - это прыжок с 7.44 на 7.50.
Говорят, это сделано, чтоб показать важность и обьем изменений сделаных в релизе.

Коротко о новом:
- administer fields права доступа, для управления полями. Теперь не нужно быть администратором для управления полями.
- зашита от clickjacking. По сути защита от того, чтоб ваш сайт не мог работать в iframe на другом домене.
- поддержка emojis. Теперь можно вставлять и сохранять emojis.
- PHP 7 совместимость. Но я бы хотел предупредить что большая часть contrib модулей и тем для Drupal 7 или будут работать с ошибками или порождать WSOD. Если решитесь пробовать, не забудьте про бекапы. Они пригодятся.
- Улучшения производительности в случае если Drupal пробует найти файл которого больше нет в системе.
- изменения в robots.txt для разрешения поисковикам индексировать css и картинки.

Детальнее по релизу читайте в CHANGELOG

Недавно я писал про новых разработчиков: Fabian Franz (Fabianx) и Stefan Ruijsenaars (stefan.r)

Как видно, выбор был сделан верным и ребята стараются.
Fabian Franz (Fabianx) проявил интерес к недавним изменениям в BackdropCMS а именно ускорения работы тестов ядра.

В issue 2759197 идет портирование моего патча 1366 - который позволил в 2 раза ускорить тесты ядра BackdropCMS.

К сожалению в релиз 7.50 изменения не вошли но ожидается что они будут в 7.60.

Версия Drupal: Drupal 7.* 4 Спасибо
Категории: Друпалургия

Javascript: Вывести карту из конструктора Яндекс.Карт в jQuery UI Dialog

Пример вывода карты, созданной в конструкторе Яндекс.Карт в jQuery UI Dialog:

$('<div id="map"></div>').dialog({ open: function() { var mapScript = document.createElement('script'); mapScript.src = 'https://api-maps.yandex.ru/services/constructor/1.0/js/?sid=...&lang=ru_RU&sourceType=constructor&scroll=true'; this.appendChild(mapScript); }, close: function() { $(this).remove(); }, title: 'Карта', width: 500, height: 400, modal: true });

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

Похожие записи:

Категории: Друпалургия

Drupal: Добавить в токен [term:parents:*] текущий термин

Понадобилось в Metatag вывести через запятую иерархию имён термина. Нашёл токен [term:parents:join:, ], но проблема в том, что в него не входит текущий термин. Пришлось реализовать свой токен [term:parents-with-current:*]:

/** * Implements hook_token_info(). */ function MODULENAME_token_info() { $info['tokens']['term']['parents-with-current'] = array( 'name' => t('Parents with current term'), 'description' => t("An array of all the term's parents with current term, starting with the root."), 'type' => 'array', );

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

Похожие записи:

Категории: Друпалургия

Новые со-разработчики ядра Drupal 7 - Fabianx и stefan.r

Drupal в рунете - пт, 24/06/2016 - 06:43

Сегодня, 23 Июня, Дрис обьявил о том, что 2 разработчика: Fabian Franz (Fabianx) и Stefan Ruijsenaars (stefan.r) были назначены ответственными за поддержку Drupal 7.

Ссылка на оригинал: https://groups.drupal.org/node/512271

Вольный перевод:

Ранее в этом году, я объявил, что ищу дополнительных разработчиков Drupal 7 для того, чтобы помочь неутомимому David Rothstein .

Большое спасибо всем, кто откликнулся на призыв: были старательные и квалифицированные заявки!

Я выбрал Fabian Franz (Fabianx) и Stefan Ruijsenaars (stefan.r) , которых David тоже предлагал.

Недавно я попросил их потвердить, своё согласие стать co-maintainers Drupal 7 , и я рад Вам сообщить, что они оба восторженно согласились!
Фабиан будет сопровождать Framework Manager Drupal 7, а Стефан будет менеджером версии Drupal 7, а так же Дэвид будет продолжать играть свою роль в курировании Framework Manager.

Фабиан у нас - из Германии, он старший инженер производства и технический руководитель на Tag1 Consulting.
Он всегда готов к вызовам, и является частью сообщества Drupal уже более 6 лет. Он уже был ответственнен за подсистему темизации, и он сделал инновационную работу с точки зрения масштабируемости и высокой производительности для Drupal (BigPipe!). Он вообще увлечён Open Source, с момента рождения GNU, которая, так случилось, была основана в день его рождения.

Стефан родом из Нидерландов, он фрилансер, и в настоящее время работает с бельгийскими правительственными клиентами. Он является частью сообщества Drupal с момента своего первого Drupalcon в Szeged в 2008 году, а недавно стал членом команды безопасности Drupal.

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

Пожалуйста, поприветствуем Fabian Franz (Fabianx) и Stefan Ruijsenaars (stefan.r) в рядах основных коммиттеров команды Drupal 7! (И если вам случится быть в Drupal Developer Days Милан, вы можете пожать руку Стефана лично! :-))

Dries Buytaert

PS: спасибо   andypost и  Director-cemetery за подготовку материала к публикации.

2 Спасибо
Категории: Друпалургия

Очередная уязвимость Друпал

Drupal в рунете - пт, 17/06/2016 - 14:27

В ядре Друпала обнаружили очередную уязвимость - https://www.drupal.org/SA-CORE-2016-002 - любопытно, что она есть как в семерке, так и в восьмерке (я-то думал, что восьмерку переписали полностью), обновляйте в общем:)

2 Спасибо
Категории: Друпалургия

Видеоподкасты Drupalim и гости

Drupal в рунете - чт, 09/06/2016 - 22:27

Всем привет! Мы с ребятами записываем в прямых эфирах мысли вслух. И эти мысли порой бывают интересные. Многие из вас уже видели наши выпуски здесь https://www.youtube.com/user/DrupalBY/videos или здесь http://podcasts.dru.io/.

И сегодня я пришёл не просто поприветствовать вас и похвалиться каналом. В следующий четверг в 17:30 (или около того) мы планируем следующий эфир. Это очень важно для нас выходить регулярно. Но даже не это главная новость. Новость в том, что мы приглашаем каждый раз Друпалера (желательно со стажем и с большой буквы). И 16 июня с нами будет GOR, Gor Martsen.

Гор обещал рассказать про его работу над ядром и новыми фичами. А так же пообещал мне ответить на многие вопросы, которые накопились к нему от друпал-комьюнити и от меня лично. И именно по этому я сегодня и здесь.

  • Если у вас есть вопросы к Егору, то задавайте их здесь в каментах или сообщите их мне лично в скайп(ptchom).
  • Если вы хотите побеседовать с нами в прямом эфире, то велкам в личку скайпа (ptchom).
  • Если у вас есть замечания, предложения и умные мысли, а я уверен, что есть, то всё недовольство и довольство принимается здесь, в личке, в каментах к видику и просто в любом друпал-чате.

Спасибо!

Ключевые слова: подкасты 7 Спасибо
Категории: Друпалургия

Drupal: Добавить в мета-тег canonical номер текущей страницы

Модуль Metatag не позволяет с помощью токенов добавить в canonical номер текущей страницы. Создадим собственный токен [current-page:url:with-current-pager]:

/** * Implements hook_token_info(). */ function modulename_token_info() { return array( 'tokens' => array( 'url' => array( 'with-current-pager' => array( 'name' => t('URL with current page number'), 'description' => t('URL with current page number'), ), ), ), ); }   /** * Implements hook_tokens(). */

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

Похожие записи:

Категории: Друпалургия

Drupal: Программно удалить все термины из словаря

Программное удаление всех терминов из словаря с vid=1:

$vocabulary_vid = 1;   $root_terms = taxonomy_get_tree($vocabulary_vid, 0, 1); foreach ($root_terms as $term) { taxonomy_term_delete($term->tid); }

Комментарии

Похожие записи:

Категории: Друпалургия

Drupal: Универсальная очередь для выполнения произвольных функций

Часто хочется выполнить отложенно какие-то функции, без описания очереди в hook_cron_queue_info() и реализации worker callback-a. Сделать это можно несколькими строчками кода:

/** * Implements hook_cron_queue_info(). */ function modulename_cron_queue_info() { $queues['universal_queue'] = array( 'worker callback' => 'modulename_universal_queue_callback', ); return $queues; }   /** * Universal queue worker callback. */ function modulename_universal_queue_callback($data) { if (isset($data['file'])) {

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

Похожие записи:

Категории: Друпалургия

Drupal: Bad Practices

Список худших практик в друпале, в противовес к Best Practices:

  1. Игнорирование coding standards. Самая распространённая ошибка как новичков, так и бывалых. Стандарты кодирования - первое что должен выучить друпал разработчик.

  2. Транслит в машинных именах. Когда разработчик называет что-то в духе novosti, field_razdel, razmeri, где-то умирает котик.

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

Похожие записи:

Категории: Друпалургия

Страницы

Подписка на Друпалургия сбор новостей - Друпалургия