Замена функций в Drupal 8

Опубликовано 2016.09.05 в разделе Drupal.

Замена привычного для 6 и 7 версий кода на Drupal 8.
  1. //было
  2. variable_set('key','value')
  3.  
  4. //стало
  5. \Drupal::state()->set('key','value');
  6.  
  7.  
  8. //было
  9. variable_get('key','value')
  10.  
  11. //стало
  12. $val = \Drupal::state()->get('key');
  13.  
  14.  
  15. //было
  16. variable_del('key')
  17.  
  18. //стало
  19. $val = \Drupal::state()->delete('key');
  20.  
  21.  
  22. //и даже так ещё стало
  23. $values = [
  24. 'key' => 'value',
  25. 'key2' => 'value2'
  26. ];
  27. \Drupal::state()->setMultiple($values);
  28.  
  29. $keys = [
  30. 'key',
  31. 'key2'
  32. ];
  33. $pairs = \Drupal::state()->getMultiple($keys);
  34.  
  35. //было
  36. watchdog('type', 'message');
  37.  
  38. //стало

Заметки по Drupal 8

Опубликовано 2016.08.26 в разделе Drupal.

Получить строчку из таблицы config
  1. //например конфиг block.block.bartik_tools
  2.  
  3. //вытянет всё
  4. $conf = \Drupal::config('block.block.bartik_tools')->get();
  5.  
  6. //покажет только элемент 'region'
  7. $conf = \Drupal::config('block.block.bartik_tools')->get('region');
  8.  
  9. //посмотреть
  10. kint($conf);
Программный вывод блока
  1. //id блока. Например system_powered_by_block,shortcuts или search_form_block
  2. $bid = 'system_powered_by_block';
  3. $block_manager = \Drupal::service('plugin.manager.block');
  4. $config = array();

Создание новостного блока в Drupal 8

Опубликовано 2015.04.04 в разделе Drupal.

Вначале напишем задачу и будем поэтапно её решать:
  • 1. Необходимо создать на сайте новости.
  • 2. В новости помимо текста должна быть картинка.
  • 3. Комментировать новости запрещено.
  • 4. Новости должны сохраняться в разделах "Политика", "Экономика", "События" и "Разное".
  • 5. Вывести блок из последних 5 новостей. В блоке должна быть маленькая картинка новости, заголовок и дата публикации.
Решение: Вначале нужно создать материал типа "Новости". Я уже объяснял ка создать тип материала, поэтому расскажу вкратце.

Установка модулей в Drupal 8

Опубликовано 2015.04.04 в разделе Drupal.

Ранее я уже вкратце говорил что такое модуль, для чего он нужен и где его следует хранить. Давайте установим свой первый модуль. Пусть это будет модуль Devel https://www.drupal.org/project/devel Качайте zip архив для 8 версии, распаковывайте и сохраняйте в sites/all/modules. Папок all и modules у вас нет-создавайте их. В свежих версиях друпала кидайте модули сразу в папку modules. Выглядеть у вас это должно вот так: установка Drupal 8

Расположение блоков на странице в Drupal 8

Опубликовано 2015.04.04 в разделе Drupal.

Чтобы разместить блоки на сайте-заходит в Структура->Схема блоков Как я уже говорил - в теме определены регионы, в нашем случае это регионы с именами Шапка,Primary menu,Дополнительные ссылки и так далее. Чтобы понять, где эти регионы находятся - жмите на "Demonstrate block regions" установка Drupal 8 В таком предпросмотре вы сразу сориентируетесь в какой регион вам нужно добавить блок, чтобы он попал в правую колонку, в левую или в подвал.

Знакомство с интерфейсом, работа с материалами в Drupal 8.

Опубликовано 2015.04.04 в разделе Drupal.

Я сразу выделил основные функциональные блоки. Разными цветами выделены разные функциональные блоки. красный - блок желтый - представление, он же вьюс или views фиолетовый - меню, обёрнутое в блок зелёный - область сообщений установка Drupal 8 У вас сразу же возникнет вопрос-почему именно эти блоки, почему на этих местах и как их можно изменить?

Обзор Drupal 8

Опубликовано 2012.02.19 в разделе Drupal.

Решил поставить на локальную машину Drupal 8. Сразу обратил внимание что папок в корне CMS стало меньше.Появилась папка core, в которую и переехала часть прежних папок.Думаю это несомненно плюс.С такой структурой новички не будут сломя голову загружать свои модули в папку с модулями ялра,как это делали в предыдущих версиях,вплоть до седьмой.Сам Drupal решил поставить на PHP 5.4. Ошибки были даже на стадии установки. В админке тоже некоторые функции не отрабатывались,не удалось даже включить несколько модулей.