I have the following hook in mymodule.module.
function mymodule_preprocess_views_view_unformatted(&$variables) {
$view = $variables['view'];
$rows = $variables['rows'];
if (in_array($view->id(),
[
'my_view',
]
)
)
{
foreach ($rows as $id => $row) {
$custom_row_class = 'card-background-' . get_card_background();
var_dump($custom_row_class);
$variables['rows'][$id]['attributes']->addClass([$custom_row_class]);
}
var_dump($variables['rows'][0]['attributes']);
}
}
The output is:
/Users/me/Sites/mysite/web/modules/custom/mymodule/mymodule.module:55:string 'card-background-11' (length=18)
/Users/me/Sites/mysite/web/modules/custom/mymodule/mymodule.module:58:
object(Drupal\Core\Template\Attribute)[7400]
protected 'storage' =>
array (size=1)
'class' =>
object(Drupal\Core\Template\AttributeArray)[7223]
protected 'value' =>
array (size=1)
...
protected 'name' => string 'class' (length=5)
Right after supposedly adding the class to the rows attributes, it isn't there, and not surprisingly isn't in the attributes value passed to views-view-unformatted.html.twig.