Issue #2301245 by sun, joelpittet | larowlan: Fixed Entity system invokes non-existing theme hooks: 'Theme hook not found.'

8.0.x
webchick 2014-08-26 10:25:49 -07:00
parent 65c671eff7
commit eb21fc37a7
5 changed files with 37 additions and 8 deletions

View File

@ -2223,10 +2223,14 @@ function template_preprocess_field_multiple_value_form(&$variables) {
if ($variables['multiple']) {
$table_id = drupal_html_id($element['#field_name'] . '_values');
$order_class = $element['#field_name'] . '-delta-order';
$header_attributes = new Attribute(array('class' => array('label')));
if (!empty($element['#required'])) {
$header_attributes['class'][] = 'form-required';
}
$header = array(
array(
'data' => array(
'#prefix' => '<h4 class="label">',
'#prefix' => '<h4' . $header_attributes . '>',
'title' => array(
'#markup' => t($element['#title']),
),
@ -2237,12 +2241,6 @@ function template_preprocess_field_multiple_value_form(&$variables) {
),
t('Order', array(), array('context' => 'Sort order')),
);
if (!empty($element['#required'])) {
$header[0]['data']['required'] = array(
'#theme' => 'form_required_marker',
'#element' => $element,
);
}
$rows = array();
// Sort items according to '_weight' (needed when the form comes back after

View File

@ -16,6 +16,17 @@ use Drupal\Core\Entity\EntityViewBuilder;
*/
class BlockContentViewBuilder extends EntityViewBuilder {
/**
* {@inheritdoc}
*/
protected function getBuildDefaults(EntityInterface $entity, $view_mode, $langcode) {
$build = parent::getBuildDefaults($entity, $view_mode, $langcode);
// The custom block will be rendered in the wrapped block template already
// and thus has no entity template itself.
unset($build['#theme']);
return $build;
}
/**
* {@inheritdoc}
*/

View File

@ -17,6 +17,17 @@ use Drupal\Core\Render\Element;
*/
class MessageViewBuilder extends EntityViewBuilder {
/**
* {@inheritdoc}
*/
protected function getBuildDefaults(EntityInterface $entity, $view_mode, $langcode) {
$build = parent::getBuildDefaults($entity, $view_mode, $langcode);
// The message fields are individually rendered into email templates, so
// the entity has no template itself.
unset($build['#theme']);
return $build;
}
/**
* {@inheritdoc}
*/

View File

@ -64,7 +64,6 @@ class FunctionsTest extends WebTestBase {
// Verify that title set to a render array is output.
$variables = array();
$variables['title'] = array(
'#theme' => 'markup',
'#markup' => '<span>Render array</span>',
);
$variables['empty'] = 'No items found.';

View File

@ -8,6 +8,7 @@
namespace Drupal\entity_test;
use Drupal\Component\Utility\String;
use Drupal\Core\Entity\EntityInterface;
use Drupal\Core\Entity\EntityViewBuilder;
/**
@ -17,6 +18,15 @@ use Drupal\Core\Entity\EntityViewBuilder;
*/
class EntityTestViewBuilder extends EntityViewBuilder {
/**
* {@inheritdoc}
*/
protected function getBuildDefaults(EntityInterface $entity, $view_mode, $langcode) {
$build = parent::getBuildDefaults($entity, $view_mode, $langcode);
unset($build['#theme']);
return $build;
}
/**
* {@inheritdoc}
*/