SlideShare a Scribd company logo
1 of 30
Download to read offline
Contrib to Drupal 8 modules
Image Effects, Clean Pagination, Blog
/ CTO
/ Drupal developer
Anton Lebedev CimpleO
Ivan Abramenko CimpleO
Image Effects:
Progressive/Interlace, Perspective
Progressive/Interlace
http://www.wpexplorer.com/optimize-images-wordpress-
guide/
Progressive/Interlace
https://www.drupal.org/node/2751175
Два toolkit'a:
gd2
imagemagick
Тестирование
ImageMagick
PHP code
Image Effects: Perspective
Image Effects: Perspective
Drupal 8: https://www.drupal.org/sandbox/lebster/2758393
Drupal 7: https://www.drupal.org/sandbox/lebster/2758383
Image Effects: Perspective
Семмитричная и ассимитричная
Тестирование
Anti-aliasing по краям.
Clean Paginator
Clean Paginator
?page=1 => page/1
https://www.drupal.org/sandbox/lebster/2756927
https://www.drupal.org/node/2756947
Базовые функции модуля Clean Paginator
на Drupal 7:
hook_init()
hook_boot()
drupal_match_path()
hook_init() removed in Drupal 8 :(
https://www.drupal.org/node/2013014
D7 code:
function mymodule_init() { 
  // Code here. 
} 
D8 code
mymodule.services.yml:
services: 
  mymodule_event_subscriber: 
  class: DrupalmymoduleEventSubscriberMymoduleSubscriber 
  tags: 
    ­ {name: event_subscriber}
/src/Plugin/EventSubsciber/MymoduleSubscriber.php:
namespace DrupalmymoduleEventSubscriber; 
use SymfonyComponentHttpFoundationRedirectResponse; 
use SymfonyComponentHttpKernelKernelEvents; 
use SymfonyComponentHttpKernelEventGetResponseEvent; 
use SymfonyComponentEventDispatcherEventSubscriberInterface; 
class MymoduleSubscriber implements EventSubscriberInterface { 
  public function checkForRedirection(GetResponseEvent $event) { 
    // Code here. 
  } 
  /** 
  * {@inheritdoc} 
  */ 
  public static function getSubscribedEvents() { 
    $events[KernelEvents::REQUEST][] = array('checkForRedirection'); 
    return $events; 
hook_boot() removed from Drupal 8 :(
https://www.drupal.org/node/1909596
D7 code:
mymodule_boot(){ 
  // Code here. 
}
D8 code:
В документации абсолютно такой же EventSubscriber, как
и заменитель hook_init()
mradcliffe commented 3 years ago 
Okay, yeah, this documentation is bad, but there is a different way now. 
           
          
Вместо hook_book(), можно использовать MiddleStack
plugin.
Если нет документации, пиши комментарий:
https://www.drupal.org/node/1909596#comment-
11384523
Модуль Blog
Blog - удален из ядра друпала
https://www.drupal.org/node/233301
Коммиты в модуль Blog:
https://www.drupal.org/node/2699311
https://www.drupal.org/node/2671744
https://www.drupal.org/node/2655912
Изменения в Drupal 8 Blog:
Все перенесли на Views, как и в ядре главная страница.
Добавили весь функционал из 7ой версии.
Зачем нужен модуль blog?
Унификация контент типа, полей, таксономии дает
возможность наращивать функционал дополнительными
модулями
dependencies: 
  ­ blog
Унификация машинного имени
контент типа:
blog
blog_entry
blog_post
Дополнительные модули для блога:
https://www.drupal.org/project/ exible_blogs
https://www.drupal.org/project/blogapi
https://www.drupal.org/project/blogs
Спасибо за внимание!
Contrib to Drupal 8 modules
Image Effects, Clean Pagination, Blog
/ CTO
/ Drupal developer
Anton Lebedev CimpleO
Ivan Abramenko CimpleO

More Related Content

More from DrupalSib

More from DrupalSib (20)

SSO авторизация - Татьяна Киселева, DrupalJedi
SSO авторизация - Татьяна Киселева, DrupalJediSSO авторизация - Татьяна Киселева, DrupalJedi
SSO авторизация - Татьяна Киселева, DrupalJedi
 
XML в крупных размерах - Михаил Крайнюк, DrupalJedi
XML в крупных размерах - Михаил Крайнюк, DrupalJediXML в крупных размерах - Михаил Крайнюк, DrupalJedi
XML в крупных размерах - Михаил Крайнюк, DrupalJedi
 
BigPipe: ускоряем загрузку страниц - Давид Пашаев, DrupalJedi
BigPipe: ускоряем загрузку страниц - Давид Пашаев, DrupalJediBigPipe: ускоряем загрузку страниц - Давид Пашаев, DrupalJedi
BigPipe: ускоряем загрузку страниц - Давид Пашаев, DrupalJedi
 
Drupal в школе - Борис Шрайнер
Drupal в школе - Борис ШрайнерDrupal в школе - Борис Шрайнер
Drupal в школе - Борис Шрайнер
 
Евгений Юдкин - Коммуникационные инструменты в отделе продаж на примере интег...
Евгений Юдкин - Коммуникационные инструменты в отделе продаж на примере интег...Евгений Юдкин - Коммуникационные инструменты в отделе продаж на примере интег...
Евгений Юдкин - Коммуникационные инструменты в отделе продаж на примере интег...
 
D8 - Serialize, Normalize - Михаил Крайнюк, DrupalJedi
D8 - Serialize, Normalize - Михаил Крайнюк, DrupalJediD8 - Serialize, Normalize - Михаил Крайнюк, DrupalJedi
D8 - Serialize, Normalize - Михаил Крайнюк, DrupalJedi
 
Drupal - создание инсталляционных профайлов - Иван Абраменко, CimpleO
Drupal - создание инсталляционных профайлов - Иван Абраменко, CimpleODrupal - создание инсталляционных профайлов - Иван Абраменко, CimpleO
Drupal - создание инсталляционных профайлов - Иван Абраменко, CimpleO
 
Migrate drupal 6 to drupal 8. Абраменко Иван
Migrate drupal 6 to drupal 8.  Абраменко ИванMigrate drupal 6 to drupal 8.  Абраменко Иван
Migrate drupal 6 to drupal 8. Абраменко Иван
 
Entity возрождение легенды. Исай Руслан
Entity возрождение легенды. Исай РусланEntity возрождение легенды. Исай Руслан
Entity возрождение легенды. Исай Руслан
 
Реализация “гибких” списков Жамбалова Намжилма
Реализация “гибких” списков Жамбалова Намжилма Реализация “гибких” списков Жамбалова Намжилма
Реализация “гибких” списков Жамбалова Намжилма
 
Eugene Ilyin. Why Drupal is cool?
Eugene Ilyin. Why Drupal is cool?Eugene Ilyin. Why Drupal is cool?
Eugene Ilyin. Why Drupal is cool?
 
Ivan Kotlyar. PostgreSQL in web applications
Ivan Kotlyar. PostgreSQL in web applicationsIvan Kotlyar. PostgreSQL in web applications
Ivan Kotlyar. PostgreSQL in web applications
 
Sergey Cherebedov. Deployment of the environment for Drupal using Ansible.
Sergey Cherebedov. Deployment of the environment for Drupal using Ansible.Sergey Cherebedov. Deployment of the environment for Drupal using Ansible.
Sergey Cherebedov. Deployment of the environment for Drupal using Ansible.
 
Anton Shloma. Drupal as an integration platform
Anton Shloma. Drupal as an integration platformAnton Shloma. Drupal as an integration platform
Anton Shloma. Drupal as an integration platform
 
Руслан Исай - Проповедуем Drupal разработку
Руслан Исай - Проповедуем Drupal разработку Руслан Исай - Проповедуем Drupal разработку
Руслан Исай - Проповедуем Drupal разработку
 
Сергей Черебедов - Integration Drupal with NodeJS. What is it and why You nee...
Сергей Черебедов - Integration Drupal with NodeJS. What is it and why You nee...Сергей Черебедов - Integration Drupal with NodeJS. What is it and why You nee...
Сергей Черебедов - Integration Drupal with NodeJS. What is it and why You nee...
 
Ринат Ибрагимов - Региональное SEO: продвижение сайтов, созданных на  Drupal
Ринат Ибрагимов - Региональное SEO: продвижение сайтов, созданных на  DrupalРинат Ибрагимов - Региональное SEO: продвижение сайтов, созданных на  Drupal
Ринат Ибрагимов - Региональное SEO: продвижение сайтов, созданных на  Drupal
 
Константин Осипенко - Аутсорс услуг тестирования - реальность или вымысел?
Константин Осипенко - Аутсорс услуг тестирования - реальность или вымысел?Константин Осипенко - Аутсорс услуг тестирования - реальность или вымысел?
Константин Осипенко - Аутсорс услуг тестирования - реальность или вымысел?
 
Ирина Архипец - Система ВКС OpenMeetings, возможности партнёрства
Ирина Архипец - Система ВКС OpenMeetings, возможности партнёрства Ирина Архипец - Система ВКС OpenMeetings, возможности партнёрства
Ирина Архипец - Система ВКС OpenMeetings, возможности партнёрства
 
Михаил Крайнюк - Form API + Drupal 8: Form and AJAX
Михаил Крайнюк - Form API + Drupal 8: Form and AJAXМихаил Крайнюк - Form API + Drupal 8: Form and AJAX
Михаил Крайнюк - Form API + Drupal 8: Form and AJAX
 

Contrib to drupal 8 modules. Абраменко Иван