OnePage-Seite - Weiterleitung, Umleitung

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

OnePage-Seite - Weiterleitung, Umleitung

Post by lck » Wed Aug 19, 2015 2:59 pm

1.) Ist eine Weiterleitung von einem Menü-Link der Seite zu einem anderen und auch andere Umleitungen, in OnePage-Seiten nicht möglich?
(Umleitungen auf andere Sprachen und externe Ziele, funktionieren nur in der Admin-Vorschau)
Normaler Aufruf der Seite #Weiterleitung, zeigt die Seite selber an.

Beispiel:
Der Menü-Link "Weiterleitung" soll zu "Impressum" umgeleitet werden.
Im Seiten-Parameter ist "Seite umleiten?" mit #Impressum eingetragen, so wärs korrekt bei OnePage-Seiten.
(BTW: die Schnellauswahl ist hier auch nur bedingt nutzbar, weil der Link mit ?Impressum eingetragen wird)

Im Admin Vorschau-Mode, beim Klick auf die "Weiterleitung" erscheint, dann im Content der Seite:
Impressum"); exit; #
und der Debug-Modus meldet:
Parse error: syntax error, unexpected end of file, expecting variable (T_VARIABLE) or ${ (T_DOLLAR_OPEN_CURLY_BRACES) or {$ (T_CURLY_OPEN) in D:\xampp\htdocs\cmsimplexh.momadu.de\demos\op_test\cmsimple\functions.php(184) : eval()'d code on line 1
Anscheinend mag er das # Symbol nicht. Bug?


2.) Klickt man nach dem Einloggen auf de Seiten-Manager, so erscheint ein Pop-up mit dem Hinweis
(*Das passiert aber nicht immer. Konnte bisher noch nicht herausfinden wann genau.):
Die Seite auf localhost meldet:

Kollision mit einer Erweiterung, die ihre eigene jQuery Bibliothek einbindet,
festgestellt (siehe Handbuch, Abschnitt "Beschränkungen").
und da steht unter jQuery:
Pagemanager_XH könnte in Installationen mit jQuery abhängigen Plugins/Addons/Vorlagen, die jQuery4CMSimple nicht verwenden, sondern ihre eigene jQuery Bibliothek importieren, nicht funktionieren. Dieses Problem wird nicht behoben werden (es ist ohnehin nicht möglich, es für alle Fälle zu beheben), weil allen Entwicklern geraten wird, ausschließlich jQuery4CMSimple in Verbindung mit ihrem jQuery basierten Code für CMSimple_XH zu verwenden. Daher sollten diejenigen Erweiterungen aktualisiert werden, die sich nicht daran halten!
* Autoload ist in meiner Jquery–Konfiguration aktiviert.
System: CMSimple_XH 1.6.7 unter Xampp
Last edited by lck on Thu Aug 20, 2015 11:42 am, edited 1 time in total.
„Bevor du den Pfeil der Wahrheit abschießt, tauche die Spitze in Honig!“   👉 Ludwig's XH-Templates for MultiPage & OnePage

Gert
Posts: 3054
Joined: Fri May 30, 2008 4:53 pm
Location: Berlin
Contact:

Re: OnePage-Seite - Weiterleitung, Umleitung

Post by Gert » Wed Aug 19, 2015 4:54 pm

Ludwig wrote:Anscheinend mag er das # Symbol nicht.
So isses.

Die Weiterleitung per page_params erfolgt durch CMSimple Scripting, das wird durch das "#" vorzeitig abgebrochen und der Rest der php Zeile ausgegeben. Weiterleitungen per page_params auf Anker oder id's funktionieren also nicht. Erstaunlich, dass das noch keinem aufgefallen ist.

In der nächsten CMSimple Version wird das funktionieren, was Dir aber nichts nützen wird, da Deine OnePager ohne _XH nicht funktionieren.

Trotzdem vielen Dank für die Entdeckung dieses Problems ;-)

Gert
Gert Ebersbach | CMSimple | Templates - Plugins - Services

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

Re: OnePage-Seite - Weiterleitung, Umleitung

Post by cmb » Wed Aug 19, 2015 5:49 pm

Gert wrote:Die Weiterleitung per page_params erfolgt durch CMSimple Scripting, das wird durch das "#" vorzeitig abgebrochen und der Rest der php Zeile ausgegeben. Weiterleitungen per page_params auf Anker oder id's funktionieren also nicht. Erstaunlich, dass das noch keinem aufgefallen ist.
Stimmt; danke für die Analyse. :)

Quick-Fix für XH 1.6.7: plugins/page_params/index.php Zeile 58:

Code: Select all

            $c[$index] = '#CMSimple header("Location:'. preg_quote($location, '#') .'"); exit; #';
Vermutlich gibt es noch mehr solcher potentieller Fehler – ein diesbezügliches Code-Review würde nicht schaden.

Den Rest schau ich mir später noch an, Ludwig.
Christoph M. Becker – Plugins for CMSimple_XH

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

Re: OnePage-Seite - Weiterleitung, Umleitung

Post by lck » Wed Aug 19, 2015 6:51 pm

cmb wrote:Quick-Fix für XH 1.6.7: plugins/page_params/index.php Zeile 58:

Code: Select all

            $c[$index] = '#CMSimple header("Location:'. preg_quote($location, '#') .'"); exit; #'; 
Nein, keine Änderung. Weiterleitung funktioniert nicht.
„Bevor du den Pfeil der Wahrheit abschießt, tauche die Spitze in Honig!“   👉 Ludwig's XH-Templates for MultiPage & OnePage

Gert
Posts: 3054
Joined: Fri May 30, 2008 4:53 pm
Location: Berlin
Contact:

Re: OnePage-Seite - Weiterleitung, Umleitung

Post by Gert » Wed Aug 19, 2015 9:43 pm

Ludwig wrote:Nein, keine Änderung. Weiterleitung funktioniert nicht.
Warum sollte sie auch? Ist ja immer noch CMSimple Scripting, und wird immer noch vom "#" vorzeitig beendet.

Nimm einfach diese Zeile:

Code: Select all

header("Location:" . $location); exit; 
Gert
Gert Ebersbach | CMSimple | Templates - Plugins - Services

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

Re: OnePage-Seite - Weiterleitung, Umleitung

Post by cmb » Wed Aug 19, 2015 10:27 pm

Ludwig wrote:Nein, keine Änderung. Weiterleitung funktioniert nicht.
Mein Schnellschuss war auch unsinnig. (Nicht aber unbedingt, dass mal ein Code-Review bzgl. notwendiger preg_quotes() durchgeführt werden sollte.) So sollte es aber für "normale" CMSimple(_XH) Sites funktionieren (zumindest als Quick-Fix):

Code: Select all

            $c[$index] = '#CMSimple header("Location:'. str_replace('#', '".chr(35)."', $location) .'"); exit; #';
Gert wrote:Nimm einfach diese Zeile:

Code: Select all

header("Location:" . $location); exit;
Das dürfte Probleme geben, wenn die Startseite weiter geleitet wird. Ich vermute, dass Martin deshalb den Umweg über CMSimple-Scripting gewählt hat. Ob eine Weiterleitung der Startseite sinnvoll und unterstützenswert ist, ist allerdings fraglich.
Ludwig wrote:Ist eine Weiterleitung von einem Menü-Link der Seite zu einem anderen und auch andere Umweitungen, in OnePage-Seiten nicht möglich?
Nein, leider nicht. Das liegt, wie Gert bereits erwähnt hat, daran, dass die Weiterleitung als CMSimple-Skripting in den Seiteninhalt geschrieben wird, wenn gerade die weiterzuleitende Seite ausgewählt wurde. Bei Onepage-Sites wird das aber nicht gemacht (und das ist auch gut so, denn sonst würde bei jeder "Seite" weiter geleitet).

Es wäre allerdings denkbar, dass Onepage_XH solche Weiterleitungs-Informationen aus den Page-Data ausliest, und sie per JS umsetzt; ist JS allerdings nicht verfügbar, dann klappt das natürlich nicht. Ich hab's mal als Issue vermerkt.
Ludwig wrote:Klickt man nach dem Einloggen auf de Seiten-Manager, so erscheint ein Pop-up mit dem Hinweis
(*Das passiert aber nicht immer. Konnte bisher noch nicht herausfinden wann genau.):
Wenn es wieder passiert, dann schick mir bitte einfach mal den HTML-Quelltext der Seite (STRG+U).
Christoph M. Becker – Plugins for CMSimple_XH

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

Re: OnePage-Seite - Weiterleitung, Umleitung

Post by lck » Thu Aug 20, 2015 11:41 am

Besten Dank für eure Hilfe.

Die Weiterleitung zu Ankern/ID's funktioniert jetzt in "normalen" CMSimple_XH Sites.

Zusammenfassend kan man sagen, bei OnePage-Sites funktionieren nicht:
• Weiterleitungen zu Ankern, Id's (interne Ziele), externe Ziele und Zweitsprachen die per:
   - page_params aufgerufen werden (Seite > Seite umleiten?)
   - #CMSimple header('Location:...'); # in einer Content-Seite aufgerufen werden

Was funktioniert:
• Weiterleitung von einer Content-Seite zur einer anderen per "href="..." z.B.:

Code: Select all

<a title="Kontakt" href="#Kontakt">Kontakt</a> 
Christoph, ich glaube das könnte/sollte auch in der Hilfedatei zu OnePage vermerkt werden.
„Bevor du den Pfeil der Wahrheit abschießt, tauche die Spitze in Honig!“   👉 Ludwig's XH-Templates for MultiPage & OnePage

Post Reply