Code - Fragen

Ein CMSimple Support Forum für deutsch sprechende Nutzer und Entwickler
lck
Posts: 2058
Joined: Wed Mar 23, 2011 11:43 am
Contact:

Re: Code - Fragen

Post by lck » Mon May 04, 2020 6:15 pm

olape wrote:
Thu Apr 30, 2020 6:08 pm
Die Seiten sind von 0 - ... durchnummeriert.
Alles andere, sitemap, logout, Konfiguration usw. ist eigentlich immer -1.
Danke Olaf! Aber was ist mit "Bearbeiten"?
Meinen Tests nach entspricht das

Code: Select all

(($s !== -1) && $edit)
oder anders geschrieben

Code: Select all

(($s > -1) && $edit)
oder auch

Code: Select all

(($s >= 0) && $edit)
„Bevor du den Pfeil der Wahrheit abschießt, tauche die Spitze in Honig!“   👉 Ludwig's XH-Templates for MultiPage & OnePage

olape
Posts: 1263
Joined: Fri Mar 13, 2015 8:47 am
Contact:

Re: Code - Fragen

Post by olape » Mon May 04, 2020 6:39 pm

lck wrote:
Mon May 04, 2020 6:15 pm
Danke Olaf! Aber was ist mit "Bearbeiten"?
Meinen Tests nach entspricht das
Ja, sollte alles funktionieren, denke ich.

cmb
Posts: 13395
Joined: Tue Jun 21, 2011 11:04 am
Location: Mü-Sa, RLP, DE
Contact:

Re: Code - Fragen

Post by cmb » Sat May 16, 2020 7:13 pm

olape wrote:
Thu Apr 30, 2020 6:08 pm
lck wrote:
Thu Apr 30, 2020 5:03 pm
Frage zu Variable $s.
Ist die Seite www.example.com/?&logout gleich "$s === -1" ?
Gibt es zu $s irgendwo eine Auflistung, welche Seiten haben welchen Index?
Die Seiten sind von 0 - ... durchnummeriert.
Alles andere, sitemap, logout, Konfiguration usw. ist eigentlich immer -1.
Stimmt ledier erst nachdem alle Plugins geladen wurden; im Template kann man davon ausgehen, dass es so ist.
Christoph M. Becker – Plugins for CMSimple_XH

olape
Posts: 1263
Joined: Fri Mar 13, 2015 8:47 am
Contact:

Re: Code - Fragen

Post by olape » Sat May 16, 2020 7:29 pm

cmb wrote:
Sat May 16, 2020 7:13 pm
Stimmt ledier erst nachdem alle Plugins geladen wurden; im Template kann man davon ausgehen, dass es so ist.
Und was ist, bis alle Plugins geladen sind?
Ist das überhaupt relevant? Für Plugin-Entwickler wahrscheinlich ja, denke ich.

cmb
Posts: 13395
Joined: Tue Jun 21, 2011 11:04 am
Location: Mü-Sa, RLP, DE
Contact:

Re: Code - Fragen

Post by cmb » Sat May 16, 2020 8:44 pm

olape wrote:
Sat May 16, 2020 7:29 pm
cmb wrote:
Sat May 16, 2020 7:13 pm
Stimmt ledier erst nachdem alle Plugins geladen wurden; im Template kann man davon ausgehen, dass es so ist.
Und was ist, bis alle Plugins geladen sind?
Ist das überhaupt relevant? Für Plugin-Entwickler wahrscheinlich ja, denke ich.
Da gibt es bestenfalls Workarounds (evtl. $pd_s, oder wie auch immer); siehe viewtopic.php?f=29&t=5142, wo das Problem vor langem schon einmal diskutiert wurde.
Christoph M. Becker – Plugins for CMSimple_XH

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

Re: Code - Fragen

Post by lck » Sun May 17, 2020 11:23 am

cmb wrote:
Sat May 16, 2020 7:13 pm
olape wrote:
Thu Apr 30, 2020 6:08 pm
lck wrote:
Thu Apr 30, 2020 5:03 pm
Frage zu Variable $s.
Ist die Seite www.example.com/?&logout gleich "$s === -1" ?
Gibt es zu $s irgendwo eine Auflistung, welche Seiten haben welchen Index?
Die Seiten sind von 0 - ... durchnummeriert.
Alles andere, sitemap, logout, Konfiguration usw. ist eigentlich immer -1.
Stimmt leider erst nachdem alle Plugins geladen wurden; im Template kann man davon ausgehen, dass es so ist.
1) Wie sieht es mit der Seite aus, die im Backend beim Umschalten auf eine Zweitsprache erscheint, mit dem Inhalt "No page selected". Kann man diese eindeutig ansprechen?
Hintergrund: Ich möchte hier bestimmte div-Container anzeigen oder eben auch nicht.

2) Wie per php nichts ausgeben, reicht hier

Code: Select all

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

cmb
Posts: 13395
Joined: Tue Jun 21, 2011 11:04 am
Location: Mü-Sa, RLP, DE
Contact:

Re: Code - Fragen

Post by cmb » Sun May 17, 2020 12:27 pm

lck wrote:
Sun May 17, 2020 11:23 am
1) Wie sieht es mit der Seite aus, die im Backend beim Umschalten auf eine Zweitsprache erscheint, mit dem Inhalt "No page selected". Kann man diese eindeutig ansprechen?
Hintergrund: Ich möchte hier bestimmte div-Container anzeigen oder eben auch nicht.
Diese Meldung wird im Bearbeitungsmodus immer dann ausgegeben, wenn CMSimple_XH nicht weiß, welche Seite bearbeitet werden soll. Die Prüfgung auf ($s < 0 && $edit) ist nicht absolut narrensicher; möglicherweise geht:

Code: Select all

($s == -1 && !$f && $su == '' && $edit)
lck wrote:
Sun May 17, 2020 11:23 am
2) Wie per php nichts ausgeben, reicht hier

Code: Select all

<?php echo '';?>
Das geht, aber wenn du nichts ausgeben willst, dann kannst du auch einfach nichts tun. :)
Christoph M. Becker – Plugins for CMSimple_XH

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

Re: Code - Fragen

Post by lck » Sun May 17, 2020 2:02 pm

Danke Christoph, werde es testen.
cmb wrote:
Sun May 17, 2020 12:27 pm
Das geht, aber wenn du nichts ausgeben willst, dann kannst du auch einfach nichts tun.
:) Gilt das auch in der Kombination aus if und elseif?
„Bevor du den Pfeil der Wahrheit abschießt, tauche die Spitze in Honig!“   👉 Ludwig's XH-Templates for MultiPage & OnePage

cmb
Posts: 13395
Joined: Tue Jun 21, 2011 11:04 am
Location: Mü-Sa, RLP, DE
Contact:

Re: Code - Fragen

Post by cmb » Sun May 17, 2020 3:06 pm

lck wrote:
Sun May 17, 2020 2:02 pm
cmb wrote:
Sun May 17, 2020 12:27 pm
Das geht, aber wenn du nichts ausgeben willst, dann kannst du auch einfach nichts tun.
:) Gilt das auch in der Kombination aus if und elseif?
Bei einem if-else, lässt man einfach den Zweig leer, der nichts tun (ausgeben soll). Ist das der then-Zweig, dann invertiert man die Bedingung, und verschiebt den else-Zweig in den then-Zweig. Beispiel:

Code: Select all

if ($bedingung) {
    // tue nichts
} else {
    echo 'irgendwas';
}
wird zu

Code: Select all

if (!($bedingung)) {
    echo 'irgendwas';
}
Handelt es sich tatsächlich um ein elseif, dann kann man diesen Zweig einfach komplett entfallen lassen, wenn er nichts tun soll.

Natürlich kann man statt eines `echo '';` auch einfach einen Kommentar schreiben, dass in einem Zweig eben nichts passieren soll (also wie im obigen Beispeil). Python hat hierfür sogar das Schlüsselwort `pass`. Es kann also gelegentlich sinnvoll sein, explizit zu kommentieren, dass nichts zu tun ist.
Christoph M. Becker – Plugins for CMSimple_XH

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

Re: Code - Fragen

Post by lck » Mon May 18, 2020 10:07 am

cmb wrote:
Sun May 17, 2020 3:06 pm
Handelt es sich tatsächlich um ein elseif, dann kann man diesen Zweig einfach komplett entfallen lassen, wenn er nichts tun soll.
Sehr schön, danke.
cmb wrote:
Sun May 17, 2020 12:27 pm
Die Prüfgung auf ($s < 0 && $edit) ist nicht absolut narrensicher; möglicherweise geht:

Code: Select all

($s == -1 && !$f && $su == '' && $edit)
Das geht, wichtig war hier die Variable $su == ''
Kannst du mir noch eine „Übersetzung“ zu $f geben? Laut Wiki ist das ja:

Code: Select all

$f | string | die angeforderte Spezialfunktion, z.B. 'search', 'mailform', 'sitemap'
Das scheint aber nicht gleich $search, $mailform oder $sitemap zu sein, oder?
„Bevor du den Pfeil der Wahrheit abschießt, tauche die Spitze in Honig!“   👉 Ludwig's XH-Templates for MultiPage & OnePage

Post Reply