Nutzen von getUrl() ??

Ein CMSimple Support Forum für deutsch sprechende Nutzer und Entwickler
Post Reply
mvwd
Posts: 299
Joined: Tue Jun 17, 2008 10:35 pm
Location: Baden Württemberg / Germany
Contact:

Nutzen von getUrl() ??

Post by mvwd » Wed Nov 05, 2008 9:50 am

Hallo Cracks,

klärt mich mal auf: welchen Nutzen bringt mir einen Funktion wie getUrl() oder gxgetUrl() ? :?:

So wie ich die Funktionen lese, klauen diese mir doch lediglich den vom externen Server erzeugten HTML-Quellcode, richtig? Der "Datenklau" findet dabei immer im Quellcode zwischen <body> und </body> statt.

Was aber nütz mir das, da ja nahezu jede Seite externe Stylesheets oder Javascripts mit einbindet, die aber ausserhalb von <body> stehen? Folge davon ist doch lediglich, daß ich ungestylte Seiten angezeigt bekomme. Das kann man doch nicht wollen, oder?

Habe ich eine andere Anwendungsmöglichkeit oder etwas anderes übersehen?

mvwd.

Holger
Site Admin
Posts: 3470
Joined: Mon May 19, 2008 7:10 pm
Location: Hessen, Germany

Re: Nutzen von getUrl() ??

Post by Holger » Wed Nov 05, 2008 10:00 am

Hallo Markus,

so wie ich den Nutzen (ohne es jemals getestet zu haben) verstanden habe, geht es darum den Output anderer Skripte einzubetten, ohne
erst ein Plugin dafür zu schreiben. Das Skript läuft dann i.d.R auf dem eigenen Server.
Ein schönes Beispiel mit einer Bildergalerie (jetzt offline bzw. ausgetauscht) hat Gerd ja im Wiki genannt:
http://www.cmsimplewiki.com/doku.php/plugins/gxgeturl
Es geht nicht um "Datenklau" oder das Einbetten ganzer Seiten von fremden Servern. Da ist ein Iframe geeigneter ;) .

Gruß

Holger

mvwd
Posts: 299
Joined: Tue Jun 17, 2008 10:35 pm
Location: Baden Württemberg / Germany
Contact:

Re: Nutzen von getUrl() ??

Post by mvwd » Wed Nov 05, 2008 10:18 am

...nun ja, in CMSimpleWiki steht z.B. ein Beispiel, das eine externe Seite 'einbindet'. Schon mal probiert? -> nicht tauglich, da wie gesagt stylesheets und javascripts nicht mit eingebunden werden.
Ich habe eben aufgrund einer Frage, die an mich gerichtet war, versucht den Sinn von getUrl() herauszubekommen. So richtig schlau bin ich jetzt immer noch nicht.

Sprich: taugt maximal dazu, "einfache" Seiten einzubinden, die man dann evt. noch mit Stylesheets aus dem Template versorgt.

Danke für die Antwort ;) .
mvwd.

Holger
Site Admin
Posts: 3470
Joined: Mon May 19, 2008 7:10 pm
Location: Hessen, Germany

Re: Nutzen von getUrl() ??

Post by Holger » Wed Nov 05, 2008 10:26 am

mvwd wrote:taugt maximal dazu, "einfache" Seiten...
... bzw Skripte einzubinden.

Ja, so würde ich es dann auch unterschreiben.

Holger

johnjdoe
Posts: 571
Joined: Tue May 20, 2008 6:32 am

Re: Nutzen von getUrl() ??

Post by johnjdoe » Thu Nov 06, 2008 7:25 am

Na ja, ganz so "einfach" ist es nun auch wieder nicht. Ich versuche mal den Sinn und Zweck von dem Plugin GXGetUrl zu erklären.

Mit GXGetUrl kann man externe Seiten (damit sind also Seiten von der eigenen Domain und solche von fremden Domains gemeint) einbinden ohne ein iFrame zu benutzen, was ja bekanntlicherweise Probleme von Frames mit sich bringt.

Es ist ursprünglich entwickelt worden, um vor allem Scripte einzubinden und sich das Erstellen eines Plugins zu ersparen. Obwohl man nicht erwarten kann, dass ein so eingebundenes Script je die Stärke eines wirklichen Plugins erreichen könnte. Aber es funktioniert fein und erleichtert oft die Arbeit.

Externe HTML-Seiten kann man damit auch einbinden und auch Dinge wie Javascript und CSS sollten in vielen Fällen problemlos gehen, wenn - und das ist die Grundvoraussetzung - die Parameter richtig angibt (s. Wiki).

Wo es zur Zeit noch hakt, das ist wenn z.B. Formulare etc. URLs übergeben. Das geht nicht (immer). Ich habe zwar schon mehrfach versucht, das hinzukriegen, ist aber alles andere als trivial. Bisher habe ich auch erst einen solchen "Wrapper" bzw. "Grabber" auf dem Internet gefunden, der solche Dinge hinkriegt. Ich hatte auch schon daran gedacht, diese Eier legende Wollmilchsau als Plugin für CMSimple umzuschreiben. Das steht definitiv auf meiner 2do-Liste. Das Script ist aber dermaßen komplex und kompliziert, dass ich bisher aus Zeitmangel davon abgesehen habe. Zumal weil die Zukunft von CMSimple schon mehrfach heiß diskutiert wurde und ich keine Lust hatte, extrem viel private Zeit in ein Projekt zu stecken, dass ich momentan selbst nicht unbedingt brauche. Aber schön wäre es, wer weiß...

So, ich hoffe, der Sinn und Zweck von GXGetUrl ist jetzt klarer!?

mvwd
Posts: 299
Joined: Tue Jun 17, 2008 10:35 pm
Location: Baden Württemberg / Germany
Contact:

Re: Nutzen von getUrl() ??

Post by mvwd » Fri Nov 07, 2008 10:49 am

Hallo johnjdoe,

den Punkt mit "Scripts einbinden" sehe ich ein. So kann ich Scripte integrieren, ohne am CMS-Core herumschrauben zu müssen.
Absolut sinnvoll und nützlich, sehe ich genau so.

Aber: Wie sollen denn externe (Web-)Seiten komplett eingebunden werden? Wenn ich das Script richtig lese, schneidet das RegEx >> preg_replace("/.*<body[^>]*>(.*)<\/body>.*/is","\\1",$t); << alles raus, was sich im body des HTML-Dokuments befindet. CSS- und JavaScript-Tags haben sich aber ausserhalb des body zu befinden. Folglich fehlen eben diese...
Du kannst mich gerne vom Gegenteil überzeugen. Poste ein Link, bei dem es funktioniert. Bei dem hier funktioniert es definitiv nicht: http://www.mv-web-design.de/playground/?GXGetUrl.
Welche Parameter? Es gibt einen in der Config, der mir die Ursprungs-URI anzeigt. Den Parameter, den ich dem Pluginaufruf mitgeben kann, ändert nichts daran, welche Teile der Website extrahiert werden.

Ich könnte mir allerhöchstens vorstellen, daß man gxGetUrl die Script-Teile auch noch (separat) extrahieren lässt, und dann CMSimple via Parameter $hjs hinzufügt, auf die Gefahr hin daß es das komplette Design zerbröselt. :mrgreen:

Dass es mit Folgeseiten Probleme gibt, ist klar. Im Beispiel mit google.de über gxGetUrl schickt das Suchformular seine Daten an die aufrufende Seite zurück. Das ist logischerweise CMSimple. D.h. das müsste man dann in CMSimple/gxGetUrl abfangen und die Formulare des extrahierten HTML-Codes dahingehend ändern (lassen), daß den Formularen ein action-Attribut verpasst wird, das als Ziel wieder auf CMSimple/gxGetUrl verweist... gxGetUrl wiederum müsste dann.... Oh Gott, viel zu kompliziert... :roll:

mvwd.

Post Reply