Drupal 8 API для разработчиков

21

Transcript of Drupal 8 API для разработчиков

Page 1: Drupal 8 API для разработчиков
Page 2: Drupal 8 API для разработчиков
Page 3: Drupal 8 API для разработчиков

1000 и 1 вопрос про…

Drupal 8

Page 4: Drupal 8 API для разработчиков

Ритейл Навигатор

http://retail-navigator.ru

При поддержке…

Page 5: Drupal 8 API для разработчиков

DrupalSPB.org

При поддержке…

Page 6: Drupal 8 API для разработчиков

http://drupalspb.org/articles/kalabro/top-10-populyarnyh-voprosov-i-otvetov-pro-drupal

Page 7: Drupal 8 API для разработчиков

Drupal Answershttp://drupal.stackexchange.com

Page 8: Drupal 8 API для разработчиков

1. Как сбросить кеш?drush rebuild или /rebuild.php

drush cc тоже работает:> drush cc render

Page 9: Drupal 8 API для разработчиков

2. Ошибка  “The provided host name is not valid for this server”

Вместо $base_url теперь $settings['trusted_host_patterns'] = array( '^example\.com$', '^.+\.example\.com$', '^example\.org$', '^.+\.example\.org$',);

Page 10: Drupal 8 API для разработчиков

3. Конфиги хранятся в базе?По умолчанию — да.config.storage.active: class: Drupal\Core\Config\DatabaseStorage

config.storage.staging: class: Drupal\Core\Config\FileStorage

Page 11: Drupal 8 API для разработчиков

4. Как проверить, залогинен ли юзер?

if (\Drupal::currentUser()->isAnonymous()) { // Anonymous user...}

Page 12: Drupal 8 API для разработчиков

5. Как сделать запрос к базе?$query = \Drupal::database()->select('node', 'n');//$query->join('node_field_data', 'nf', 'n.nid = nf.nid');//$query->condition('nf.langcode', 'en');//$query->fields('nf');

dpm( $query->fields('n') ->execute() ->fetchAll());

Page 13: Drupal 8 API для разработчиков

6. Как получить nid текущей ноды?

$node = \Drupal::routeMatch()->getParameter('node');if ($node) { // You can get nid and anything else you need from the node object.}

aka menu_get_object()

Page 14: Drupal 8 API для разработчиков

7. Как обращаться к филдам?

$node->body->value

$node->uid->entity->mail->value

// First tag. $node->field_tags->entity->name-

>value // Second tag.

$node->field_tags[1]->entity->name->value

Page 15: Drupal 8 API для разработчиков

8. Как загрузить иерархнию терминов?

\Drupal::entityTypeManager()->getStorage('taxonomy_term')->loadTree('tags')

Page 16: Drupal 8 API для разработчиков

9. Как отрендерить блок программно?

$block = \Drupal\block\Entity\Block::load('bartik_search');$output = \Drupal::entityTypeManager() ->getViewBuilder('block') ->view($block);

Page 17: Drupal 8 API для разработчиков

10. Как добавить на страницу JS?/** * Implements hook_page_attachments(). */function yourmodule_page_attachments(&$page) { // This returns TRUE for admin paths. if (!\Drupal::service('router.admin_context')->isAdminRoute()) { $page['#attached']['library'][] = 'yourmodule/yourlibrary'; }}

Page 18: Drupal 8 API для разработчиков

11. Как __Ваш_Вопрос__?• Настроить IDE• Читать ядро• Читать портированные модули и примеры• Читать дайджест

Page 19: Drupal 8 API для разработчиков

http://eepurl.com/bhCjRb

http://camp.drupalsib.ru

@kalabro

http://habrahabr.ru/search/?q=%5Bdrupal-digest%5D

Друпал-дайджест на хабре

Рассылка и спецвыпуски

Drupal-конференция 18-20 декабря

По-английски

Page 20: Drupal 8 API для разработчиков
Page 21: Drupal 8 API для разработчиков

#Celebr8D8