Update to drupal 8.0.0-rc1. For more information, see https://www.drupal.org/node/2582663
This commit is contained in:
parent
eb34d130a8
commit
f32e58e4b1
8476 changed files with 211648 additions and 170042 deletions
|
@ -9,13 +9,12 @@ namespace Drupal\Core\Block;
|
|||
|
||||
use Drupal\block\BlockInterface;
|
||||
use Drupal\Core\Access\AccessResult;
|
||||
use Drupal\Core\Cache\CacheableDependencyInterface;
|
||||
use Drupal\Core\Form\FormStateInterface;
|
||||
use Drupal\Core\Plugin\ContextAwarePluginAssignmentTrait;
|
||||
use Drupal\Core\Plugin\ContextAwarePluginBase;
|
||||
use Drupal\Component\Utility\Unicode;
|
||||
use Drupal\Component\Utility\NestedArray;
|
||||
use Drupal\Core\Language\LanguageInterface;
|
||||
use Drupal\Core\Cache\Cache;
|
||||
use Drupal\Core\Session\AccountInterface;
|
||||
use Drupal\Component\Transliteration\TransliterationInterface;
|
||||
|
||||
|
@ -30,6 +29,8 @@ use Drupal\Component\Transliteration\TransliterationInterface;
|
|||
*/
|
||||
abstract class BlockBase extends ContextAwarePluginBase implements BlockPluginInterface {
|
||||
|
||||
use ContextAwarePluginAssignmentTrait;
|
||||
|
||||
/**
|
||||
* The transliteration service.
|
||||
*
|
||||
|
@ -47,7 +48,7 @@ abstract class BlockBase extends ContextAwarePluginBase implements BlockPluginIn
|
|||
|
||||
$definition = $this->getPluginDefinition();
|
||||
// Cast the admin label to a string since it is an object.
|
||||
// @see \Drupal\Core\StringTranslation\TranslationWrapper
|
||||
// @see \Drupal\Core\StringTranslation\TranslatableMarkup
|
||||
return (string) $definition['admin_label'];
|
||||
}
|
||||
|
||||
|
@ -89,10 +90,6 @@ abstract class BlockBase extends ContextAwarePluginBase implements BlockPluginIn
|
|||
'label' => '',
|
||||
'provider' => $this->pluginDefinition['provider'],
|
||||
'label_display' => BlockInterface::BLOCK_LABEL_VISIBLE,
|
||||
'cache' => array(
|
||||
// Blocks are cacheable by default.
|
||||
'max_age' => Cache::PERMANENT,
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
|
@ -180,24 +177,10 @@ abstract class BlockBase extends ContextAwarePluginBase implements BlockPluginIn
|
|||
'#default_value' => ($this->configuration['label_display'] === BlockInterface::BLOCK_LABEL_VISIBLE),
|
||||
'#return_value' => BlockInterface::BLOCK_LABEL_VISIBLE,
|
||||
);
|
||||
// Identical options to the ones for page caching.
|
||||
// @see \Drupal\system\Form\PerformanceForm::buildForm()
|
||||
$period = array(0, 60, 180, 300, 600, 900, 1800, 2700, 3600, 10800, 21600, 32400, 43200, 86400);
|
||||
$period = array_map(array(\Drupal::service('date.formatter'), 'formatInterval'), array_combine($period, $period));
|
||||
$period[0] = '<' . $this->t('no caching') . '>';
|
||||
$period[\Drupal\Core\Cache\Cache::PERMANENT] = $this->t('Forever');
|
||||
$form['cache'] = array(
|
||||
'#type' => 'details',
|
||||
'#title' => $this->t('Cache settings'),
|
||||
);
|
||||
$form['cache']['max_age'] = array(
|
||||
'#type' => 'select',
|
||||
'#title' => $this->t('Maximum age'),
|
||||
'#description' => $this->t('The maximum time this block may be cached.'),
|
||||
'#default_value' => $this->configuration['cache']['max_age'],
|
||||
'#options' => $period,
|
||||
);
|
||||
|
||||
// Add context mapping UI form elements.
|
||||
$contexts = $form_state->getTemporaryValue('gathered_contexts') ?: [];
|
||||
$form['context_mapping'] = $this->addContextAssignmentElement($this, $contexts);
|
||||
// Add plugin-specific settings for this block type.
|
||||
$form += $this->blockForm($form, $form_state);
|
||||
return $form;
|
||||
|
@ -244,7 +227,6 @@ abstract class BlockBase extends ContextAwarePluginBase implements BlockPluginIn
|
|||
$this->configuration['label'] = $form_state->getValue('label');
|
||||
$this->configuration['label_display'] = $form_state->getValue('label_display');
|
||||
$this->configuration['provider'] = $form_state->getValue('provider');
|
||||
$this->configuration['cache'] = $form_state->getValue('cache');
|
||||
$this->blockSubmit($form, $form_state);
|
||||
}
|
||||
}
|
||||
|
@ -272,16 +254,6 @@ abstract class BlockBase extends ContextAwarePluginBase implements BlockPluginIn
|
|||
return $transliterated;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function getCacheMaxAge() {
|
||||
$max_age = parent::getCacheMaxAge();
|
||||
// @todo Configurability of this will be removed in
|
||||
// https://www.drupal.org/node/2458763.
|
||||
return Cache::mergeMaxAges($max_age, (int) $this->configuration['cache']['max_age']);
|
||||
}
|
||||
|
||||
/**
|
||||
* Wraps the transliteration service.
|
||||
*
|
||||
|
|
|
@ -10,7 +10,7 @@ namespace Drupal\Core\Block;
|
|||
/**
|
||||
* The interface for "main page content" blocks.
|
||||
*
|
||||
* A main page content block represents the content returns by the controller.
|
||||
* A main page content block represents the content returned by the controller.
|
||||
*
|
||||
* @ingroup block_api
|
||||
*/
|
||||
|
|
55
core/lib/Drupal/Core/Block/Plugin/Block/PageTitleBlock.php
Normal file
55
core/lib/Drupal/Core/Block/Plugin/Block/PageTitleBlock.php
Normal file
|
@ -0,0 +1,55 @@
|
|||
<?php
|
||||
|
||||
/**
|
||||
* @file
|
||||
* Contains \Drupal\Core\Plugin\Block\PageTitleBlock.
|
||||
*/
|
||||
|
||||
namespace Drupal\Core\Block\Plugin\Block;
|
||||
|
||||
use Drupal\Core\Block\BlockBase;
|
||||
use Drupal\Core\Block\TitleBlockPluginInterface;
|
||||
|
||||
/**
|
||||
* Provides a block to display the page title.
|
||||
*
|
||||
* @Block(
|
||||
* id = "page_title_block",
|
||||
* admin_label = @Translation("Page title"),
|
||||
* )
|
||||
*/
|
||||
class PageTitleBlock extends BlockBase implements TitleBlockPluginInterface {
|
||||
|
||||
/**
|
||||
* The page title: a string (plain title) or a render array (formatted title).
|
||||
*
|
||||
* @var string|array
|
||||
*/
|
||||
protected $title = '';
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function setTitle($title) {
|
||||
$this->title = $title;
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function defaultConfiguration() {
|
||||
return ['label_display' => FALSE];
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function build() {
|
||||
return [
|
||||
'#type' => 'page_title',
|
||||
'#title' => $this->title,
|
||||
];
|
||||
}
|
||||
|
||||
}
|
30
core/lib/Drupal/Core/Block/TitleBlockPluginInterface.php
Normal file
30
core/lib/Drupal/Core/Block/TitleBlockPluginInterface.php
Normal file
|
@ -0,0 +1,30 @@
|
|||
<?php
|
||||
|
||||
/**
|
||||
* @file
|
||||
* Contains \Drupal\Core\Block\TitleBlockPluginInterface.
|
||||
*/
|
||||
|
||||
namespace Drupal\Core\Block;
|
||||
|
||||
/**
|
||||
* The interface for "title" blocks.
|
||||
*
|
||||
* A title block shows the title returned by the controller.
|
||||
*
|
||||
* @ingroup block_api
|
||||
*
|
||||
* @see \Drupal\Core\Render\Element\PageTitle
|
||||
*/
|
||||
interface TitleBlockPluginInterface extends BlockPluginInterface {
|
||||
|
||||
/**
|
||||
* Sets the title.
|
||||
*
|
||||
* @param string|array $title
|
||||
* The page title: either a string for plain titles or a render array for
|
||||
* formatted titles.
|
||||
*/
|
||||
public function setTitle($title);
|
||||
|
||||
}
|
Reference in a new issue