diff --git a/src/Plugin/BusinessRulesVariable/ViewResultVariable.php b/src/Plugin/BusinessRulesVariable/ViewResultVariable.php index 283c6b5..9546083 100644 --- a/src/Plugin/BusinessRulesVariable/ViewResultVariable.php +++ b/src/Plugin/BusinessRulesVariable/ViewResultVariable.php @@ -70,7 +70,7 @@ class ViewResultVariable extends BusinessRulesVariablePlugin { '#title' => t('Use HTML rendered view fields'), '#type' => 'checkbox', '#default_value' => $item->getSettings('view_html'), - '#description' => t('If checked, changes on the view fields formatter will reflect into the variables and HTML markup will be used.') + '#description' => t('If checked, changes on the view fields formatter will reflect into the variables and HTML markup will be used.'), ]; $settings['arguments'] = [ @@ -248,47 +248,29 @@ class ViewResultVariable extends BusinessRulesVariablePlugin { $values = []; foreach ($view_result as $key => $resultRow) { - if ($view_fields == TRUE) { - // Inner field array - $inner_values = []; - // Building new context for cron - $output = $renderer->executeInRenderContext(new RenderContext(), function () use ($inner_values, $resultRow, $fields) { - /** @var \Drupal\views\Plugin\views\field\Field $field */ - foreach ($fields as $field) { - // Get field ID - $field_id = $field->field; - // Get HTML markup - $html_rended = Markup::create($field->advancedRender($resultRow)); - // Pass extra filter to be sure data is a string - if(!is_string($html_rended)) { - $html_rended = $html_rended->__toString(); - } - // Pass field data to array - $inner_values[$field_id] = $html_rended; - } - return $inner_values; - }); - - $values[$key] = $output; - - } else { + // Enable HTML markup. if ($view_fields == TRUE) { - // Inner field array + // Inner field array. $inner_values = []; - // Building new context for cron + // Building new context for cron. $output = $renderer->executeInRenderContext(new RenderContext(), function () use ($inner_values, $resultRow, $fields) { /** @var \Drupal\views\Plugin\views\field\Field $field */ foreach ($fields as $field) { - // Get field ID + // Get field ID. $field_id = $field->field; - // Get HTML markup - $html_rended = Markup::create($field->advancedRender($resultRow)); - // Pass extra filter to be sure data is a string - if(!is_string($html_rended)) { - $html_rended = $html_rended->__toString(); + if ($field_id == 'type') { + $html_rended = $field->getValue($resultRow); + } + else { + // Get HTML markup. + $html_rended = Markup::create($field->advancedRender($resultRow)); + // Pass extra filter to be sure data is a string. + if (!is_string($html_rended)) { + $html_rended = $html_rended->__toString(); + } } - // Pass field data to array + // Pass field data to array. $inner_values[$field_id] = $html_rended; } return $inner_values; @@ -296,7 +278,8 @@ class ViewResultVariable extends BusinessRulesVariablePlugin { $values[$key] = $output; - } else { + } + else { /** @var \Drupal\views\Plugin\views\field\Field $field */ foreach ($fields as $field) { @@ -305,7 +288,6 @@ class ViewResultVariable extends BusinessRulesVariablePlugin { } } } - } $variableObject = new VariableObject($variable->id(), $values, $variable->getType()); }