Dies ist ein alter Beitrag, aber ich würde gerne ein paar Lösungen vorschlagen.
Erstens, und dies beantwortet Ihre Frage möglicherweise nicht direkt, aber Sie können die CSS-Selektoren ändern, mit denen Sie auf die Tabelle abzielen.
Also, anstatt zu verwenden table.yourclass
, könnten Sie verwenden .yourclass table
. Dies kann erreicht werden, indem im Abschnitt " Erweitert" eine benutzerdefinierte Klasse für die gesamte Ansicht festgelegt wird.
Dies funktioniert natürlich nicht, wenn Sie versuchen, Klassen direkt zum Element hinzuzufügen, wie dies möglicherweise mit Bootstrap erforderlich ist, d table.table.table-striped
. H.
Mit der zweiten Lösung können Sie allen Ihren Tabellen dieselben Klassen hinzufügen. Fügen Sie in Ihrer template.php
Datei Folgendes hinzu:
function THEME_preprocess_views_view_table(&$vars)
{
$vars['classes_array'][] = 'table table-striped';
}
Wenn Sie auf eine bestimmte Tabelle abzielen müssen, können Sie auch zuerst die $vars
Variable überprüfen , um den Namen der aufgerufenen Ansicht und Anzeige zu ermitteln, und Ihre Klassen nur auf diejenigen anwenden, auf die Sie abzielen möchten. Ich habe nicht überprüft, aber es ist wahrscheinlich in so etwas gefunden $vars['view']->current_display
.
Schließlich ist anzumerken, dass Views tatsächlich benutzerdefinierte Klassen in der Tabelle unterstützt. Die Variablen werden in den Vorlagendateien aufgerufen, es gibt einfach keine Option dafür in der GUI der Ansichten. Dies ist meiner Meinung nach ein Versehen, aber die Entwickler des Moduls scheinen nicht zu planen, es zu beheben. Das sei gesagt, ein Patch für sie tut exist ( direkter Link ).