Hi,
I've submitted a patch https://www.drupal.org/node/3053439 which was committed but resulted in a duplicated condition of the same type.
if ($view->execute()) {
/** @var \Drupal\Core\Render\RendererInterface $renderer */
$renderer = \Drupal::service('renderer');
/** @var \Drupal\views\ResultRow $resultRow */
$view_result = $view->result;
$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 {
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 {
/** @var \Drupal\views\Plugin\views\field\Field $field */
foreach ($fields as $field) {
$field_id = $field->field;
$values[$key][$field_id] = $field->getValue($resultRow);
}
}
}
}
$variableObject = new VariableObject($variable->id(), $values, $variable->getType());
}
| Comment | File | Size | Author |
|---|---|---|---|
| #3 | duplicate-condition-3087989-3.patch | 3.96 KB | lexsoft00 |
Comments
Comment #2
lexsoft00 commentedComment #3
lexsoft00 commentedComment #4
lexsoft00 commentedComment #5
lexsoft00 commentedComment #6
lexsoft commentedComment #7
lexsoft commentedTested this in production for 2 years now.
Comment #9
rcodinaFixed on a new branch 3.x.