Issue #2151093 by Cottser, quietone, joelpittet, InternetDevels: Convert theme_admin_block_content() to Twig.

8.0.x
Alex Pott 2014-02-24 09:47:14 +00:00
parent 8f546e5c33
commit f674cd24d2
3 changed files with 44 additions and 16 deletions

View File

@ -125,36 +125,36 @@ function theme_admin_block($variables) {
}
/**
* Returns HTML for the content of an administrative block.
* Prepares variables for administrative content block templates.
*
* Default template: admin-block-content.html.twig.
*
* @param $variables
* An associative array containing:
* - content: An array containing information about the block. Each element
* of the array represents an administrative menu item, and must at least
* contain the keys 'title', 'href', and 'localized_options', which are
* contain the keys 'title', 'link_path', and 'localized_options', which are
* passed to l(). A 'description' key may also be provided.
*
* @ingroup themeable
*/
function theme_admin_block_content($variables) {
$content = $variables['content'];
$output = '';
if (!empty($content)) {
$class = 'admin-list';
if ($compact = system_admin_compact_mode()) {
$class .= ' compact';
function template_preprocess_admin_block_content(&$variables) {
if (!empty($variables['content'])) {
$compact = system_admin_compact_mode();
$variables['attributes'] = array('class' => array('admin-list'));
if ($compact) {
$variables['attributes']['class'][] = 'compact';
}
$output .= '<dl class="' . $class . '">';
foreach ($content as $item) {
$output .= '<dt>' . l($item['title'], $item['link_path'], $item['localized_options']) . '</dt>';
foreach ($variables['content'] as $key => $item) {
$variables['content'][$key]['link'] = l($item['title'], $item['link_path'], $item['localized_options']);
if (!$compact && isset($item['description'])) {
$output .= '<dd>' . filter_xss_admin($item['description']) . '</dd>';
$variables['content'][$key]['description'] = filter_xss_admin($item['description']);
}
else {
$variables['content'][$key]['description'] = FALSE;
}
}
$output .= '</dl>';
}
return $output;
}
/**

View File

@ -193,6 +193,7 @@ function system_theme() {
'admin_block_content' => array(
'variables' => array('content' => NULL),
'file' => 'system.admin.inc',
'template' => 'admin-block-content',
),
'system_admin_index' => array(
'variables' => array('menu_items' => NULL),

View File

@ -0,0 +1,27 @@
{#
/**
* @file
* Default theme implementation for the content of an administrative block.
*
* Available variables:
* - content: A list containing information about the block. Each element
* of the array represents an administrative menu item, and must at least
* contain the keys 'title', 'link_path', and 'localized_options', which are
* passed to l(). A 'description' key may also be provided.
* - attributes: HTML attributes to be added to the element.
*
* @see template_preprocess_admin_block_content()
*
* @ingroup themeable
*/
#}
{% if content %}
<dl{{ attributes }}>
{% for item in content %}
<dt>{{ item.link }}</dt>
{% if item.description %}
<dd>{{ item.description }}</dd>
{% endif %}
{% endfor %}
</dl>
{% endif %}