Multidomain

Wenn mehrere Domains in einer Contao-Installation mit dem ODD Theme verwendet werden sollen, ist dies über ein paar Umwege möglich.

Ziel der Anleitung ist es, dass jede Domain über eine eigene custom.scss, _custom_colors.scss und _custom_variables.scss verfügt.

Ab Contao 4.12 wurde der öffentlich erreichbare Unterordner von /web in /public umbenannt. Falls in deiner Installation ein Verzeichnis /web existiert, verwendest du in den folgenden Code-Beispielen web statt public.

1) SCSS-Dateien anlegen

Lege in der Dateiverwaltung unter odd/scss einen Ordner an (z. B. domain2). Kopiere in diesen Ordner die Dateien custom.scss, _custom_colors.scss und _custom_variables.scss.

In der _custom_colors.scss muss der Pfad für die Farbschemen wie folgt angepasst werden.

//@import '../../../../public/bundles/pdirthemeodd/scss/color_schemes/odd_grey_colors';
//@import '../../../../public/bundles/pdirthemeodd/scss/color_schemes/odd_blue_colors';

Lege im selben Ordner noch eine Datei odd.scss mit folgendem Inhalt an.

@charset "UTF-8";

@font-face {
  font-family: 'Cabin';
  font-display: swap;
  src: local('Cabin'),
  url('/bundles/pdirthemeodd/fonts/Cabin/cabin-regular-webfont.woff2') format('woff2'),
  url('/bundles/pdirthemeodd/fonts/Cabin/cabin-regular-webfont.woff') format('woff'),
  url('/bundles/pdirthemeodd/fonts/Cabin/cabin-regular-webfont.ttf') format('ttf'),
  url('/bundles/pdirthemeodd/fonts/Cabin/cabin-regular-webfont.eot') format('eot');
}

@font-face {
  font-family: 'Muli';
  font-display: swap;
  src: local('Muli'),
  url('/bundles/pdirthemeodd/fonts/Muli/muli-regular-webfont.woff2') format('woff2'),
  url('/bundles/pdirthemeodd/fonts/Muli/muli-regular-webfont.woff') format('woff'),
  url('/bundles/pdirthemeodd/fonts/Muli/muli-regular-webfont.ttf') format('ttf'),
  url('/bundles/pdirthemeodd/fonts/Muli/muli-regular-webfont.eot') format('eot');
}

@import "../../../../public/bundles/pdirthemeodd/scss/_odd_colors";
@import "_custom_colors";
@import "../../../../public/bundles/pdirthemeodd/scss/_odd_variables";
@import "_custom_variables";

@import '../../../../public/bundles/pdirthemeodd/scss/style';

@import 'custom';

2) Template anlegen

Lege unter Templates ein neues Template fe_page_odd.html5 an und benenne es um (z. B. fe_page_odd_domain2.html5).

In Zeile 41 fügst du in getCombinedStylesheet() den neu angelegten Ordner aus der Dateiverwaltung ein.

<link rel="stylesheet" type="text/css" media="all" href="<?= ContaoThemesNet\ThemeOddBundle\ThemeUtils::getCombinedStylesheet('domain2'); ?>">

3) Layout anlegen

Navigiere zu Themes und Seitenlayouts des Theme bearbeiten und dupliziere ein beliebiges Layout. Bearbeite das Layout und wähle unter Experteneinstellungen (ganz unten) bei Seiten-Template das eben angelegte fe_page-Template aus.

4) Layout der Seite zuweisen

Zum Schluss muss das Layout nur noch einer Seite zugewiesen werden (Layout-Einstellungen -> Ein Layout zuweisen).

5) ODD Elements

Bei den Artikeleinstellungen für Header- und Footer-Inhalten (unter ODD Elements) kannst du unter Template-Einstellungen die entsprechende Seite auswählen, damit auch wirklich die Inhalte aus diesem Artikel genutzt werden.