+1
Languagemenü - Flaggen oder Kürzel
Re: Languagemenü - Flaggen oder Kürzel
Du meinst $tx['help']['language_menu']? Das sollte idealerweise in allen Sprachdateien angepasst werden, aber wenn keine Übersetzung da ist, dann reichen halt en.php und de.php.
Christoph M. Becker – Plugins for CMSimple_XH
Re: Languagemenü - Flaggen oder Kürzel
Ich habe für einige Versionen auch die SK Überstzungen gegeben. Meine Erfahrung ist aber, daß es kaum jemand gelesen hat. Mir reichen die EN und DE Versionen reichlich gut. Es ist nur irgendwo zu erwähnen, dass es völlig reicht, eine der (EN/DE) Dateien umzunennen und dan zu übersetzen.
CMSimple.sk
It's no shame to ask for an answer if all efforts failed.
But it's awful to ask without any effort to find the answer yourself.
It's no shame to ask for an answer if all efforts failed.
But it's awful to ask without any effort to find the answer yourself.
Re: Languagemenü - Flaggen oder Kürzel
Ja, genau das meine ich. Und defauft.php, oder?
„Bevor du den Pfeil der Wahrheit abschießt, tauche die Spitze in Honig!“ Ludwig's XH-Templates for MultiPage & OnePage
Re: Languagemenü - Flaggen oder Kürzel
default.php gibt es im Repo nicht; die Datei wird beim Build als Kopie von en.php erstellt.
Christoph M. Becker – Plugins for CMSimple_XH
Re: Languagemenü - Flaggen oder Kürzel
Umso besser. Eine Datei weniger zu ändern.
Neuer Download, Version 3. Änderung, nur Leerzeichen vor dem </a> entfernt.
„Bevor du den Pfeil der Wahrheit abschießt, tauche die Spitze in Honig!“ Ludwig's XH-Templates for MultiPage & OnePage
Re: Languagemenü - Flaggen oder Kürzel
Neue Frage. Wie kann man im folgenden Code, alle Ausgaben vom $t 's mit einem (oder mehreren) gemeinsamen div umschließen?
Die einzelnen $t 's wären kein Problem. Bei meinen Versuchen habe ich es sogar soweit gebracht, dass die template.htm komplett geleert wurde . Fragt mich jetzt aber nicht, wie. Ich war froh noch kurz vorher eine Sicherung erstellt zu haben. Aber interessant ist das allemal, dass so etwas mit einem schlichten PHP-Codefehler überhaupt geht.
Die einzelnen $t 's wären kein Problem. Bei meinen Versuchen habe ich es sogar soweit gebracht, dass die template.htm komplett geleert wurde . Fragt mich jetzt aber nicht, wie. Ich war froh noch kurz vorher eine Sicherung erstellt zu haben. Aber interessant ist das allemal, dass so etwas mit einem schlichten PHP-Codefehler überhaupt geht.
Code: Select all
...
} elseif (isset($cf['language']['menu'])
&& $cf['language']['menu'] == 'flagsandlongname'
) {
$t .= '<a class="flagsandlongname" href="' . $url . '">' . $el_short_long . '<span>' . $title . '</span></a>';
}
}
return $t;
}
?>
„Bevor du den Pfeil der Wahrheit abschießt, tauche die Spitze in Honig!“ Ludwig's XH-Templates for MultiPage & OnePage
Re: Languagemenü - Flaggen oder Kürzel
Eigentlich sollte das im Template erfolgen.
In "fhs-simple-2019" (also in deinem Beispiel) erfolgt das mit "<nav class="langMenu"><?=languagemenu();?></nav>"
Ob das ein<nav> oder <div> ist, spielt da kaum eine Rolle.
Willst du es aber über die tplfuncs.php tun, dann müsste das in etwa so aussehen (ca. ab Zeile 534):
Code: Select all
$t = '<div class="xxx">';
foreach ($r as $lang) {
$url = $pth['folder']['base']
. ($lang == $cf['language']['default'] ? '' : $lang . '/');
$img = $pth['folder']['templateflags'] . $lang . '.gif';
if (!file_exists($img)) {
$img = $pth['folder']['flags'] . $lang . '.gif';
}
$title = isset($langName[$lang])
? $langName[$lang]
: $lang;
$el = file_exists($img)
? '<img src="' . $img . '" alt="' . $title . '" title="'
. $title . '" class="flag">'
: $title;
$el_short_long = file_exists($img)
? '<img src="' . $img . '" alt="' . $title . '">'
: $title;
if (isset($cf['language']['menu'])
&& $cf['language']['menu'] == 'flags'
) {
$t .= '<a href="' . $url . '">' . $el . '</a>';
} elseif (isset($cf['language']['menu'])
&& $cf['language']['menu'] == 'shortname'
) {
$t .= '<a class="shortname"href="' . $url . '" title="'. $title . '"><span>' . $lang . '</span></a>';
} elseif (isset($cf['language']['menu'])
&& $cf['language']['menu'] == 'longname'
) {
$t .= '<a class="longname" href="' . $url . '"><span>' . $title . '</span></a>';
} elseif (isset($cf['language']['menu'])
&& $cf['language']['menu'] == 'flagsandshortname'
) {
$t .= '<a class="flagsandshortname" href="' . $url . '" title="'. $title . '">' . $el_short_long . '<span>' . $lang . '</span></a>';
} elseif (isset($cf['language']['menu'])
&& $cf['language']['menu'] == 'flagsandlongname'
) {
$t .= '<a class="flagsandlongname" href="' . $url . '">' . $el_short_long . '<span>' . $title . '</span></a>';
}
}
$t .= '</div>';
return $t;
}
Übrigens:
Wenn du beim XH-Standard bleiben willst, dann solltest du dein Notepad++ so einstellen, dass es statt Tabs -> 4 Leerzeichen zur Einrückung verwendet.
Re: Languagemenü - Flaggen oder Kürzel
Das ist klar, das will ich aber in dem Fall nicht.
Ich will nur einen bestimmten Bereich, im Beispiel "flagsandlongname" mit einem div umgeben. Nicht alle optionalen Ausgaben. Es soll ein Dropdownmenü fix und fertig ausgegeben werden, simple einstellbar durch die Konfig-Option z.B. "dd_flagsandlongname".
Wie gesagt, das ist nicht das was ich suche. Aber, du hast mich in die richtige Richtung geschubst, danke! Ich habe den Code mit folgendem Abschnitt erweitert. Das wird dann noch entsprechend erweitert.
Code: Select all
elseif (isset($cf['language']['menu'])
&& $cf['language']['menu'] == 'dd_flagsandlongname'
) {
$t_flagsandlongname .= '<a class="flagsandlongname" href="' . $url . '">' . $el_short_long . '<span>' . $title . '</span></a>';
$t = '<div class="xxx">' . $t_flagsandlongname . '</div>';
}
Das habe ich extra immer so eingestellt, finde ich praktischer als 4 Leerzeichen. Ist das ein wirkliches Problem? Wenn ja, werde ich das in Zukunft so handhaben.
„Bevor du den Pfeil der Wahrheit abschießt, tauche die Spitze in Honig!“ Ludwig's XH-Templates for MultiPage & OnePage
Re: Languagemenü - Flaggen oder Kürzel
Frank hat ja bereits eine Möglichkeit gepostet. Eine Alternative wäre nur die Zeile mit return $t; anzupassen:
Code: Select all
return '<div class="xxx">' . $t . '</div>';
Das sollte eigentlich nicht möglich sein, es sei denn du speicherst gerade das (bearbeitete) Template aus dem Backend heraus.lck wrote: ↑Fri Jul 30, 2021 6:28 pmBei meinen Versuchen habe ich es sogar soweit gebracht, dass die template.htm komplett geleert wurde . Fragt mich jetzt aber nicht, wie. Ich war froh noch kurz vorher eine Sicherung erstellt zu haben. Aber interessant ist das allemal, dass so etwas mit einem schlichten PHP-Codefehler überhaupt geht.
Jedenfalls ist ein Backup immer gut, und es gibt viele Möglichkeiten, das anzulegen. Eine ist, das ganze in einem Git-Repo (losgelöst von github.com oder irgendeinem Code-Repo) zu verwalten. Ich mache das mit TortoiseGit. Dann einfach an gewünschtem Ort einen leeren Ordner erzeugen, und per Explorer Kontextmenü "Git Create repository here..." aufrufen, die Checkbox leer lassen und OK drücken. Dann die gewünschten Dateien in den Ordner kopieren, und dann per Explorer-Kontextmenü "Git Commit -> "master"... aufrufen; dann in der Liste unten alle Dateien markieren, und per Kontextmenü "Add" wählen, und OK drücken. Dann eine Message eingeben (etwa Original), und unten Commit drücken. Dann den Dialog schließen (Close). Fertig. Jetzt kannst du beliebige Änderungen in dem Ordner vornehmen, und mittels Explorer-Kontextmenü TortoiseGit → "Revert..." wieder auf den Ursprungszustand zurücksetzen.
Ja, das sollte passen.lck wrote: ↑Sat Jul 31, 2021 10:32 amFunktioniert. Ob's so in Ordnung ist? @ChristophCode: Select all
elseif (isset($cf['language']['menu']) && $cf['language']['menu'] == 'dd_flagsandlongname' ) { $t_flagsandlongname .= '<a class="flagsandlongname" href="' . $url . '">' . $el_short_long . '<span>' . $title . '</span></a>'; $t = '<div class="xxx">' . $t_flagsandlongname . '</div>'; }
Christoph M. Becker – Plugins for CMSimple_XH