Code - Fragen

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:

Re: Code - Fragen

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?
Christoph M. Becker – Plugins for CMSimple_XH

lck
Posts: 2967
Joined: Wed Mar 23, 2011 11:43 am
Contact:

Re: Code - Fragen

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.
„Bevor du den Pfeil der Wahrheit abschießt, tauche die Spitze in Honig!“   👉 Ludwig's XH-Templates for MultiPage & OnePage

cmb
Posts: 14225
Joined: Tue Jun 21, 2011 11:04 am
Location: Bingen, RLP, DE
Contact:

Re: Code - Fragen

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.
Christoph M. Becker – Plugins for CMSimple_XH

lck
Posts: 2967
Joined: Wed Mar 23, 2011 11:43 am
Contact:

Re: Code - Fragen

Post by lck » Thu Dec 30, 2021 10:41 am

Danke Christoph! Werde ich mal so umsetzen und testen.
„Bevor du den Pfeil der Wahrheit abschießt, tauche die Spitze in Honig!“   👉 Ludwig's XH-Templates for MultiPage & OnePage

lck
Posts: 2967
Joined: Wed Mar 23, 2011 11:43 am
Contact:

Re: Code - Fragen

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.
„Bevor du den Pfeil der Wahrheit abschießt, tauche die Spitze in Honig!“   👉 Ludwig's XH-Templates for MultiPage & OnePage

cmb
Posts: 14225
Joined: Tue Jun 21, 2011 11:04 am
Location: Bingen, RLP, DE
Contact:

Re: Code - Fragen

Post by cmb » Thu Jan 06, 2022 7:10 pm

lck wrote:
Thu Jan 06, 2022 5:45 pm
Das funktioniert!
:D
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.
Christoph M. Becker – Plugins for CMSimple_XH

lck
Posts: 2967
Joined: Wed Mar 23, 2011 11:43 am
Contact:

Re: Code - Fragen

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? :)
„Bevor du den Pfeil der Wahrheit abschießt, tauche die Spitze in Honig!“   👉 Ludwig's XH-Templates for MultiPage & OnePage

lck
Posts: 2967
Joined: Wed Mar 23, 2011 11:43 am
Contact:

Re: Code - Fragen

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?
„Bevor du den Pfeil der Wahrheit abschießt, tauche die Spitze in Honig!“   👉 Ludwig's XH-Templates for MultiPage & OnePage

cmb
Posts: 14225
Joined: Tue Jun 21, 2011 11:04 am
Location: Bingen, RLP, DE
Contact:

Re: Code - Fragen

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).
Christoph M. Becker – Plugins for CMSimple_XH

lck
Posts: 2967
Joined: Wed Mar 23, 2011 11:43 am
Contact:

Re: Code - Fragen

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.
„Bevor du den Pfeil der Wahrheit abschießt, tauche die Spitze in Honig!“   👉 Ludwig's XH-Templates for MultiPage & OnePage

Post Reply