function template_preprocess_foundation_accordion in ZURB Section 7.3
Same name and namespace in other branches
- 8.5 foundation_group.module \template_preprocess_foundation_accordion()
- 7 foundation_group.module \template_preprocess_foundation_accordion()
Implements template_preprocess_foundation_accordion().
File
- ./
foundation_group.module, line 153
Code
function template_preprocess_foundation_accordion(&$variables) {
$toggable = isset($variables['element']['#settings']['toggable']) ? $variables['element']['#settings']['toggable'] : FALSE;
// Prepare accordion items for rendering.
$items_processed = array();
foreach (element_children($variables['element'], TRUE) as $key) {
$item =& $variables['element'][$key];
if (!empty($item) && $item['#type'] === 'foundation_accordion_item') {
// Add classes array for drupal_attributes().
$item['#attributes']['class'] = $item['#settings']['classes'];
$item_processed = array(
'title' => $item['#title'],
'content' => drupal_render($item),
'container_attributes' => $item['#attributes'],
'content_attributes' => array(),
);
if ($item['#formatter'] === 'open') {
$item_processed['container_attributes']['class'][] = 'active';
$item_processed['content_attributes']['class'][] = 'active';
}
// Add required classes.
$item_processed['content_attributes']['class'][] = 'content';
$items_processed[] = $item_processed;
}
}
// Replace items with processed version but keep original version.
$variables['items'] = $items_processed;
// Setup data-options.
$data_options = array();
// Setup attributes.
$attributes =& $variables['element']['#attributes'];
if (!empty($data_options)) {
$attributes['data-options'] = implode('; ', $data_options);
}
// Add classes.
$attributes['class'] = $variables['element']['#settings']['classes'];
}