Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

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

898 views

Published on

Докладчик: Катя Маршалкина. Об изменениях в новой версии Drupal.

Published in: Software
  • Be the first to comment

  • Be the first to like this

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

  1. 1. 1000 и 1 вопрос про… Drupal 8
  2. 2. Ритейл Навигатор http://retail-navigator.ru При поддержке…
  3. 3. DrupalSPB.org При поддержке…
  4. 4. http://drupalspb.org/articles/kalabro/top-10-populyarnyh-voprosov-i-otvetov-pro-drupal
  5. 5. Drupal Answershttp://drupal.stackexchange.com
  6. 6. 1. Как сбросить кеш? drush rebuild или /rebuild.php drush cc тоже работает: > drush cc render
  7. 7. 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$', );
  8. 8. 3. Конфиги хранятся в базе? По умолчанию — да. config.storage.active: class: DrupalCoreConfigDatabaseStorage config.storage.staging: class: DrupalCoreConfigFileStorage
  9. 9. 4. Как проверить, залогинен ли юзер? if (Drupal::currentUser()->isAnonymous()) { // Anonymous user... }
  10. 10. 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() );
  11. 11. 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()
  12. 12. 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
  13. 13. 8. Как загрузить иерархнию терминов? Drupal::entityTypeManager()->getStorage('taxonomy_term')->loadTree('tags')
  14. 14. 9. Как отрендерить блок программно? $block = DrupalblockEntityBlock::load('bartik_search'); $output = Drupal::entityTypeManager() ->getViewBuilder('block') ->view($block);
  15. 15. 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'; } }
  16. 16. 11. Как __Ваш_Вопрос__? • Настроить IDE • Читать ядро • Читать портированные модули и примеры • Читать дайджест
  17. 17. http://eepurl.com/bhCjRb http://camp.drupalsib.ru @kalabro http://habrahabr.ru/search/?q=%5Bdrupal-digest%5D Друпал-дайджест на хабре Рассылка и спецвыпуски Drupal-конференция 18-20 декабря По-английски
  18. 18. #Celebr8D8

×