HTML5 Layout/Template für CONTENIDO 4.8

Gesperrt
xmurrix
Beiträge: 3143
Registriert: Do 21. Okt 2004, 11:08
Wohnort: Augsburg
Kontaktdaten:

HTML5 Layout/Template für CONTENIDO 4.8

Beitrag von xmurrix » Sa 24. Nov 2012, 00:45

BESCHREIBUNG

CONTENIDO in der Version 4.8 ist seit einigen Jahren verfügbar und das im Installationspackage vorhandene Layout des Beispielmandanten basiert auf den Dokumenttyp XHTML 1.0. Im Grunde ist es mit ein paar Modifikationen möglich, das Layout des Beispielmandanten auf HTML5 umzustellen. Dazu muss man auch eine kleine Anpassung im Core von CONTENIDO machen, damit Metatags generiert werden, die HTML5 valide sind.

Das Package enthält ein auf HTML5 basierendes Layout, als Basis wurde das Layout des Beispielmandanten hergenommen und entsprechend modifiziert. Die angepasste Core-Datei ist auch in diesem Package verfügbar. Es soll den Einstieg in CONTENIDO auf Basis einer HTML5 Vorlage erleichtern.

Liste der Änderungen:
  • Umstellung des Layouts auf valides HTML5
  • Überarbeitete CSS, modulare/wiederverwendbare Formate für Module
  • Überarbeitete Modul-Templates
  • Angepasste Core-Datei "functions.con2.php" zum Generieren von HTML5 validen Metatags

CHANGELOG

2012-11-23: HTML5-Layout 0.1 (für CONTENIDO 4.8.18 + 4.8.19, auch für vorherige Versionen)
  • First beta release

INSTALLATION

Bei einer CONTENIDO-Neuinstallation:
Nachdem CONTENIDO erfolgreich installiert wurde, idealerweise mit Inhalten/Modulen des Beispielmandanten, kann man folgendermaßen vorgehen:
  • Ersetzen des Layouts (Standard-Layout) des Beispielmandanten gegen den Inhalt aus der Datei "standard_layout.html" aus diesem Package
  • Ersetzen der CSS-Datei "cms/css/contenido_sample.css" gegen die Version aus diesem Package
  • Ersetzen der Template-Dateien in "cms/templates/" gegen die Versionen aus diesem Package
  • Ersetzen der Datei "contenido/includes/functions.con2.php" gegen die Version aus diesem Package oder Übernehmen der Änderungen.
    (Hinweis * zu "functions.con2.php" weiter unten beachten)
  • Löschen der generierten Metatag-Cache Dateien im Verzeichnis "cms/cache/"
Aktualisieren einer vorhandenen CONTENIDO-Installation:
Sofern die vorhandenen CONTENIDO-Installation keine Änderungen im Layout/Modul-Templates oder CCS des Mandanten hat, kann man wie oben beschrieben vorgehen.

Wurde aber die CONTENIDO-Installation schon angepasst, sollte man die Änderungen aus diesem Package manuell wie folgt hinzufügen:
  • Anpassen des Layouts (Standard-Layout) des Beispielmandanten, Übernahme der HTML5 Struktur aus der Datei "standard_layout.html" aus diesem Package. Dabei darauf achten, dass manche Identifier, die im Layout des Beispielmandaten vorkommen, nicht im Layout aus diesem Package vorhanden sind.
  • Ersetzen der Datei "contenido/includes/functions.con2.php" gegen die Version aus diesem Package oder Übernehmen der Änderungen.
    (Hinweis * zu "functions.con2.php" weiter unten beachten)
  • Löschen der generierten Metatag-Cache Dateien im Verzeichnis "cms/cache/"
* Hinweis zu "functions.con2.php":
Die Datei "functions.con2.php" aus diesem Package ist aus CONTENIDO 4.8.18 (oder 4.8.19). Falls ihr das HTML5 Layout auf einer anderen CONTENIDO Version einrichten wollt, dann solltet ihr nur die Änderungen aus diesem Package in die vorhandene Datei übernehmen. Alle Änderungen, die in der Core-Datei gemacht wurden, um HTML5 valide Metatags zu generieren, sind in der Funktion conGenerateCode() und wurden jeweils am Anfang mit #[html5] und am Ende mit #[/html5] gekennzeichnet.


WICHTIGES ZUM INHALT

cms/css/contenido_sample.css:
Enthält die Überarbeitete CSS-Datei des Beispielmandanten, die Selektoren wurden auf die neuen HTML5 Elemente angepasst.

cms/templates/:
Überarbeitete Modul-Templates des Beispielmandanten.

contenido/includes/functions.con2.php:
Überarbeitete Logik in der Metatag-Generierung in der Funktion conGenerateCode().

standard_layout.html:
Auf HTML5 angepasstes Standard-Layout des Beispielmandanten.


HINWEISE/TIPPS

Das HTML5 Layout in diesem Package erhebt keinen Anspruch auf Vollständigkeit, es ist vielmehr als Vorlage gedacht. Die darin enthaltene Dokumentstruktur kann je nach Projekt und Anforderungen nicht ausreichend sein.

Die Unterstützung älterer Browser (z. B. Internet Explorer 6) wurde im CSS des HTML5 Layouts entfernt.

Das html-Element im Layout enthält Standardmäßig die Länderkürzel "de" und "en" (BCP 47 language tag) der Sprachen des Beispielmandanten im lang-Attribute. Wenn ihr die Sprachen ändert oder andere Sprachen verwendet, solltet ihr das anpassen.


DOWNLOAD
HTML5 Layout könnt ihr von der Seite HTML5 Layout/Template für CONTENIDO herunterladen.

Grüße
xmurrix
CONTENIDO Downloads: CONTENIDO 4.10.1
CONTENIDO Links: Dokumentationsportal, FAQ, API-Dokumentation
CONTENIDO @ Github: CONTENIDO 4.10 - Mit einem Entwicklungszweig (develop-branch), das viele Verbesserungen/Optimierungen erhalten hat und auf Stabilität und Kompatibilität mit PHP 8.0 bis 8.2 getrimmt wurde.

derSteffen
Beiträge: 847
Registriert: Mi 14. Dez 2005, 16:15
Wohnort: Königs Wusterhausen bei Berlin
Kontaktdaten:

Re: HTML5 Layout/Template für CONTENIDO 4.8

Beitrag von derSteffen » Fr 2. Aug 2013, 10:43

Hallo,

ich habe die functions.con2.php etwas verändert, da ich die meta charset-Angabe weiter oben haben wollte.

Ich habe dazu diesbezgl. in meinem Layout direkt unter <head> folgenden Platzhalter eingebaut:

Code: Alles auswählen

<metacharset></metacharset>
Und in der functions.con2.php folgendes angepasst:

Suche nach:

Code: Alles auswählen

// HTML5 compatible meta charset
    $metatags[] = array('charset' => $encoding[$lang]);
#[/html5]
Ersetzen durch:

Code: Alles auswählen

// HTML5 compatible meta charset
		$code = preg_replace("/<metacharset>.*?<\/metacharset>/is", "{METACHARSET}", $code, 1);
		if (strstr($code, "{METACHARSET}"))
		{
			$code = str_ireplace("{METACHARSET}", '<meta charset="'.$encoding[$lang].'" />', $code);
		} else
		{
			$metatags[] = array('charset' => $encoding[$lang]);
		}	
	#[/html5]
Wird im Layout der Platzhalter <metacharset></metacharset> eingefügt, wird der Charset-Meta-Tag auch dort platziert, ansonsten wird der hinterlegte Charset (Sprache) wie gewohnt irgendwo im head abgelegt.

MfG Steffen
Zuletzt geändert von derSteffen am Mi 14. Aug 2013, 06:29, insgesamt 1-mal geändert.

derSteffen
Beiträge: 847
Registriert: Mi 14. Dez 2005, 16:15
Wohnort: Königs Wusterhausen bei Berlin
Kontaktdaten:

Re: HTML5 Layout/Template für CONTENIDO 4.8

Beitrag von derSteffen » Di 6. Aug 2013, 10:25

...wie man den Charset, auch bei Verwendung des Platzhalter, aus der DB holen kann?!
Hallo Steffen,

das Encoding steht in der Variable

Code: Alles auswählen

$encoding[$lang]
drin, du brauchst den nicht aus der DB holen. Das macht CONTENIDO schon am Anfang, es füllt das Array mit allen Sprachen und dem dazugehörigen Encoding...

Gruß
xmurrix

xmurrix
Beiträge: 3143
Registriert: Do 21. Okt 2004, 11:08
Wohnort: Augsburg
Kontaktdaten:

Re: HTML5 Layout/Template für CONTENIDO 4.8

Beitrag von xmurrix » Mo 12. Aug 2013, 14:39

Hallo Steffen,

sehe gerade, dass ich anstatt auf deinen Beitrag ( http://forum.contenido.org/viewtopic.ph ... 98#p159601 ) zu antworten, es geändert habe. War keine Absicht, sorry...

Gruß
xmurrix
CONTENIDO Downloads: CONTENIDO 4.10.1
CONTENIDO Links: Dokumentationsportal, FAQ, API-Dokumentation
CONTENIDO @ Github: CONTENIDO 4.10 - Mit einem Entwicklungszweig (develop-branch), das viele Verbesserungen/Optimierungen erhalten hat und auf Stabilität und Kompatibilität mit PHP 8.0 bis 8.2 getrimmt wurde.

derSteffen
Beiträge: 847
Registriert: Mi 14. Dez 2005, 16:15
Wohnort: Königs Wusterhausen bei Berlin
Kontaktdaten:

Re: HTML5 Layout/Template für CONTENIDO 4.8

Beitrag von derSteffen » Mi 14. Aug 2013, 06:29

Hallo xmurrix,

vielen Dank. Ich habe das in meinen oberen Post gleich aktualisiert!

MfG Steffen

Gesperrt