Sprachversionen und html-Tag Attribut lang

Fragen zur Installation von CONTENIDO 4.9? Probleme bei der Konfiguration? Hinweise oder Fragen zur Entwicklung des Systemes oder zur Sicherheit?
Antworten
Horst1234
Beiträge: 366
Registriert: Sa 25. Okt 2008, 12:45
Wohnort: Bremen
Kontaktdaten:

Sprachversionen und html-Tag Attribut lang

Beitrag von Horst1234 »

Hallo,
ich möchte in einer zweisprachigen Version einer Website (engl. und deutsch) gerne auch die automatische hyphens im CSS nutzen (-moz-hyphens: auto;
hyphens: auto;). Hierzu benötigt man aber im einleitenden html-Tag die Spezifizierung lang=de und lang=en.
Wenn Contenido Sprachversionen nun synchronisieren soll (das brauche ich), dann kann ich nicht verschiedene Templates oder Module nutzen, bei der Synchronisierung wird ja immer alles wieder auf ein Template zurückgesetzt.
Git es ein Skript für Contenido, das je nach Sprachversion das Attribut lang="de" oder lang="en" ins html-Tag setzt?
Gruß aus Bremen,
Horst
Webdesign | Contenido: Templateprogrammierung, Einrichtung und Verwaltung | http://www.w2media.de
Faar
Beiträge: 1945
Registriert: Sa 8. Sep 2007, 16:23
Wohnort: Brandenburg
Hat sich bedankt: 6 Mal
Kontaktdaten:

Re: Sprachversionen und html-Tag Attribut lang

Beitrag von Faar »

Man kann mit der Language ID (im 4.8 noch $lang) auch den Sprachen-Namen aus der DB bekommen, mit dieser Methode (Funktion):
https://api.contenido.org/con490/source ... nguageName

Wenn Du dich da an die internationale Konvention hältst bei der Sprachen Benennung, das heißt deine 1. Sprache "de" und deine zweite "en" statt z.B. "deutsch" oder "english". Damit hast du dann automatisch auch die Kürzel, die in das Metatag kommen.
Nun fehlt dir nur noch ein Container im Head-Bereich deines Layouts und ein Modul dazu, das je nach Language ID den Sprachennamen holt und in den Metatag einfügt. Den Metatag selbst schreibst du in das Modultemplate und im Platzhalter dann eben den Sprachennamen.
Fliegt der Bauer übers Dach, ist der Wind weißgott nicht schwach.
Oldperl
Beiträge: 4315
Registriert: Do 30. Jun 2005, 22:56
Wohnort: Eltmann, Unterfranken, Bayern
Hat sich bedankt: 3 Mal
Danksagung erhalten: 4 Mal
Kontaktdaten:

Re: Sprachversionen und html-Tag Attribut lang

Beitrag von Oldperl »

Servus,
Faar hat geschrieben: Do 14. Dez 2017, 13:59Wenn Du dich da an die internationale Konvention hältst bei der Sprachen Benennung, das heißt deine 1. Sprache "de" und deine zweite "en" statt z.B. "deutsch" oder "english". Damit hast du dann automatisch auch die Kürzel, die in das Metatag kommen.
Das ist nicht notwendig, denn bei den Mandanten wurde und wird bereits in 4.8 , und auch in 4.9, das Land und die Sprache in den Sprach-Einstellungen festgelegt. Diese kann man über cRegistry::getLanguage()->getProperty("language", "code") ja recht einfach abfragen und damit entweder direkt im Layout oder per Modul den Tag zusammen setzen.

Gruß aus Franken

Ortwin
ConLite 3.0.0-dev, alternatives und stabiles Update von Contenido 4.8.x unter PHP 8.x - Download und Repo auf Gitport.de
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog
Horst1234
Beiträge: 366
Registriert: Sa 25. Okt 2008, 12:45
Wohnort: Bremen
Kontaktdaten:

Re: Sprachversionen und html-Tag Attribut lang

Beitrag von Horst1234 »

Vielen Dank für die Antworten,
ich werde das durchprobieren,
Horst
Webdesign | Contenido: Templateprogrammierung, Einrichtung und Verwaltung | http://www.w2media.de
Horst1234
Beiträge: 366
Registriert: Sa 25. Okt 2008, 12:45
Wohnort: Bremen
Kontaktdaten:

Re: Sprachversionen und html-Tag Attribut lang

Beitrag von Horst1234 »

Hallo zusammen,
ich hab das Problem damals mit meinen begenzten Programmierkenntnissen nicht lösen können.
Könnte mir jemand ein Snippet posten, dass ich gleich ins Layout packe, damit im Tag <html lang="xy"> die aktuelle Sprachversion direkt eingelesen wird. Das wär super!
Gruß aus Bremen,
Horst
Webdesign | Contenido: Templateprogrammierung, Einrichtung und Verwaltung | http://www.w2media.de
chris8408
Beiträge: 89
Registriert: So 2. Apr 2006, 19:07
Wohnort: Korschenbroich
Kontaktdaten:

Re: Sprachversionen und html-Tag Attribut lang

Beitrag von chris8408 »

Hallo Horst,

ich weiß nicht genau, ob ich dich richtig verstanden habe.

Du möchtest im Quelltext der Ausgabe im Tag <html lang="xy"> das XY durch den jeweiligen Namen der Sprache (die du dann de oder en genannt hast) ersetzen. Richtig?

Ich würde das über einen Container lösen.

Container in den Tag bauen:
<html lang="<container id="100" name="sprachenname" types="head" mode="fixed" default="sprachenname">sprachenname</container>">

Dann Modul mit folgendem Output anlegen

Code: Alles auswählen

<?php
$languageCollectionInstance = new cApiLanguageCollection();
$currentLanguageId = cRegistry::getLanguageId();
echo $languageCollectionInstance->getLanguageName($currentLanguageId );
?>
Modul in der Vorlage zuordnen...

Meist du sowas?

Gruß, Christian
--------------------------------------------
Christian John aus Korschenbroich bei Düsseldorf (https://www.john-softwareentwicklung.de)
Selbständiger Web-Entwickler
“There are 10 types of people in the world… those that understand binary and those that don’t.”
Horst1234
Beiträge: 366
Registriert: Sa 25. Okt 2008, 12:45
Wohnort: Bremen
Kontaktdaten:

Re: Sprachversionen und html-Tag Attribut lang

Beitrag von Horst1234 »

Hallo Christian,

Ja so in der Art, aber ein Container innerhalb eines Tags funktioniert nicht, daher habe ich es so erweitert:

Code: Alles auswählen

<?php
$languageCollectionInstance = new cApiLanguageCollection();
$currentLanguageId = cRegistry::getLanguageId();
echo '<html lang="', $languageCollectionInstance->getLanguageName($currentLanguageId ), '">';
?>
und damit den ganzen html-Tag ersetzt. Klappt perfekt.
Vielen Dank für deine Hinweise,
Gruß,
Horst
Zuletzt geändert von Oldperl am Fr 20. Mai 2022, 07:30, insgesamt 1-mal geändert.
Grund: Moderation: Code-Tags ergänzt
Webdesign | Contenido: Templateprogrammierung, Einrichtung und Verwaltung | http://www.w2media.de
malsdgtac
Beiträge: 717
Registriert: Fr 12. Mär 2004, 15:50
Kontaktdaten:

Re: Sprachversionen und html-Tag Attribut lang

Beitrag von malsdgtac »

Danke, genau das habe ich gerade gesucht
Oldperl
Beiträge: 4315
Registriert: Do 30. Jun 2005, 22:56
Wohnort: Eltmann, Unterfranken, Bayern
Hat sich bedankt: 3 Mal
Danksagung erhalten: 4 Mal
Kontaktdaten:

Re: Sprachversionen und html-Tag Attribut lang

Beitrag von Oldperl »

Servus,
Horst1234 hat geschrieben: Do 27. Jan 2022, 15:06...aber ein Container innerhalb eines Tags funktioniert nicht
Nun, dann einfach den gesamten Tag in einem Modul generieren.

Gruß aus Franken

Ortwin
ConLite 3.0.0-dev, alternatives und stabiles Update von Contenido 4.8.x unter PHP 8.x - Download und Repo auf Gitport.de
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog
Antworten