DS + FG proof of concept или как я верстаю в Drupal

DS + FG proof of concept или как я верстаю в Drupal

В связи с последними материалами у себя в блоге, а именно о информации как создавать собственные DisplaySuite поля (D7, D8), можно написать и эту, ибо без инфы как создавать свои собственные поля, эта статья была бы не полной.

Drupal 8: Пишем плагин Display Suite поля

Drupal 8: Пишем плагин Display Suite поля

В прошлой статье я написал как создавать собственные DisplaySuite поля в Drupal 7. После я решил посмотреть и разобраться как они работают в Drupal 8. И в этой статье я уже расскажу как создать те же самые поля, но в реалиях Drupal 8.

Что поменялось и как работают

Изменился подход. Теперь, как и большинство других хуков, hook_ds_fields_info() заменён системой плагинов. Это реально удобнее и позволяет сохранять модуль понятным и чистым. Это, к слову, решает проблему переизбытка кода в файле о котором я рассказывал в статье для D7.

Drupal 7: Программное создание DisplaySuite полей

Drupal 7: Программное создание DisplaySuite полей

Последний год я активно использую DisplaySuite на всех создаваемых сайтах. Он также успешно задействован и на dru.io. DisplaySuite достаточно крупный модуль и умеет многое, но я распишу про его одну вещь как кастомные поля для отображения сущности. Сразу огвоорюсь, способ создавать такие поля есть в ядре, DS же делает это более приятным способом и добавляет свои фишки. Если кому нужен способ без DS, то изучайте hook_field_extra_fields().

Drupal 8: Добавление JSON-LD

Drupal 8: Добавление JSON-LD

Вам наверное часто приходилось, или же приходится добавлять семантические данные на страницу. Микроразметка, RDFa, schema.org и другие. Я думаю, что это всегда немного геморойное занятие, так как они напрямую вставляются в HTML разметку в качестве аттрибутов, требуют некую структуру и т.д. В общем и целом, в текущем виде они скорее заноза в одном месте, нежели удобные средства (я говорю именно о том как оно всё добавляется, а не о пользе самих микроразметок).

Drupal 8: Программное создание сущностей

Drupal 8: Программное создание сущностей

В Drupal 8 достаточно сильно изменился подход для работы с сущностями, разумеется, в лучшую сторону. Работа с сущностями стала более "понятной" и приятной.

Собственно очень часто на проектах приходится создавать сущности программно, об этом я и расскажу.

Drupal 8: Программное добавление метатегов

Drupal 8: Программное добавление метатегов

На данный момент Metatag ещё не готов к продакшену, и следовательно, метатеги придется добавлять программно. Да и мало ли, metateg не панацея и не решение всех проблем, поэтому программный вариант будет нужен всегда.

У drupby появилась статья по тому как изменять и удалять метатеги. Но вот как добавлять почему-то нету, поэтому добавлю сам :)

Добавляем свой метатег на все страницы

Например, добавляем метатег title с содержимым Hello World.

Drupal 8: Программный вывод формы Contact

Drupal 8: Программный вывод формы Contact

На данный момент webform и eform (entityform) для Durpal 8 ещё не готовы или же сырые, поэтому приходится использовать стандартный модуль Contact для создания форм обратной связи на сайте.

Вызов данной формы, несколько "экзотический", поэтому я решил записать это на память, а может ещё и пригодиться кому.

Получаем идентификатор формы

В модуле Contact, есть галочка 'Make this the default form' - которая позволяет пометить контактную форму по умолчанию для сайта.

Drupal 8: Queue API

Drupal 8: Queue API

Иногда требуется произвести обработку большого кол-ва данных. При этом такой обьем данных может выйти за лимиты выполнения скрипта php, поэтому необходимо как-то раздробить такое выполнение. Для выполнение через UI есть Batch API. Он выполняется средствами AJAX до тех пор пока открыта страница с Batch операцией и если закрыть вкладку в момент операции, или потерять соединение с интернетом, то операция оборвется и придется начинать сначала.

Drupal 8: Tour API

Drupal 8: Tour API

В Drupal 8 появился новый Tour API. Это совершенно новый функционал для Drupal, следовательно в 7-ой версии его не было, но были варианты реализации с помощью контрибов, но их подход в корне отличается от того что мы видем в 8-ке.

Страницы

Подписаться на Niklan.net