function template_preprocess_semanticviews_row in Semantic Views 8.2
Todo.
File
- ./
semanticviews.module, line 136 - Semantic Views module file.
Code
function template_preprocess_semanticviews_row(&$vars) {
$view = $vars['view'];
// Loop through the fields for this view.
$vars['fields'] = [];
foreach ($view->field as $id => $field) {
// Render this even if set to exclude so it can be used elsewhere.
$field_output = $view->style_plugin
->getField($vars['row']->index, $id);
$empty = $field
->isValueEmpty($field_output, $field->options['empty_zero']);
if (empty($field->options['exclude']) && (!$empty || empty($field->options['hide_empty']) && empty($vars['options']['skip_blank']))) {
$vars['fields'][$id] = [];
$vars['fields'][$id]['content'] = $field_output;
if (isset($view->field[$id]->field_alias) && isset($vars['row']->{$view->field[$id]->field_alias})) {
$vars['fields'][$id]['raw'] = $vars['row']->{$view->field[$id]->field_alias};
}
else {
// Make sure it exists to reduce NOTICE.
$vars['fields'][$id]['raw'] = NULL;
}
$vars['fields'][$id]['handler'] =& $view->field[$id];
// If Semantic Views: Fields settings havn't been saved with new fields
// this is not set and then add empty array with no values.
if (isset($vars['options']['semantic_html'][$id])) {
$semantic_html = $vars['options']['semantic_html'][$id];
}
else {
// Default empty values.
$semantic_html = [
'element_type' => 'div',
'attributes' => '',
'label_element_type' => 'label',
'label_attributes' => '',
];
}
// Field content.
$vars['fields'][$id]['element_type'] = $semantic_html['element_type'];
$vars['fields'][$id]['attributes'] = new Attribute();
foreach (semanticviews_extract_attributes($semantic_html['attributes']) as $key => $value) {
$vars['fields'][$id]['attributes']
->setAttribute($key, $value);
}
// Field label.
$vars['fields'][$id]['label'] = $view->field[$id]
->label();
$vars['fields'][$id]['label_colon'] = $view->field[$id]->options['element_label_colon'] ? ':' : '';
if (!empty($vars['fields'][$id]['label'])) {
$vars['fields'][$id]['label_element_type'] = $semantic_html['label_element_type'];
$vars['fields'][$id]['label_attributes'] = new Attribute();
foreach (semanticviews_extract_attributes($semantic_html['label_attributes']) as $key => $value) {
$vars['fields'][$id]['label_attributes']
->setAttribute($key, $value);
}
}
}
}
}