Drupal 8 API для разработчиков
Transcript of Drupal 8 API для разработчиков
![Page 1: Drupal 8 API для разработчиков](https://reader030.fdocument.pub/reader030/viewer/2022012404/587c64381a28ab633c8b669b/html5/thumbnails/1.jpg)
![Page 2: Drupal 8 API для разработчиков](https://reader030.fdocument.pub/reader030/viewer/2022012404/587c64381a28ab633c8b669b/html5/thumbnails/2.jpg)
![Page 3: Drupal 8 API для разработчиков](https://reader030.fdocument.pub/reader030/viewer/2022012404/587c64381a28ab633c8b669b/html5/thumbnails/3.jpg)
1000 и 1 вопрос про…
Drupal 8
![Page 4: Drupal 8 API для разработчиков](https://reader030.fdocument.pub/reader030/viewer/2022012404/587c64381a28ab633c8b669b/html5/thumbnails/4.jpg)
Ритейл Навигатор
http://retail-navigator.ru
При поддержке…
![Page 5: Drupal 8 API для разработчиков](https://reader030.fdocument.pub/reader030/viewer/2022012404/587c64381a28ab633c8b669b/html5/thumbnails/5.jpg)
DrupalSPB.org
При поддержке…
![Page 6: Drupal 8 API для разработчиков](https://reader030.fdocument.pub/reader030/viewer/2022012404/587c64381a28ab633c8b669b/html5/thumbnails/6.jpg)
http://drupalspb.org/articles/kalabro/top-10-populyarnyh-voprosov-i-otvetov-pro-drupal
![Page 8: Drupal 8 API для разработчиков](https://reader030.fdocument.pub/reader030/viewer/2022012404/587c64381a28ab633c8b669b/html5/thumbnails/8.jpg)
1. Как сбросить кеш?drush rebuild или /rebuild.php
drush cc тоже работает:> drush cc render
![Page 9: Drupal 8 API для разработчиков](https://reader030.fdocument.pub/reader030/viewer/2022012404/587c64381a28ab633c8b669b/html5/thumbnails/9.jpg)
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 для разработчиков](https://reader030.fdocument.pub/reader030/viewer/2022012404/587c64381a28ab633c8b669b/html5/thumbnails/10.jpg)
3. Конфиги хранятся в базе?По умолчанию — да.config.storage.active: class: Drupal\Core\Config\DatabaseStorage
config.storage.staging: class: Drupal\Core\Config\FileStorage
![Page 11: Drupal 8 API для разработчиков](https://reader030.fdocument.pub/reader030/viewer/2022012404/587c64381a28ab633c8b669b/html5/thumbnails/11.jpg)
4. Как проверить, залогинен ли юзер?
if (\Drupal::currentUser()->isAnonymous()) { // Anonymous user...}
![Page 12: Drupal 8 API для разработчиков](https://reader030.fdocument.pub/reader030/viewer/2022012404/587c64381a28ab633c8b669b/html5/thumbnails/12.jpg)
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 для разработчиков](https://reader030.fdocument.pub/reader030/viewer/2022012404/587c64381a28ab633c8b669b/html5/thumbnails/13.jpg)
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 для разработчиков](https://reader030.fdocument.pub/reader030/viewer/2022012404/587c64381a28ab633c8b669b/html5/thumbnails/14.jpg)
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 для разработчиков](https://reader030.fdocument.pub/reader030/viewer/2022012404/587c64381a28ab633c8b669b/html5/thumbnails/15.jpg)
8. Как загрузить иерархнию терминов?
\Drupal::entityTypeManager()->getStorage('taxonomy_term')->loadTree('tags')
![Page 16: Drupal 8 API для разработчиков](https://reader030.fdocument.pub/reader030/viewer/2022012404/587c64381a28ab633c8b669b/html5/thumbnails/16.jpg)
9. Как отрендерить блок программно?
$block = \Drupal\block\Entity\Block::load('bartik_search');$output = \Drupal::entityTypeManager() ->getViewBuilder('block') ->view($block);
![Page 17: Drupal 8 API для разработчиков](https://reader030.fdocument.pub/reader030/viewer/2022012404/587c64381a28ab633c8b669b/html5/thumbnails/17.jpg)
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 для разработчиков](https://reader030.fdocument.pub/reader030/viewer/2022012404/587c64381a28ab633c8b669b/html5/thumbnails/18.jpg)
11. Как __Ваш_Вопрос__?• Настроить IDE• Читать ядро• Читать портированные модули и примеры• Читать дайджест
![Page 19: Drupal 8 API для разработчиков](https://reader030.fdocument.pub/reader030/viewer/2022012404/587c64381a28ab633c8b669b/html5/thumbnails/19.jpg)
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 для разработчиков](https://reader030.fdocument.pub/reader030/viewer/2022012404/587c64381a28ab633c8b669b/html5/thumbnails/20.jpg)
![Page 21: Drupal 8 API для разработчиков](https://reader030.fdocument.pub/reader030/viewer/2022012404/587c64381a28ab633c8b669b/html5/thumbnails/21.jpg)
#Celebr8D8