Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Themes & Theming ›

Deaktivieren von Drupal CSS für bestimmte Regionen

Eingetragen von codab (16)
am 11.03.2012 - 12:40 Uhr in
  • Themes & Theming
  • Drupal 7.x oder neuer

Hallo liebe Drupal-Gemeinde,

ich möchte gerne die Standard-CSS für eine bestimmte Region deaktivieren. Beispiel:

Ich habe in der page.tpl.php folgenden Code eingefügt:

<nav class="navbar"> <!--navbar-fixed-top-->
  <div class="navbar-inner">
    <div class="container-fluid">
      <div class="nav-collapse">
        <?php print render($page['navbar']); ?>
      </div><!--/.nav-collapse -->
    </div>
  </div>
</nav>

Nun möchte ich aber nicht, dass die Region "navbar" von den drupaleigenen CSS überschrieben wird. Also Drupal fügt die Klasse "region region-navbar" und weitere Klassen hinzu und die möchte ich gerne deaktivieren.

Welche Möglichkeiten habe ich, ohne mein CSS noch mehr erweitern zu müssen? Kann ich die CSS über die template.php für bestimmte Regionen ausschalten oder habt ihr da noch andere einfache Möglichkeiten?

Vielen Dank und beste Grüße
codab

‹ Marinelli umbenennen Blöcke auf bestimmten Seiten anzeigen ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

CSS-Klassen und ID's kann man

Eingetragen von torfnase (1525)
am 11.03.2012 - 19:02 Uhr

CSS-Klassen und ID's kann man nicht deaktvieren, sondern nur überschreiben.
Wie das so geht, ist hier schon in unzähligen Threads und Videos besprochen worden.

z.B. in einem Thread vom 09.03.2012 (das ist ja nur zwei Tage her), ein bißchen umschauen wäre echte nicht schlecht.

Gruß
Berthold Lausch

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hallo, vielen Dank für die

Eingetragen von codab (16)
am 12.03.2012 - 08:38 Uhr

Hallo,

vielen Dank für die Antwort. Ich habe schon gesucht und da ich nichts gefunden habe, entstand die Frage, die ich wohl nicht ausführlich beschrieben habe.
Ich möchte nicht überschreiben, dass das geht, weiß ich.

Man kann CSS-Dateien komplett über die Template-Datei deaktivieren:

function THEME_css_alter(&$css) {
  unset($css[drupal_get_path('module', 'system') . '/system.messages.css']);
  unset($css[drupal_get_path('module', 'system') . '/system.menus.css']);
}

Aber dann sind die ganz weg und ich möchte dies nur für bestimmte Regionen realisieren.

Dennoch vielen Dank; vllt. hat ja doch noch jemand eine Idee/Antwort auf meine Frage.

Beste Grüße
codab

  • Anmelden oder Registrieren um Kommentare zu schreiben

Wie soll das

Eingetragen von Sense (1559)
am 12.03.2012 - 09:34 Uhr

Wie soll das funktionieren?
Entweder die CSS-Dateien sind eingebunden oder eben nicht ... was anderes gibt es da nunmal leider nicht.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Da bei Drupal die CSS-Dateien

Eingetragen von wla (9461)
am 12.03.2012 - 09:39 Uhr

Da bei Drupal die CSS-Dateien nicht nach Regionen organisiert sind ist das über das deaktivieren von einzelnen CSS-Files nicht zu machen. Also bleibt wirklich nur das Überschreiben der bestehenden CSS-Anweisungen, wo es nötig ist. Dabei solltest Du Selektoren bauen, in denen die Region vorkommt (Irgendwo in der HTML-Struktur gibt es dazu ein div mit einer passenden Klasse oder ID), damit die Zuordnung nur auf Tags in der spezielle Region zutrifft.

Beste Grüße
Werner

  • Anmelden oder Registrieren um Kommentare zu schreiben

das ist das C im CSS

Eingetragen von ronald (3857)
am 12.03.2012 - 10:03 Uhr

Der Sinn von CSS ist genau das Ueberschreiben.
Das ist, was das englische Wort Cascadable meint.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Also mit einer Funktion in

Eingetragen von codab (16)
am 20.03.2012 - 13:43 Uhr

Also mit einer Funktion in der template.php habe ich es zumindest schon mal hinbekommen, dass dem <ul>-Tag eine andere Klasse zugewiesen wird. Entgegen der bisherigen Antworten gibt es also doch Möglichkeiten, man muss nur lang genug suchen. Nun gibt es bestimmt auch Funktionen, die die anderen Klassen in einem Menü überschreiben und somit eigene Klassen und nicht die drupaleigenen Klassen eingesetzt werden können; vllt. hat da ja noch der ein oder andere einen Überblick/Tipp.

function THEME_menu_tree($variables) {

  unset($variables['element']['#attributes']['class']);

  // Add unique identifier
  static $item_id = 0;
  $item_id += 1;
  $id .= 'id="' . 'menu' . $item_id . '"';
  // Add semi-unique class
  $class .= ' ' . preg_replace("/[^a-zA-Z0-9]/", "", strip_tags($link));

  return '<div><ul ' . $id . ' class="nav">' . $variables['tree'] . '</ul></div>';
}

  • Anmelden oder Registrieren um Kommentare zu schreiben

codab schrieb Entgegen der

Eingetragen von torfnase (1525)
am 20.03.2012 - 13:59 Uhr
codab schrieb

Entgegen der bisherigen Antworten gibt es also doch Möglichkeiten, man muss nur lang genug suchen.

Da würde ich nicht zustimmen.
Bei einem Tag eine CSS-Klasse oder CSS-Id zu ergänzen ist eine durchaus gänge Art und Weise, wie man Ausgabe in Drupal themen kann.
Das hat wirklich rein gar nichts mit dem unmöglichen Deaktivieren einer CSS-Eigenschaft zu tun.

Gruß
Berthold Lausch

  • Anmelden oder Registrieren um Kommentare zu schreiben

Klar kannst Du mittels Theme

Eingetragen von wla (9461)
am 20.03.2012 - 14:01 Uhr

Klar kannst Du mittels Theme Funktionen in der template.php alles ändern, zu dem Drupal oder die Contributed-Modules Theme-Funktionen bereit stellen. Mit Einträgen in einer CSS-Datei kann ich aber den von Dir gewünschten Effekt einfacher erreichen. Du solltest Dich besser in CSS einarbeiten. Da hast Du auf Dauer mehr von, als jedesmal mittels PHP in der template.php-Datei rumzubasteln.

Beste Grüße
Werner

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • für drupal11 ein Slider Modul
  • [gelöst] W3CSS Paragraphs Views
  • Drupal 11 neu aufsetzen und Bereiche aus 10 importieren
  • Wie erlaubt man neuen Benutzern auf die Resetseite zugreifen zu dürfen.
  • [gelöst] Anzeigeformat Text mit Bild in einem Artikel, Drupal 11
  • Social Media Buttons um Insteragram erweitern
  • Nach Installation der neuesten D10-Version kein Zugriff auf Website
  • Composer nach Umzug
  • [gelöst] Taxonomie Begriffe zeigt nicht alle Nodes an
  • Drupal 11 + Experience Builder (Canvas) + Layout Builder
  • Welche KI verwendet ihr?
  • Update Manger läst sich nicht Installieren
Weiter

Neue Kommentare

  • melde mich mal wieder, da ich
    vor 1 Woche 2 Tagen
  • Hey danke
    vor 1 Woche 3 Tagen
  • Update: jetzt gibt's ein
    vor 1 Woche 4 Tagen
  • Hallo, im Prinzip habe ich
    vor 2 Wochen 1 Tag
  • Da scheint die Terminologie
    vor 2 Wochen 1 Tag
  • Kannst doch auch alles direkt
    vor 2 Wochen 5 Tagen
  • In der entsprechenden View
    vor 2 Wochen 5 Tagen
  • Dazu müsstest Du vermutlich
    vor 2 Wochen 5 Tagen
  • gelöst
    vor 5 Wochen 2 Tagen
  • Ja natürlich. Dass ist etwas,
    vor 5 Wochen 3 Tagen

Statistik

Beiträge im Forum: 250233
Registrierte User: 20450

Neue User:

  • Mroppoofpaync
  • 4aficiona2
  • AppBuilder

» Alle User anzeigen

User nach Punkten sortiert:
wla9461
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3857
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 13 Gäste online.

Hauptmenü

  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche

Quicklinks I

  • Infos
  • Drupal Showcase
  • Installation
  • Update
  • Forum
  • Team
  • Verhaltensregeln

Quicklinks II

  • Drupal Jobs
  • FAQ
  • Drupal-Kochbuch
  • Best Practice - Drupal Sites - Guidelines
  • Drupal How To's

Quicklinks III

  • Tipps & Tricks
  • Drupal Theme System
  • Theme Handbuch
  • Leitfaden zur Entwicklung von Modulen

RSS & Twitter

  • Drupal Planet deutsch
  • RSS Feed News
  • RSS Feed Planet
  • Twitter Drupalcenter
Drupalcenter Team | Impressum & Datenschutz | Kontakt
Angetrieben von Drupal | Drupal is a registered trademark of Dries Buytaert.
Drupal Initiative - Drupal Association