class NodeRevision
Same name in this branch
- 9 core/modules/node/src/Plugin/migrate/source/d6/NodeRevision.php \Drupal\node\Plugin\migrate\source\d6\NodeRevision
- 9 core/modules/node/src/Plugin/migrate/source/d7/NodeRevision.php \Drupal\node\Plugin\migrate\source\d7\NodeRevision
Same name and namespace in other branches
- 11.x core/modules/node/src/Plugin/views/wizard/NodeRevision.php \Drupal\node\Plugin\views\wizard\NodeRevision
- 11.x core/modules/node/src/Plugin/migrate/source/d6/NodeRevision.php \Drupal\node\Plugin\migrate\source\d6\NodeRevision
- 11.x core/modules/node/src/Plugin/migrate/source/d7/NodeRevision.php \Drupal\node\Plugin\migrate\source\d7\NodeRevision
Tests creating node revision views with the wizard.
Plugin annotation
@ViewsWizard(
id = "node_revision",
base_table = "node_field_revision",
title = @Translation("Content revisions")
)
Hierarchy
- class \Drupal\Component\Plugin\PluginBase extends \Drupal\Component\Plugin\PluginInspectionInterface, \Drupal\Component\Plugin\DerivativeInspectionInterface
- class \Drupal\Core\Plugin\PluginBase uses \Drupal\Core\StringTranslation\StringTranslationTrait, \Drupal\Core\DependencyInjection\DependencySerializationTrait, \Drupal\Core\Messenger\MessengerTrait implements \Drupal\Component\Plugin\PluginBase
- class \Drupal\views\Plugin\views\PluginBase extends \Drupal\Core\Plugin\ContainerFactoryPluginInterface, \Drupal\views\Plugin\views\ViewsPluginInterface, \Drupal\Component\Plugin\DependentPluginInterface, \Drupal\Core\Security\TrustedCallbackInterface implements \Drupal\Core\Plugin\PluginBase
- class \Drupal\views\Plugin\views\wizard\WizardPluginBase extends \Drupal\views\Plugin\views\wizard\WizardInterface implements \Drupal\views\Plugin\views\PluginBase
- class \Drupal\node\Plugin\views\wizard\NodeRevision implements \Drupal\views\Plugin\views\wizard\WizardPluginBase
- class \Drupal\views\Plugin\views\wizard\WizardPluginBase extends \Drupal\views\Plugin\views\wizard\WizardInterface implements \Drupal\views\Plugin\views\PluginBase
- class \Drupal\views\Plugin\views\PluginBase extends \Drupal\Core\Plugin\ContainerFactoryPluginInterface, \Drupal\views\Plugin\views\ViewsPluginInterface, \Drupal\Component\Plugin\DependentPluginInterface, \Drupal\Core\Security\TrustedCallbackInterface implements \Drupal\Core\Plugin\PluginBase
- class \Drupal\Core\Plugin\PluginBase uses \Drupal\Core\StringTranslation\StringTranslationTrait, \Drupal\Core\DependencyInjection\DependencySerializationTrait, \Drupal\Core\Messenger\MessengerTrait implements \Drupal\Component\Plugin\PluginBase
Expanded class hierarchy of NodeRevision
File
-
core/
modules/ node/ src/ Plugin/ views/ wizard/ NodeRevision.php, line 21
Namespace
Drupal\node\Plugin\views\wizardView source
class NodeRevision extends WizardPluginBase {
/**
* Set the created column.
*
* @var string
*/
protected $createdColumn = 'changed';
/**
* Overrides Drupal\views\Plugin\views\wizard\WizardPluginBase::rowStyleOptions().
*
* Node revisions do not support full posts or teasers, so remove them.
*/
protected function rowStyleOptions() {
$options = parent::rowStyleOptions();
unset($options['teasers']);
unset($options['full_posts']);
return $options;
}
/**
* {@inheritdoc}
*/
protected function defaultDisplayOptions() {
$display_options = parent::defaultDisplayOptions();
// Add permission-based access control.
$display_options['access']['type'] = 'perm';
$display_options['access']['options']['perm'] = 'view all revisions';
// Remove the default fields, since we are customizing them here.
unset($display_options['fields']);
/* Field: Content revision: Created date */
$display_options['fields']['changed']['id'] = 'changed';
$display_options['fields']['changed']['table'] = 'node_field_revision';
$display_options['fields']['changed']['field'] = 'changed';
$display_options['fields']['changed']['entity_type'] = 'node';
$display_options['fields']['changed']['entity_field'] = 'changed';
$display_options['fields']['changed']['alter']['alter_text'] = FALSE;
$display_options['fields']['changed']['alter']['make_link'] = FALSE;
$display_options['fields']['changed']['alter']['absolute'] = FALSE;
$display_options['fields']['changed']['alter']['trim'] = FALSE;
$display_options['fields']['changed']['alter']['word_boundary'] = FALSE;
$display_options['fields']['changed']['alter']['ellipsis'] = FALSE;
$display_options['fields']['changed']['alter']['strip_tags'] = FALSE;
$display_options['fields']['changed']['alter']['html'] = FALSE;
$display_options['fields']['changed']['hide_empty'] = FALSE;
$display_options['fields']['changed']['empty_zero'] = FALSE;
$display_options['fields']['changed']['plugin_id'] = 'field';
$display_options['fields']['changed']['type'] = 'timestamp';
$display_options['fields']['changed']['settings']['date_format'] = 'medium';
$display_options['fields']['changed']['settings']['custom_date_format'] = '';
$display_options['fields']['changed']['settings']['timezone'] = '';
/* Field: Content revision: Title */
$display_options['fields']['title']['id'] = 'title';
$display_options['fields']['title']['table'] = 'node_field_revision';
$display_options['fields']['title']['field'] = 'title';
$display_options['fields']['title']['entity_type'] = 'node';
$display_options['fields']['title']['entity_field'] = 'title';
$display_options['fields']['title']['label'] = '';
$display_options['fields']['title']['alter']['alter_text'] = 0;
$display_options['fields']['title']['alter']['make_link'] = 0;
$display_options['fields']['title']['alter']['absolute'] = 0;
$display_options['fields']['title']['alter']['trim'] = 0;
$display_options['fields']['title']['alter']['word_boundary'] = 0;
$display_options['fields']['title']['alter']['ellipsis'] = 0;
$display_options['fields']['title']['alter']['strip_tags'] = 0;
$display_options['fields']['title']['alter']['html'] = 0;
$display_options['fields']['title']['hide_empty'] = 0;
$display_options['fields']['title']['empty_zero'] = 0;
$display_options['fields']['title']['settings']['link_to_entity'] = 0;
$display_options['fields']['title']['plugin_id'] = 'field';
return $display_options;
}
/**
* {@inheritdoc}
*/
protected function defaultDisplayFiltersUser(array $form, FormStateInterface $form_state) {
$filters = [];
$type = $form_state->getValue([
'show',
'type',
]);
if ($type && $type != 'all') {
$filters['type'] = [
'id' => 'type',
'table' => 'node_field_data',
'field' => 'type',
'relationship' => 'nid',
'value' => [
$type => $type,
],
'entity_type' => 'node',
'entity_field' => 'type',
'plugin_id' => 'bundle',
];
}
return $filters;
}
/**
* {@inheritdoc}
*/
protected function buildDisplayOptions($form, FormStateInterface $form_state) {
$display_options = parent::buildDisplayOptions($form, $form_state);
if (isset($display_options['default']['filters']['type'])) {
$display_options['default']['relationships']['nid'] = [
'id' => 'nid',
'table' => 'node_field_revision',
'field' => 'nid',
'relationship' => 'none',
'group_type' => 'group',
'admin_label' => 'Get the actual content from a content revision.',
'required' => 'true',
'entity_type' => 'node',
'entity_field' => 'nid',
'plugin_id' => 'standard',
];
}
return $display_options;
}
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.