[gelöst] Verständnisfrage zu Delta / Context
![](http://www.drupalcenter.de/files/noavatar_mini.gif)
am 05.01.2014 - 14:28 Uhr in
Ich setze schon häufiger Delta + Context und Omega Subthemes ein.
Bislang allerdings nur, um diverse Regionen auszublenden.
Nun wollte ich folgendes umsetzen:
Subtheme1 ist Default Theme
Subtheme2 + Delta + Context Condition "Benutzerrolle xy" soll unterschiedliche Regionen und einen anderen CSS-Style liefern.
Beim Testen fällt mir auf, daß die unterschiedlichen Regioneinstellungen für den Fall "Benutzer hat die Rolle xy" nur greift, wenn ich Delta mit dem Default Subtheme 1 konfiguriere.
Ich brauche aber doch nach meinem Verständnis ein anderes Subtheme, um abweichende CSS-Dateien pflegen zu können.
Meine Fragen:
1. Stimmt es, daß Delta + Context nur funktionieren, wenn Delta mit dem Default-Subtheme eingesetzt wird?
(Irgendwo habe ich gelesen, daß das so sei und daß man deshalb besser Themekey verwenden soll)
2. Welche anderen Möglichkeiten habe ich, unterschiedliche CSS-Styles für unterschiedliche Conditions zu pflegen, ohne ein abweichendes Subtheme zu verwenden?
3. Wann verwende ich besser Themekey und wann besser Delta?
In einem anderen Projekt möchte ich z.B. unterschiedliche Regionen und Styles je nach Domainnamen verwenden.
Alles andere soll für die beiden Domains gleich bleiben.
Das müßte ja eigentlich bei beiden Modulen über die Pfad-Condition gehen, oder?
- Anmelden oder Registrieren um Kommentare zu schreiben
Nach langem Suchen und
am 08.01.2014 - 18:01 Uhr
Nach langem Suchen und Überlegen, ob ich auf Omega 4 wechseln soll oder Themekey die bessere Wahl ist, habe ich mein Schritt nun mit folgenden Zielen erreicht.
Themekey habe ich wieder fallen lassen, weil ich nicht zwei Subthemes benötige, sondern das Ziel ist, alle relevanten Einstellungen (und auch responsive CSS) in einem Subtheme vorzunehmen und nur -ja nach Condition - unterschiedliche Regionen bzw. CSS-Styles greifen sollen.
Schritt 1: Subtheme1 installiert.
In der Datei Subtheme1.info eine eigene CSS-Datei bekannt gemacht:
css[mystyle.css][name] = Benutzerdefiniertes CSS
css[mystyle.css][description] = Benutzerdefiniertes CSS
css[mystyle.css][options][weight] = 120
settings[alpha_css][mystyle.css] = 'mystyle.css'
Schritt 2:
Im Subtheme1 -> Einstellungen -> Toggle Styles den Haken bei mystyle.css entfernt.
Schritt 3: Mit Delta einen Eintrag erstellt
Mydelta für Subtheme1
Schritt 4: Mit Context eine Bedingung erstellt:
Wenn user:role = xy dann verwende Delta "Mydelta"
Für den zweiten Anwendungsfall wird es noch etwas komplizierter.
Domain1 und Domain2 verweisen jeweils auf die gleiche Drupal-Installation
Je nach Domainnamen sollen unterschiedliche Regionen, Blöcke und Styles zum Einsatz kommen.
Dazu benötigen wir ein paar zusätzliche Module.
Bis Schritt 3 sind die Punkte identisch.
Schritt 4a: Modul Domain installieren
In der Datei settings.php müssen folgende Zeilen angehängt werden:
//Für Domain Modul
include 'sites/all/modules/domain/settings.inc';
Unter admin/structure/domain/create zwei neue Einträge erstellen für Domain1 und Domain2 einrichten
Schritt 4b: Modul Domain Context installieren
Dann kann unter Context ausgewählt werden, für welche Domain welches Delta greifen soll.
Schritt 4c: Modul Domain Blocks installieren
Aus Gründen der Perfomance sind die versch. Domain-Funktionalitäten jeweils in eigene Module ausgelagert.
Domain Blocks erweitert die Möglichkeiten, Blocks nur in bestimmten Fällen sichtbar zu stellen um die Auswahl für Domain1 und / oder Domain2
Praxiserfahrung habe ich noch keine mit dieser Konstellation.
Da es sich um ein eigenes Projekt handelt, bin ich Experimentierfreudig.
Wenn jemand noch eine Anmerkung hat, ob die gewünschten Ziele anders leichter pflegbar, sauberer, performanter zu erreichen wären, dann interessiert mich das sehr.