function EntityPublishedTrait::publishedBaseFieldDefinitions
Same name in other branches
- 9 core/lib/Drupal/Core/Entity/EntityPublishedTrait.php \Drupal\Core\Entity\EntityPublishedTrait::publishedBaseFieldDefinitions()
- 10 core/lib/Drupal/Core/Entity/EntityPublishedTrait.php \Drupal\Core\Entity\EntityPublishedTrait::publishedBaseFieldDefinitions()
- 11.x core/lib/Drupal/Core/Entity/EntityPublishedTrait.php \Drupal\Core\Entity\EntityPublishedTrait::publishedBaseFieldDefinitions()
Returns an array of base field definitions for publishing status.
Parameters
\Drupal\Core\Entity\EntityTypeInterface $entity_type: The entity type to add the publishing status field to.
Return value
\Drupal\Core\Field\BaseFieldDefinition[] An array of base field definitions.
Throws
\Drupal\Core\Entity\Exception\UnsupportedEntityTypeDefinitionException Thrown when the entity type does not implement EntityPublishedInterface or if it does not have a "published" entity key.
7 calls to EntityPublishedTrait::publishedBaseFieldDefinitions()
- Comment::baseFieldDefinitions in core/
modules/ comment/ src/ Entity/ Comment.php - EditorialContentEntityBase::baseFieldDefinitions in core/
lib/ Drupal/ Core/ Entity/ EditorialContentEntityBase.php - EntityTestMulRevPub::baseFieldDefinitions in core/
modules/ system/ tests/ modules/ entity_test/ src/ Entity/ EntityTestMulRevPub.php - EntityTestMulWithRevisionLogPub::baseFieldDefinitions in core/
modules/ system/ tests/ modules/ entity_test_revlog/ src/ Entity/ EntityTestMulWithRevisionLogPub.php - EntityTestRevPub::baseFieldDefinitions in core/
modules/ system/ tests/ modules/ entity_test/ src/ Entity/ EntityTestRevPub.php
File
-
core/
lib/ Drupal/ Core/ Entity/ EntityPublishedTrait.php, line 27
Class
- EntityPublishedTrait
- Provides a trait for published status.
Namespace
Drupal\Core\EntityCode
public static function publishedBaseFieldDefinitions(EntityTypeInterface $entity_type) {
if (!is_subclass_of($entity_type->getClass(), EntityPublishedInterface::class)) {
throw new UnsupportedEntityTypeDefinitionException('The entity type ' . $entity_type->id() . ' does not implement \\Drupal\\Core\\Entity\\EntityPublishedInterface.');
}
if (!$entity_type->hasKey('published')) {
throw new UnsupportedEntityTypeDefinitionException('The entity type ' . $entity_type->id() . ' does not have a "published" entity key.');
}
return [
$entity_type->getKey('published') => BaseFieldDefinition::create('boolean')->setLabel(new TranslatableMarkup('Published'))
->setRevisionable(TRUE)
->setTranslatable(TRUE)
->setDefaultValue(TRUE),
];
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.