Blog mit Rewrite?

Post custom hacks and enhancements for phpwcms here only. Maybe some of these things will be included in official release later.
Post Reply
User avatar
balbi21
Posts: 68
Joined: Mon 18. Jun 2007, 10:11
Location: Bad Schwartau
Contact:

Blog mit Rewrite?

Post by balbi21 »

Hallo,

habe ein phpwcms 1.3.3 mit dem WcmsBLog laufen und auch alles soweit funktionstüchtig,...

Nun wollte ich das Rewrite-Modul einbinden, um die URLs in phpMyVisites besser zu sehen - nur leider funktioniert dann das Blog nicht mehr.

Dieses baut ja im Render-Skript die Links (Previous, Next, Permalink, usw.) aus der aktuellen Server-URI zusammen und bekommt daher die Rewrite-URL als Basis.

Das resultiert dann in Links a la:
http://www.janina-arpa.de/blog.phtml?offset=5

Hierbei wird die Offset-Variable aber nicht ausgewertet.
Ohne Rewrite funktioniert es, dort wird der Link
http://www.janina-arpa.de/index.php?blog&offset=5
erzeugt und dieser ist valid und alle Variablen sind gültig.

Muss man im Blog-Skript das Erzeugen der Links modifizieren oder kann man den phtml-Seiten beibringen, dass diese php-Variablen akzeptieren?

Vielen Dank,
Björn M. Albrecht
User avatar
juergen
Moderator
Posts: 4556
Joined: Mon 10. Jan 2005, 18:10
Location: Weinheim
Contact:

Post by juergen »

Hallo Björn,

ich denke dass das Problem entsteht, wenn phpwcms schon die url geschrieben hat und dann der HACK die Get Variable drüber schiebt.

Da muß man ziemlich tief unter die wcms Haube klettern und den Hack vorher eingreifen lassen. In Anbetracht der Tatsache dass Oliver bekundet hatte einen BLOG zu bauen ... naja :?
User avatar
balbi21
Posts: 68
Joined: Mon 18. Jun 2007, 10:11
Location: Bad Schwartau
Contact:

Post by balbi21 »

Pepe hatte es einfach hinbekommen (nur gerade keine Zeit nachzuschauen, wie)...

Ich nehme mal an, dass es im frontend-Renderer sein müsste:

z-B. für den next/previous-Link:

Code: Select all

$prevlink = $_SERVER["REQUEST_URI"];
$nextlink = $_SERVER["REQUEST_URI"];
$prevlink = preg_replace("/&offset=\d*/i", "", $prevlink);
$nextlink = preg_replace("/&offset=\d*/i", "", $nextlink);
if (strstr($prevlink, "?") !== false)
{
  $prevlink .= "&";
  $nextlink .= "&";
}
else
{
  $prevlink .= "?";
  $nextlink .= "?";
}

$prevlink .= "offset=" . ($_GET["offset"] + $pp);
$nextlink .= "offset=" . ($_GET["offset"] - $pp);
Hier wird die aktuelle URI ausgelesen und bei Bedarf die Blog-Variablen hintergehängt,...
Damit werden dann auch die ungültigen URLS erzeugt, a la:
http://www.janina-arpa.de/Blog.phtml?offset=5
wobei das bis zu phtml ja die URI ist, die der Server sendet (ist ja so vor dem Serverinternen Rewrite)...

Ich denke, dass man die Linkerzeugung so umschreiben müsste, dass er es nicht dahinterhängt, sondern zwischen den Alias und die phtml-Endung,...

Dann müsste da:
"www.janina-arpa.de/Blog" (erster Teil bis vor den Punkt vom phtml) - dann die Variablen: "&offset=5" und dann die Endung ".phtml".

Denn die URL
"www.janina-arpa.de/Blog&offset=5.phtml" wird dann ja vom Rewrite-Mod auf "www.janina-arpa.de/index.php?Blog&offset=5" umgeschrieben und das wäre dann wieder richtig,...

Nur, wie müsste dann das Skript modifiziert werden?

MfG,
Björn
User avatar
juergen
Moderator
Posts: 4556
Joined: Mon 10. Jan 2005, 18:10
Location: Weinheim
Contact:

Post by juergen »

Code: Select all

if (strstr($prevlink, "?") !== false)
{
  $prevlink .= "&";
  $nextlink .= "&";
}
else
 {
  if ($phpwcms['rewrite_url']   == 1)       
    {
     $prevlink .= "&";
     $nextlink .= "&";
    }
  else 
 {
  $prevlink .= "?";
  $nextlink .= "?";
 } 
}
......
quick und dirty und ich hab nix zum probieren :D

Aber das Problem scheint zu sein, dass er die GET Variable nicht lesen kann weil "&" fehlt....

Jedenfalls hat sich $GET bei meinen Sachen nie an einem rewrite gestört. Du bekommst somit 4% Funktionsgarantie *g*

Jürgen
pepe
Posts: 3954
Joined: Mon 19. Jan 2004, 13:46

Post by pepe »

Ich hab MEINE Lösung hier zum Download abgelegt...
http://phpwcms-templates.de/punBB-forum ... 1956#p1956
Einloggen nicht vergessen :wink:

Aber bitte, ich hab PHP auch nicht gelernt, sondern mir nur "experimentell angeeignet"...
Somit wird sich dem wahren Proggi sicher der Magen rumdrehen :oops:
Ich war aber froh, daß es danach klappte.

Nach dem Motto: Eine schlecht Lösung ist besser als keine Lösung Oder einfach als Start für die perfekte EIGENE Variante... :wink:
User avatar
balbi21
Posts: 68
Joined: Mon 18. Jun 2007, 10:11
Location: Bad Schwartau
Contact:

Post by balbi21 »

Vielen Dank!!! Hat sehr geholfen,...
(siehe Thread / anderes Forum)

Viele Grüße von der Ostsee,
Björn
User avatar
juergen
Moderator
Posts: 4556
Joined: Mon 10. Jan 2005, 18:10
Location: Weinheim
Contact:

Post by juergen »

das Spielchen hier hat mich nicht losgelassen ...

aus der Langeweile des noch immer Gehbehinderten ... habe ich Shinys Blog mal in ein Modul gequetscht... scheint zu funktionieren.

Haben wir jetzt das gleiche Pepe ?
User avatar
update
Moderator
Posts: 6455
Joined: Mon 10. Jan 2005, 17:29
Location: germany / outdoor

Post by update »

mal in ein Modul gequetscht
An dem Gequetsche habe ich ein Interesse :lol: auch aus pädagogischen Gesichtspunkten, denn
Wie quetscht man denn überhaupt was in ein Modul - das habe ich noch nicht so ganz rausfummeln können
User avatar
juergen
Moderator
Posts: 4556
Joined: Mon 10. Jan 2005, 18:10
Location: Weinheim
Contact:

Post by juergen »

Naja claus, wie zeitweise behinderte das machen...

Man nehme ein glossary modul, schlachte es aus und montiere die Blog Teile vorsichtig hinein...

Die DB hat er mit setup installiert, im Backend meldet sich das Modul OHNE Hack .. weil ich muss doch jeden trunk installieren *g*

Aber ganz fertig ist es nicht .. die Eingabe im Backend muß ausfindig gemacht werden .. bis zur Eingabe des BLOG Titels ist es da...
User avatar
update
Moderator
Posts: 6455
Joined: Mon 10. Jan 2005, 17:29
Location: germany / outdoor

Post by update »

Gute Idee - ich hab's am Knie, da kann ich sowas ja auch mal "probieren" :wink:
Bin gespannt auf die fertige "Quetsche"
Modul OHNE Hack
- da machen meine Augen Ohren :lol:
Wenn das denn mal so einfach geht....
User avatar
juergen
Moderator
Posts: 4556
Joined: Mon 10. Jan 2005, 18:10
Location: Weinheim
Contact:

Post by juergen »

:P :shock:

ES GEHT ! .. 99%, claus .. ich darf dich mal in mein Backend einladen ??

Image

100 % CHEERS !
Last edited by juergen on Mon 5. Nov 2007, 09:08, edited 1 time in total.
User avatar
update
Moderator
Posts: 6455
Joined: Mon 10. Jan 2005, 17:29
Location: germany / outdoor

Post by update »

:oops: lad' mich mal, bitte :lol:
Post Reply