logo

Paleta - Deixe colorido🎨

Palette — Construtor visual de páginas. Não precisa ser designer.

Demonstração ao vivo Baixar Palette

Scroll
26/04/2020, by maria

Типы полей определяют свойства и поведение полей. Типы полей определяются как плагины, поэтому рекомендуется ознакомиться с API плагинов перед тем, как приступить к написанию нового типа поля.

Чтобы создать тип поля в Drupal 8, вам нужен класс с аннотацией FieldType.

Расположение класса типа поля должно быть помещено в MODULE_NAME/src/Plugin/Field/FieldType
/modules/foo/src/Plugin/Field/FieldType/BazItem.php

26/04/2020, by maria

В Drupal 8 все типы полей, виджеты и форматтеры являются плагинами.

Они автоматически обнаруживаются, если размещены в ожидаемой структуре каталогов и используют корректную аннотацию.

Структура каталогов для модуля, который реализует все три компонента, выглядит следующим образом:

foo_bar_fields

25/04/2020, by maria

Этот учебник был первоначально опубликован в Web Wash. Однако Berdir спросил, могу ли я разместить учебник здесь, так что он здесь.

Модуль в Drupal 7 позволяет хранить примеры кода/фрагменты в поле. Он поставляется с настраиваемым полем под названием «Поле фрагментов» и отображает три элемента формы: описание, исходный код и режим подсветки синтаксиса (какой язык программирования).

Но теперь пришло время обновить модуль до Drupal 8.

25/04/2020, by maria

Часть V из Практического руководства по созданию базовых модулей Drupal 8
От .info к тестам, только основы

Помните, в начале этого урока я говорил, что мы определим блок с формой? Что ж, сейчас самое время разобраться с этим.

25/04/2020, by maria

Чтобы использовать конфигурацию экземпляров блока, мы можем изменить метод build () класса HelloBlock:

  /**
   * {@inheritdoc}
   */  
  public function build() {
    $config = $this->getConfiguration();

    if (!empty($config['hello_block_name'])) {
      $name = $config['hello_block_name'];
    }
    else {
      $name = $this->t('to no one');
    }

    return [
      '#markup' => $this->t('Hello @name!', [
        '@name' => $name,
      ]),
    ];
  }

 

25/04/2020, by maria

Добавьте следующий метод в класс HelloBlock. В этом примере он находится в файле src/Plugin/Block/HelloBlock.php, но, как вы начинаете думать в более ООП-режиме, где он физически расположен в файловой структуре, он менее важен, чем в пространстве имен. Если вы очень умный OO-программист, вы держите две вещи очень тесно выровненными. Но на всякий случай это фактически пространство имен, очень похожее на имя папки модуля и имя машины для нашего обсуждения модуля ранее в этом разделе, которое будет важно позже, когда вы захотите программно взаимодействовать с кодом вашего модуля.

25/04/2020, by maria

Теперь давайте скажем, что мы хотим добавить возможность для строителя сайта вводить часть конфигурации для каждого экземпляра нашего пользовательского блока. Всегда имейте в виду, что все конфигурации построения сайта в Drupal 8 можно экспортировать с сайта разработки и импортировать на рабочий сайт (известный как Управление конфигурацией). Вы, как сборщик модулей, можете также предоставить конфигурацию по умолчанию для автоматического заполнения формы, когда создатель сайта создает новый блок.

25/04/2020, by maria

Блоки в Drupal 8 являются экземплярами плагина блоков.
Менеджер блоков Drupal сканирует ваши модули на наличие классов, которые содержат аннотацию @Block.

Приведенный ниже пример кода использует аннотацию @Block вместе со свойствами «id» и «admin_label» для определения пользовательского блока.

25/04/2020, by maria

В отличие от Drupal 7, создание нескольких экземпляров блока для размещения на вашем сайте - простая задача в Drupal 8.

В этом руководстве вы узнаете, как программно добавить блок в интерфейс макета блока. Как добавить (административную) конфигурационную форму в блок и как ее обработать. Наконец, вы узнаете, как добавить и отобразить значения конфигурации по умолчанию для формы.

Перед началом этого пошагового руководства подготовьте каркас модуля в соответствии с инструкциями «Подготовьте каркас модуля».