Tipp - Nur Startseite anders gestalten

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

Re: Tipp - Nur Startseite anders gestalten

Post by lck » Sun Sep 09, 2018 4:35 pm

frase wrote:
Sun Sep 09, 2018 4:28 pm
Könnte das hier helfen?
Das müsste ich jetzt doch ausführlicher erklären, da gibt es dann ganz andere Probleme, deswegen auch oben nur die kurze Erklärung. Wir reden weiter, wenn es konkreter wird, danke.
„Bevor du den Pfeil der Wahrheit abschießt, tauche die Spitze in Honig!“   👉 Ludwig's XH-Templates for MultiPage & OnePage

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

Re: Tipp - Nur Startseite anders gestalten

Post by lck » Fri Mar 08, 2019 11:06 am

lck wrote:
Fri Mar 16, 2018 6:00 pm
cmb wrote:
Wed Mar 14, 2018 10:14 pm
CMSimple_XH speichert den Level jeder Seite im Array $l. Im Prinzip kannst du also etwa folgendes schreiben:

Code: Select all

if ($l[$s]) { /* mach was */ }
Das gibt aber, falls $s === -1 (z.B. in der Plugin-Administration), eine Notice, die man (in diesem Fall) wie folgt vermeiden kann:

Code: Select all

if (!empty($l[$s])) { /* mach was /* }
Habe das mal mit folgendem Code probiert. Die Meldung erscheint jetzt bei allen menulevel1-Seiten, schon mal nicht schlecht.

Code: Select all

<?php if ($s >= 0 && $l[$s] == 1):?>
<?php echo "Hello World!"; ?>
<?php endif;?>
Wie kann ich jetzt eine bestimmte Seite auswählen oder auch mehrere Seiten? Zum Beispiel wenn ich 6 menulevel1-Links habe, nur Link-1, Link-3, Link-4.
Zum letzten Code, wie könnte ich folgendes umsetzen.
Wenn aktiv 1. Seite (soll auch für alle Unterseiten gelten) > mach was
Wenn aktiv 2. Seite (soll auch für alle Unterseiten gelten) > mach was
Wenn aktiv 3. Seite (soll auch für alle Unterseiten gelten) > mach was
...
In etwa so, das leider nicht funktioniert:

Code: Select all

<?php if ($s == 0 && $l[$s] >= 1):?>
<?php echo "Hello World!"; ?>
<?php endif;?>

<?php if ($s == 1 && $l[$s] >= 1):?>
<?php echo "Hello World!"; ?>
<?php endif;?>

<?php if ($s == 2 && $l[$s] >= 1):?>
<?php echo "Hello World!"; ?>
<?php endif;?>
„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: Tipp - Nur Startseite anders gestalten

Post by cmb » Fri Mar 08, 2019 7:10 pm

lck wrote:
Fri Mar 08, 2019 11:06 am
Zum letzten Code, wie könnte ich folgendes umsetzen.
Wenn aktiv 1. Seite (soll auch für alle Unterseiten gelten) > mach was
Wenn aktiv 2. Seite (soll auch für alle Unterseiten gelten) > mach was
Wenn aktiv 3. Seite (soll auch für alle Unterseiten gelten) > mach was
Wichtig ist zu berücksichtigen, dass $s alle Seiten (unabhängig vom Level) stumpf durchnummeriert (alte Heading-Angabe):

Code: Select all

<h1>Start</h1> <!-- $s === 0 -->
<h2>Foo</h2>   <!-- $s === 1 -->
<h3>Bar</h3>   <!-- $s === 2 -->
<h1>Zwei</h1>  <!-- $s === 3 -->
Um also zu prüfen ob „Start“ oder eine deren Unterseiten gewählt ist:

Code: Select all

if ($s >= 0 && $s <= 2) { /* mach was */}
Aber: das ist natürlich extrem zerbrechlich, weil sich beim Einfügen oder Löschen von Seiten eben auch das $s ändert.
Christoph M. Becker – Plugins for CMSimple_XH

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

Re: Tipp - Nur Startseite anders gestalten

Post by lck » Fri Mar 08, 2019 7:55 pm

cmb wrote:
Fri Mar 08, 2019 7:10 pm
Aber: das ist natürlich extrem zerbrechlich, weil sich beim Einfügen oder Löschen von Seiten eben auch das $s ändert.
Tja, das ist dann nicht das was ich suche, so funktioniert das nicht. Geht's vielleicht über die Menülevel? Aber dazu müsste man auch die Seiten eindeutig identifizieren können :? .
Ich wollte eigentlich so etwas wie hier umsetzen, aber halt einfacher, ohne Plugin nur über das 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: Tipp - Nur Startseite anders gestalten

Post by cmb » Sat Mar 09, 2019 8:49 am

lck wrote:
Fri Mar 08, 2019 7:55 pm
Tja, das ist dann nicht das was ich suche, so funktioniert das nicht. Geht's vielleicht über die Menülevel? Aber dazu müsste man auch die Seiten eindeutig identifizieren können :? .
Ich wollte eigentlich so etwas wie hier umsetzen, aber halt einfacher, ohne Plugin nur über das Template.
Wenn fixe Werte für $s nicht akzeptabel sind, dann könnte man höchstens noch mit $su arbeiten, dass die „URL“ der Seite enthält; vgl. https://wiki.cmsimple-xh.org/doku.php/t ... djustments. Prüft man, ob $su mit einer bestimmten Zeichenkette beginnt, kann man auch Unterseiten abdecken. Aber auch $su kann sich natürlich ändern…

Letztlich läuft es eben darauf hinaus, dass man irgendwie einer Seite ein bestimmtes Headerbild zuordnet. Das kann man mit Morepagedata machen, aber praktisch gleichwertig auf die klassische Weise. Andere Varianten, z.B. wie oben per $s und $su, sind möglich, aber da muss man eben genau darauf achten, dass sie up-to-date sind.
Christoph M. Becker – Plugins for CMSimple_XH

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

Re: Tipp - Nur Startseite anders gestalten

Post by lck » Sat Mar 09, 2019 11:21 am

cmb wrote:
Sat Mar 09, 2019 8:49 am
Andere Varianten, z.B. wie oben per $s und $su, sind möglich, aber da muss man eben genau darauf achten, dass sie up-to-date sind.
Ja eben, das ist nicht benutzerfreundlich.
„Bevor du den Pfeil der Wahrheit abschießt, tauche die Spitze in Honig!“   👉 Ludwig's XH-Templates for MultiPage & OnePage

Post Reply