setLabel(t('Custom block ID')) ->setDescription(t('The custom block ID.')); $fields['uuid']->setDescription(t('The custom block UUID.')); $fields['revision_id']->setDescription(t('The revision ID.')); $fields['langcode']->setDescription(t('The custom block language code.')); $fields['revision_log']->setDescription(t('The log entry explaining the changes in this revision.')); $fields['info'] = BaseFieldDefinition::create('string') ->setLabel(t('Block description')) ->setDescription(t('A brief description of your block.')) ->setRevisionable(TRUE) ->setTranslatable(TRUE) ->setRequired(TRUE) ->setDisplayOptions('form', [ 'type' => 'string_textfield', 'weight' => -5, ]) ->setDisplayConfigurable('form', TRUE) ->addConstraint('UniqueField', []); $fields['changed'] = BaseFieldDefinition::create('changed') ->setLabel(t('Changed')) ->setDescription(t('The time that the custom block was last edited.')) ->setTranslatable(TRUE) ->setRevisionable(TRUE); $fields['pattern_id'] = BaseFieldDefinition::create('string') ->setLabel(t('Patternkit Pattern Derivative ID')) ->setDescription(t('The machine name of the Patternkit pattern.')); $fields['data'] = BaseFieldDefinition::create('serialized_data') ->setLabel(t('Data')) ->setDescription(t('The patternkit block configuration data and content.')) ->setTranslatable(TRUE) ->setRevisionable(TRUE); $fields['reusable'] = BaseFieldDefinition::create('boolean') ->setLabel(t('Reusable')) ->setDescription(t('A boolean indicating whether this block is reusable.')) ->setTranslatable(FALSE) ->setRevisionable(FALSE) ->setDefaultValue(TRUE); return $fields; } /** * Sets the block pattern. * * @param string $pattern * The Patternkit pattern derivative id. * * @return $this */ public function setPattern(string $pattern): self { $this->set('pattern_id', $pattern); return $this; } /** * Returns the block Patternkit pattern derivative id. * * @return string|null * The Patternkit pattern derivative id. */ public function getPattern(): ?string { return $this->get('pattern_id')->getString(); } }