Ergebnis 1 bis 7 von 7

Thema: Ein Template für zwei Domains nutzen? wie Grafiken variabel machen

  1. #1
    Contao-Nutzer
    Registriert seit
    22.04.2013.
    Beiträge
    89

    Frage Ein Template für zwei Domains nutzen? wie Grafiken variabel machen

    Ich möchte meine beiden Contao Installationen zu einer einzigen zusammenführen, um weniger Verwaltungsaufwand zu haben. Beide Domains sollen die gleichen CSS-Dateien benutzen, ich wollte lediglich z.B. das Logo und die Farben verändern. Das hätte vor Contao 4 ja ganz gut mit den Globalen Variablen in den Themes und den internen Stylesheets funktioniert.

    Nun habe ich gelesen, dass die internen Stylesheets zukünftig abgeschafft werden :-(, daher habe ich meine Stylesheets in externe Dateien geschrieben.

    Nun suche ich nach einem sinnvollen Weg, wie ich in den externen Stylesheets z.B. ein Logo und die Farben in Abhängigkeit von der Domain verändern kann? Ich vermute da bin ich in einer Sackgasse gelandet?

    Wie kann ich ein Theme für unterschiedliche Domains nutzen und es nur an einzelnen Stellen anpassen? Wenn ich zwei Themes anlege hätte ich wieder die ganzen Frontendmodule und die Seitenlayouts doppelt zu pflegen? Und das ganze CSS doppelt wegen unterschiedlichen Farben wäre auch nicht das, was ich möchte. :-(

  2. #2
    Alter Contao-Hase
    Registriert seit
    18.07.2012.
    Ort
    Löbau
    Beiträge
    1.140

    Standard

    Schau dir doch mal das hier an

    https://www.w3schools.com/css/css3_variables.asp

    Kannst du dann über ne body-klasse etc. steuern
    Liebe Grüße
    WebRoxx


  3. #3
    Contao-Fan
    Registriert seit
    05.05.2011.
    Beiträge
    860

    Standard

    Du könntest auch für jede Domain ein eigenes Layout erstellen. Beiden Layouts kannst du dann eine CSS Datei mit den globalen Anweisungen -die für beide Domains gelten- zuweisen, und zusätzlich jedem Layout eine unterschiedliche Domain-spezifische CSS-Datei.

  4. #4
    Contao-Nutzer
    Registriert seit
    22.04.2013.
    Beiträge
    89

    Standard

    Vielen Dank für die beiden Hinweise. Ich benutze nun CSS Variablen in der Form var(--name). Die Definitionen für die Variablen sind in den domainspezifischen CSS-Dateien:

    Code:
    :root {
      --logo_quer: url("/files/logo/logo-xxxxx-quer-klein.gif");
      --background-body: #142E0C;
      --background-container: #CDB772;
    Die werden dann in der globalen CSS-Datei benutzt:
    Code:
    body {
        font:1em Open Sans,Arial;
        background-color:var(--background-body);
        color:var(--body-color);
    Das klappt ganz gut. Die Seitenlayouts lege ich doppelt an, das ist überschaubar. Dadurch muss ich auch die Frontend-Module doppelt anlegen. Dort kann ich aber so gut es geht die aus dem Haupt-Theme mit "{{insert_module::24}}" referenzieren.

    Noch keine Lösung habe ich für die Seitenaliase. Ich kann in jeder Domain die Root Seite "index" nennen. Perfekt. Aber wenn ich in jeder Domain z.B. einen Seitealias "kontakt" angebe, gibt das eine Fehlermeldung "Dieser Alias führt zu einem Konflikt mit der Seite "Kontakt" (ID 24)!"? Das müsste IMHO nicht sein? Wird aber zu streng geprüft?

    Jemand eine Idee?

  5. #5
    Alter Contao-Hase
    Registriert seit
    18.07.2012.
    Ort
    Löbau
    Beiträge
    1.140

    Standard

    Zitat Zitat von d003232 Beitrag anzeigen
    Vielen Dank für die beiden Hinweise. Ich benutze nun CSS Variablen in der Form var(--name). Die Definitionen für die Variablen sind in den domainspezifischen CSS-Dateien:

    Code:
    :root {
      --logo_quer: url("/files/logo/logo-xxxxx-quer-klein.gif");
      --background-body: #142E0C;
      --background-container: #CDB772;
    Die werden dann in der globalen CSS-Datei benutzt:
    Code:
    body {
        font:1em Open Sans,Arial;
        background-color:var(--background-body);
        color:var(--body-color);
    Das klappt ganz gut. Die Seitenlayouts lege ich doppelt an, das ist überschaubar. Dadurch muss ich auch die Frontend-Module doppelt anlegen. Dort kann ich aber so gut es geht die aus dem Haupt-Theme mit "{{insert_module::24}}" referenzieren.

    Noch keine Lösung habe ich für die Seitenaliase. Ich kann in jeder Domain die Root Seite "index" nennen. Perfekt. Aber wenn ich in jeder Domain z.B. einen Seitealias "kontakt" angebe, gibt das eine Fehlermeldung "Dieser Alias führt zu einem Konflikt mit der Seite "Kontakt" (ID 24)!"? Das müsste IMHO nicht sein? Wird aber zu streng geprüft?

    Jemand eine Idee?

    hast du bei bei den Startpunken unter "Domainname" was drin stehen? Dann sollte es auch klappen mit den Alias...

    Wenn beide Domains die gleichen Module etc und nicht alles doppelt pflegen willst ändere doch dei npage-template.

    ich habe es bei einer Seite so gemacht das ich bei dem html attribute das mit geben 'data-theme="dark"' und im css steht

    [data-theme="dark"] {
    --meine-css-var: ...;
    }
    Liebe Grüße
    WebRoxx


  6. #6
    Contao-Nutzer
    Registriert seit
    22.04.2013.
    Beiträge
    89

    Standard

    Zitat Zitat von WebRoxx Beitrag anzeigen
    hast du bei bei den Startpunken unter "Domainname" was drin stehen? Dann sollte es auch klappen mit den Alias...

    Wenn beide Domains die gleichen Module etc und nicht alles doppelt pflegen willst ändere doch dei npage-template.

    ich habe es bei einer Seite so gemacht das ich bei dem html attribute das mit geben 'data-theme="dark"' und im css steht

    [data-theme="dark"] {
    --meine-css-var: ...;
    }
    Tada. Das war der entscheidende Hinweis! Einer der Startpunkte hatte keinen Domainnamen. Der zweite hatte einen Domainnamen. Nachdem ich in jeden der beiden Startpunkt einen Domainnamen eingetragen habe geht es. Nun kann ich die Seiten unter jedem Startpunkt doppelt vergeben.

    Ich möchte möglichst wenige der Standardseiten verändern. Ich mache das so selten. Wenn ich dann bei einem Upgrade nach Monaten oder Jahren wieder dran muss, weiss ich nicht mehr, was ich alles modifiziert habe. Also mache ich die paar Module doppelt. Da kann ich mich besser daran erinnern ;-)

  7. #7
    Alter Contao-Hase
    Registriert seit
    18.07.2012.
    Ort
    Löbau
    Beiträge
    1.140

    Standard

    Zitat Zitat von d003232 Beitrag anzeigen
    Tada. Das war der entscheidende Hinweis! Einer der Startpunkte hatte keinen Domainnamen. Der zweite hatte einen Domainnamen. Nachdem ich in jeden der beiden Startpunkt einen Domainnamen eingetragen habe geht es. Nun kann ich die Seiten unter jedem Startpunkt doppelt vergeben.

    Ich möchte möglichst wenige der Standardseiten verändern. Ich mache das so selten. Wenn ich dann bei einem Upgrade nach Monaten oder Jahren wieder dran muss, weiss ich nicht mehr, was ich alles modifiziert habe. Also mache ich die paar Module doppelt. Da kann ich mich besser daran erinnern ;-)
    Dann lege einmal Module an...

    Seiten-layout 1 - body-klasse - keine
    Seiten-layout 2 - body-klasse - farbe2

    dann brauchst du auch kein template ändern

    falls es mit der body-klasse klappt
    Liebe Grüße
    WebRoxx


Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •