Aufruf einer Subsite im Seitenmenü

CMSimple 4.0 und höher
Post Reply
Gonzo Gates
Posts: 371
Joined: Thu 19. Jan 2023, 21:46

Aufruf einer Subsite im Seitenmenü

Post by Gonzo Gates »

Hallo Gemeinde,

ich habe eine CMSimple Mainsite mit mehreren Subsites. Auf 'https://www.ge-webdesign.de/test522/?STARTSEITE' habe ich gesehen, dass eine Subsite im Seitenmenü verlinkt werden kann. Daraufhin habe ich eine neue Seite in meiner Mainsite erstellt und in dieser Seite alles gesöscht und nur mit

Code: Select all

<?php 
header("Location: ./0_Vorspeisen/");
?>
einen Redirect eingebaut. Als ich die Seite in Tiny abgespeichert hatte, wurde ich bei Vorschau auf die vorherige Seite in der Mainsite in den Beargeitungsmodus geschmissen. Auch

Code: Select all

<script language="javascript" type="text/javascript"> document.location="./0_Vorspeisen/"; </script>
hat nichts gebracht. Interessanterweise war dann aber in meiner Mainsite in Seitenmenü meine Link 'Vorspeisen' verschwunden. In der 'pagedata.php' der Mainsite konnte ich dann folgendes lesen:

Code: Select all

################## Recently deleted ############
$temp_data['url'] = 'Vorspeisen';
$temp_data['last_edit'] = '';
$temp_data['description'] = '';
$temp_data['keywords'] = '';
$temp_data['title'] = '';
$temp_data['robots'] = '';
$temp_data['heading'] = '';
$temp_data['show_heading'] = '';
$temp_data['template'] = '';
$temp_data['published'] = '';
$temp_data['show_last_edit'] = '';
$temp_data['linked_to_menu'] = '1';
$temp_data['header_location'] = '';
$temp_data['use_header_location'] = '';
$temp_data['sitetitle'] = '';
$temp_data['show_sitetitle'] = '';
Das habe ich mit anderen Subsites auch schon durchgespielt. Immer das gleiche.

Mir wurde also der Link und die Seite von CMSimple geklaut, ohne mich zu fragen.

Es wird noch wilder: in meiner 'content.php' steht jetzt am Ende meiner letzten sichtbaren Seite

Code: Select all

<!--?php 
header("Location: ./0_Vorspeisen/");
?-->
<p>&nbsp;</p>
<!--?php 
header("Location: ./5_Beilagen/");
?-->
<p>&nbsp;</p>
<!--?php 
header("Location: ./0_Vorspeisen/");
?-->
<p>
<script type="text/javascript" language="javascript"> document.location="./2_Pfannengerichte/"; </script>
</p>
<p>&nbsp;</p>
<!--?php echo CMSIMPLE_ROOT; . '0_Vorspeisen' ?-->
<p>&nbsp;</p>
<!--?php 
header("Location: CMSIMPLE_ROOT/0_Vorspeisen/");
?-->
Weil alle PHP-Eingaben meiner Versuche auskommentiert wurden, aber nicht die <script>-Eingabe, werde ich beim Aufruf der letzten sichtbaren Seite in der Mainsite auf die Subsite umgeleitet.

Habt ihr da irgend welche Ideen?

Gruß
Gonzo
Ich kenne keinen Sysadmin oder Programmierer, der sich noch nie ins Knie geschossen hat; mich mit eingeschlossen :!:
Gert
Posts: 2423
Joined: Sun 18. Nov 2012, 14:18

Re: Aufruf einer Subsite im Seitenmenü

Post by Gert »

Hallo Gonzo,

wenn ich das so lese, fällt mir eine Zeile aus einem alten Volkslied ein: "Röslein wehrte sich und stach", wobei CMSimple das Röslein ist und Du der wilde Knabe ;)

Gonzo Gates wrote: Sun 7. Jun 2026, 19:04 Daraufhin habe ich eine neue Seite in meiner Mainsite erstellt und in dieser Seite alles gesöscht und nur mit

Code: Select all

<?php 
header("Location: ./0_Vorspeisen/");
?>
einen Redirect eingebaut. Als ich die Seite in Tiny abgespeichert hatte, wurde ich bei Vorschau auf die vorherige Seite in der Mainsite in den Beargeitungsmodus geschmissen.
Da hast Du wohl im Bearbeitungsmodus die Überschrift, die die Seite erzeugt, gleich mit gelöscht. Ups - weg ist die Seite. Das erklärt auch den Eintrag unter "Recently deleted" in der pagedata.php.

Gonzo Gates wrote: Sun 7. Jun 2026, 19:04 Mir wurde also der Link und die Seite von CMSimple geklaut, ohne mich zu fragen.
Du hast die Seite wohl eher selbst entsorgt ... (siehe oben)

Gonzo Gates wrote: Sun 7. Jun 2026, 19:04 Es wird noch wilder:
Das kann ich beim besten Willen nicht nachvollziehen.

Scripting mit php direkt im Inhalt erlaubt CMSimple nicht, weil das die Abstürze wohl in ungeahnte Höhen treiben würde. Ein falsches Komma, ein vergessenes Semikolon, fertig ist die weisse Seite. So etwas darf man dem Anwender nicht erlauben, es sei denn, man hat Spass am Support ;)

Andererseits kann man CMSimple auch mit php Scripting in der template.htm direkt im Backend abschiessen, das würde ich am liebsten abschaffen, aber das würde wohl eher nicht gut ankommen.

Weiterleitung einer CMSimple Seite geht ganz einfach mit dem Tab "Seite" über dem Editor,

Gert

Gert
Gert Ebersbach | CMSimple | Templates - Plugins - Services
Gonzo Gates
Posts: 371
Joined: Thu 19. Jan 2023, 21:46

Re: Aufruf einer Subsite im Seitenmenü

Post by Gonzo Gates »

Hallo Gert,

wir hatten vor einiger Zeit an unserem Hochzeits-Wochenende in Lüneburg (Ein Wochenende um unseren Hochtzeitstag, an dem wir ein WE in irgendeiner Stadt verbringen, die wir nicht kennen) eine Kletterrose gekauft. Die muss mindestens alle 2 Jahre gebändigt werden und dabei wehrt sie sich gewaltig. Ach ja, Berlin war noch nicht dabei, da wir Bekanntschaft und Verwandschaft in Berlin haben und deshalb öfter dort sind. Farin Urlaub und Bela B wohnen übrigen nicht sehr weit weg von uns hier.

Du hast Recht. Ich habe die Überschrift

Code: Select all

<h1 class="_level1_page_">Beilagen</h1>
gelöscht. Eigendlich achte ich peinlich genau darauf mit der nichts zu machen, es sei denn ich benenne den Link um, aber gestern war wohl ein Tag, an dem bei mir das Denken ausfiel. Es könnte auch sein, da ich das im Quelltexteditor von Tiny und nicht in Notepad++ gemacht habe, dass es mir passiert ist.

Das, was du nicht nachvollziehen kannst, ist tatsächlich passiert. TinyMCE hat aus meinem PHP-Code beim Abspeichern einen HTML-Kommentar in der vorherigen Seite am Ende angelegt. Den JS-Code hat Tiny nicht auskommentiert auch dort abgelegt, was dazu führte, dass wenn ich die Seite im Seitenmenü aufgerufen hatte, ich auf die im JS-Code genannte Seite/Subsite umgeleitet wurde.

Ich habe die Umleitung, wie geheißen, im Tab 'Seite' im Editor angelegt und festgestellt, das in der 'pagedata.php' jetzt

Code: Select all

$page_data[3]['header_location'] = '5_Beilagen';
steht. Damit kann ich etwas anfangen, denn dann muss ich mich, wenn ich so etwas benötige, nicht erst groß anmelden.

Eins noch: Mit PHP-Code in der 'template.htm' habe ich mich auch schon abgeschossen. :roll:

Vielen Dank.

Gruß
Gonzo Gonzo
Ich kenne keinen Sysadmin oder Programmierer, der sich noch nie ins Knie geschossen hat; mich mit eingeschlossen :!:
Gert
Posts: 2423
Joined: Sun 18. Nov 2012, 14:18

Re: Aufruf einer Subsite im Seitenmenü

Post by Gert »

Gonzo Gates wrote: Mon 8. Jun 2026, 13:08 Das, was du nicht nachvollziehen kannst, ist tatsächlich passiert. TinyMCE hat aus meinem PHP-Code beim Abspeichern einen HTML-Kommentar in der vorherigen Seite am Ende angelegt.
Wenn Du nur die Überschrift löschst, wird der Inhalt der Seite an die vorige angehängt. Als es noch keinen PageManager gab (lange her), wusste das jeder ;)
Gonzo Gates wrote: Sun 7. Jun 2026, 19:04 Es wird noch wilder: in meiner 'content.php' steht jetzt am Ende meiner letzten sichtbaren Seite ...
Das hat sich mir nicht erschlossen. Hättest Du da schon geschrieben "in meiner 'content.php' steht jetzt am Ende der vorigen Seite ...", dann hätte ich gewusst, was Du meinst.
Gonzo Gates wrote: Mon 8. Jun 2026, 13:08 Den JS-Code hat Tiny nicht auskommentiert ...
... weil das so in der init_xyz.js festgelegt ist:

Code: Select all

...
extended_valid_elements: "script[type|language|src], ...",
...
Wurde mal gewünscht, ich weiss nicht, ob das gut so ist. Übrigens gibt man language= und type= schon lange nicht mehr an, einfach: <script> ... </script>.

Also zusammengefasst: Nichts ungewöhnliches passiert :mrgreen:

Gert

==================================

PS: wenn Du ausserhalb CMSimple mit Notepad++ die content.php bearbeitest und dabei Seiten anlegst oder löschst, wird die pagedata.php nicht aktualisiert. Die Zuordnung der Datensätze in der pagedata.php zu den CMSimple Seiten verschiebt sich, und manchmal merkt man das gar nicht. Plötzlich ist eine andere Seite weitergeleitet. Ist also auf keinen Fall zu empfehlen.
Gert Ebersbach | CMSimple | Templates - Plugins - Services
Post Reply