Ein CMSimple Support Forum für deutsch sprechende Nutzer und Entwickler
-
cmb
- Posts: 14225
- Joined: Tue Jun 21, 2011 11:04 am
- Location: Bingen, RLP, DE
-
Contact:
Post
by cmb » Mon Dec 27, 2021 10:22 pm
lck wrote: ↑Mon Dec 27, 2021 8:30 pm
So weit verstanden. Bei der Umsetzung hapert's allerdings
.
Ich meine in etwa folgendes in template.htm:
Code: Select all
<?=head()?>
<?php if ($sl !== $cf['language']['default']):?>
<link rel="stylesheet" href="<?=$pth['folder']['template']?>stylesheet-<?=$sl?>.css">
<?php endif?>
</head>
Bei der Standardsprache passiert nichts, was nicht sowieso passiert. Bei Zweitsprachen wird aber ein stylesheet-fr.css (oder stylesheet-it.css etc.), das direkt im Templateordner liegt, verlinkt, und zwar
nach allen anderen Stylesheets.
Hilft dir das weiter?
-
lck
- Posts: 2967
- Joined: Wed Mar 23, 2011 11:43 am
-
Contact:
Post
by lck » Tue Dec 28, 2021 11:20 am
cmb wrote: ↑Mon Dec 27, 2021 10:22 pm
lck wrote: ↑Mon Dec 27, 2021 8:30 pm
So weit verstanden. Bei der Umsetzung hapert's allerdings
.
Ich meine in etwa folgendes in template.htm:
Code: Select all
<?=head()?>
<?php if ($sl !== $cf['language']['default']):?>
<link rel="stylesheet" href="<?=$pth['folder']['template']?>stylesheet-<?=$sl?>.css">
<?php endif?>
</head>
Aber das ist ja das Gleiche in grün. Hatte das ja in meinen letzten Templates schon umgesetzt per:
Code: Select all
if (file_exists("{$pth['folder']['template']}$sl.css")) {
echo '<link rel="stylesheet" type="text/css" href="'.$pth['folder']['template'].$sl.'.css">'."\n";
}
Platziert vor </head>. Das hat aber keinen Einfluss auf das Print-Template.
-
cmb
- Posts: 14225
- Joined: Tue Jun 21, 2011 11:04 am
- Location: Bingen, RLP, DE
-
Contact:
Post
by cmb » Wed Dec 29, 2021 9:48 pm
lck wrote: ↑Tue Dec 28, 2021 11:20 am
Das hat aber keinen Einfluss auf das Print-Template.
Oh, Mist, da hatte ich den Kontext total vergessen. Ohne Anpassungen am Core könnte man das wohl nur durch Verbiegen von $pth['file']['stylesheet'] erreichen. Also in index.php des Template-Plugins etwa:
Code: Select all
if ($sl !== $cf['language']['default']) {
$pth['file']['stylesheet'] = "{$pth['folder']['template']}stylesheet-$sl.css";
}
Da so das eigentliche Template-Stylesheet nicht mehr eingebunden würde, müsste man dies in den sprachspezifischen Stylesheets importieren. Und da auf diese Weise bei Zweitsprachen auch bei Verwendung des richtigen Templates ebenfalls das sprachspezifische Stylesheet verwendet wird, sollte es dann nicht noch einmal manuell in template.htm verlinkt werden. Alles ungetestet.
-
lck
- Posts: 2967
- Joined: Wed Mar 23, 2011 11:43 am
-
Contact:
Post
by lck » Thu Dec 30, 2021 10:41 am
Danke Christoph! Werde ich mal so umsetzen und testen.
-
lck
- Posts: 2967
- Joined: Wed Mar 23, 2011 11:43 am
-
Contact:
Post
by lck » Thu Jan 06, 2022 5:45 pm
cmb wrote: ↑Wed Dec 29, 2021 9:48 pm
Ohne Anpassungen am Core könnte man das wohl nur durch Verbiegen von $pth['file']['stylesheet'] erreichen. Also in index.php des Template-Plugins etwa:
Code: Select all
if ($sl !== $cf['language']['default']) {
$pth['file']['stylesheet'] = "{$pth['folder']['template']}stylesheet-$sl.css";
}
Da so das eigentliche Template-Stylesheet nicht mehr eingebunden würde, müsste man dies in den sprachspezifischen Stylesheets importieren. Und da auf diese Weise bei Zweitsprachen auch bei Verwendung des richtigen Templates ebenfalls das sprachspezifische Stylesheet verwendet wird, sollte es dann nicht noch einmal manuell in template.htm verlinkt werden. Alles ungetestet.
Das funktioniert!
Noch eine Frage zu Plugins. Die Variablen der Sprach- und Konfig-Dateien müssen immer beginnen $plugin_tx bzw. $plugin_cf gefolgt vom ['Pluginnamen']... . $tpl_tx['...'] bzw. $tpl_cf['...'] ist nicht möglich, oder? Nicht schlimm wenn nicht, nur mal zur Gewissheit nachgefragt.
Auch das abschließende ?> braucht's nicht mehr. Ich sehe da in manchen Plugins verschiedene Versionen, mal mit, mal ohne.
-
cmb
- Posts: 14225
- Joined: Tue Jun 21, 2011 11:04 am
- Location: Bingen, RLP, DE
-
Contact:
Post
by cmb » Thu Jan 06, 2022 7:10 pm
lck wrote: ↑Thu Jan 06, 2022 5:45 pm
Das funktioniert!
lck wrote: ↑Thu Jan 06, 2022 5:45 pm
Noch eine Frage zu Plugins. Die Variablen der Sprach- und Konfig-Dateien müssen immer beginnen $plugin_tx bzw. $plugin_cf gefolgt vom ['Pluginnamen']... . $tpl_tx['...'] bzw. $tpl_cf['...'] ist nicht möglich, oder? Nicht schlimm wenn nicht, nur mal zur Gewissheit nachgefragt.
Auch das abschließende ?> braucht's nicht mehr. Ich sehe da in manchen Plugins verschiedene Versionen, mal mit, mal ohne.
In den Dateien müssen die Variablennamen immer vollständig ausgeschrieben werden. Na ja, man könnte auch folgendes tun:
Code: Select all
<?php
$plugin_cf['mein_plugin'] => [
['erste_option'] => "irgendwas",
['zweite_option'] => "was anderes,
…
];
Aber viel hat man davon eigentlich nicht. Im Code (also auch im Template) kann man natürlich "Aliase" verwenden, etwa:
Code: Select all
$pcf = $plugin_cf['mein_plugin'];
if ($pcf['erste_option']) {
…
}
Das schließende ?> ist in PHP-Dateien immer optional. Ich lasse es gerne weg, aber beim Speichern durchs Backend wird es, glaube ich, angehängt.
-
lck
- Posts: 2967
- Joined: Wed Mar 23, 2011 11:43 am
-
Contact:
Post
by lck » Thu Jan 06, 2022 7:40 pm
Interessant, wieder was gelernt. Danke.
Möchtest du nicht mal einen Online PHP-Kurs halten?
-
lck
- Posts: 2967
- Joined: Wed Mar 23, 2011 11:43 am
-
Contact:
Post
by lck » Sat Jan 08, 2022 9:24 pm
Frage zu Plugins.
Ist es nicht auch möglich sprachabhängige Konfigurationsdateien zu haben? Wie geht das?
-
cmb
- Posts: 14225
- Joined: Tue Jun 21, 2011 11:04 am
- Location: Bingen, RLP, DE
-
Contact:
Post
by cmb » Sat Jan 08, 2022 10:11 pm
lck wrote: ↑Thu Jan 06, 2022 7:40 pm
Möchtest du nicht mal einen Online PHP-Kurs halten?
Das überlasse ich lieber anderen.
lck wrote: ↑Sat Jan 08, 2022 9:24 pm
Frage zu Plugins.
Ist es nicht auch möglich sprachabhängige Konfigurationsdateien zu haben? Wie geht das?
Das gab es bis zu XH 1.6 (oder so), und hieß dort $plugin_txc. Ich hatte vorgeschlagen, das zu entfernen, weil die meisten dieser Einstellungen eigentlich gar keine Einstellungen waren, und diese einfach in die Sprachdatei zu verschieben. Das wurde dann auch so gemacht. Ich hatte vor einer Weile schon mal geschrieben, dass wir diese sprachspezifischen Einstellungen vielleicht wieder einführen sollten (man könnte dann die Metakonfiguration und auch Hilfstexte verwenden).
-
lck
- Posts: 2967
- Joined: Wed Mar 23, 2011 11:43 am
-
Contact:
Post
by lck » Sat Jan 08, 2022 10:25 pm
cmb wrote: ↑Sat Jan 08, 2022 10:11 pm
Das gab es bis zu XH 1.6 (oder so), und hieß dort $plugin_txc.
Ah ja. ok. Ich dachte ich hätte dieses Feature schon in einem noch aktuellen Plugin gesehen, deswegen meine Frage.
Dann sind die durch das Template eingebundenen sprachspezifischen Dateien variabler, aber leider nicht per Plugin bedienbar.
Macht nix, momentan für mich nicht dringend notwendig.