Wie entferne ich ein von einem Contrib-Modul bereitgestelltes Stylesheet?

7

Die neue Version von Field Group enthält standardmäßig ein neues Stylesheet, das mein Thema abscheulich erscheinen lässt. Das Löschen des Stylesheets aus dem Ordner des Moduls behebt das Problem, aber dann muss ich es erneut löschen, wenn die Feldgruppe erneut aktualisiert wird.

Was ist der richtige Weg (= den Code des Moduls nicht direkt zu ändern), um dies zu tun?

Patrick Kenny
quelle

Antworten:

10

Ich denke, die Verwendung hook_css_alter()in einem benutzerdefinierten Modul / Thema wäre die einfachste Lösung:

function MYMODULE_css_alter(&$css) {
  // Get the path to the module
  $path = drupal_get_path('module', 'field_group');

  // Remove the unneeded files from the css array
  unset($css[$path . '/field_group.css']);
  unset($css[$path . '/field_group.field_ui.css']);
}

Es gibt auch andere CSS-Dateien im Feldgruppenmodul:

  • horizontale Registerkarten / horizontale Registerkarten.css
  • multipage / multipage.css

Für den Fall, dass Sie das gesamte von Field Group eingeführte CSS entfernen möchten.

Clive
quelle
Vielen Dank! In diesem Fall musste ich nur entfernen multipage/multipage.css.
Patrick Kenny
7

Sie können dies auch in der .infoDatei Ihres Themas tun . Lesen Sie die Dokumentation von drupal.org .

Wenn Sie CSS entfernen möchten, fügen Sie einfach eine Zeile wie diese in Ihre .info-Datei ein:

stylesheets[all][] = system-menus.css

Wenn Sie ein Stylesheet mit diesem Namen in Ihrem Thema haben, ersetzt dieses das vom Modul bereitgestellte. Wenn Sie dieses Stylesheet nicht in Ihrem Thema haben, lässt Drupal dieses Stylesheet einfach ganz weg.

Es sieht so aus, als ob es eine Zeit lang einen Fehler mit dieser Methode gab, der jedoch anscheinend behoben wurde.

cdmo
quelle