Links umwandeln

Begonnen von TobiasKlee, 19 Juni 2006, 00:30:21

⏪ vorheriges - nächstes ⏩

0 Mitglieder und 1 Gast betrachten dieses Thema.

TobiasKlee

Beim SMF werden einige Links nicht umgewandelt.

In der Navi:

Testforum  |  PHP  |  Scripte

Der Link hinter "PHP" wird so ausgegeben:

modules.php?name=Forum#c2

Lassen sich diese Links auch umwandeln? Keine Ahnung wie das funktioniert  :'(

Und hier auch noch mal:

modules.php?name=Forum&topic=2.msg2#new


jubilee

ZitatLassen sich diese Links auch umwandeln? Keine Ahnung wie das funktioniert 
Wir haben damals nicht für alle möglich auftretenden Links
eine Rewrite-Rule in der .htaccess geschrieben.
Falls Du auch diese Links aufgelöst haben möchtest, muss dafür jeweils eine
Rewrite-Rule angelegt werden. Dann können auch diese Links umgesetzt werden.

MfG

TobiasKlee

Und so einfach ist das?

Okay, ich versuche das mal. Auch wenn es nicht klappt  ;D

Danke!

TobiasKlee

Nein, das haut nicht hin.

Wie müsste das Rewrite-Rule für diesen Link aussehen:

modules.php?name=Forum#c2

?????

TobiasKlee

Ich habe gesucht, gesucht und gesucht.   :-\

Leider konnte ich nichts finden, was beschreibt, wie ein solcher Link

modules.php?name=Forum#c2

umgewandelt wird in diesen Link

forum.html#c2

Ein Tipp würde mir schon weiterhelfen. :-[


TobiasKlee

Das gehört jetzt nicht hier hin. Aber der Support hier (im Bezug auf meine Frage) ist schlecht. Warum wird meine Frage nicht beantwortet? Viele andere Fragen, die zudem noch komplizierter zu lösen sind, werden hier im Minutentakt von euch beantwortet.

Ein Beispiel würde mir schon sehr helfen. Wenn es keine Lösung für mein Problem geben sollte, dann wäre ein Hinweis angebracht.

Entschuldigung, aber sonst verschwende ich meine Zeit und rede hier mit mir selbst.

jubilee

ZitatDas gehört jetzt nicht hier hin. Aber der Support hier (im Bezug auf meine Frage) ist schlecht. Warum wird meine Frage nicht beantwortet?

--> http://www.pragmamx.org/News-file-article-sid-616.html

ZitatEntschuldigung, aber sonst verschwende ich meine Zeit und rede hier mit mir selbst.

Entschuldigung, das wir Deiner Erwartungshaltung nicht gerecht werden konnten ....






TobiasKlee

Verschoben?

Für welche Themen ist dann das Forum "mod_rewrite Erweiterung" da?

Ich erwarte ja gar nichts. Wenn es keine Lösung gibt reicht ein klaren "Nein" für mich aus. Mehr wollte ich damit gar nicht sagen. ;)





Andi

HI :)

sei sicher, wenn das so total einfach wäre, dann wären diese Links bei uns hier auch umgewandelt und du hättest da im "Minutentakt" auch eine Antwort erhalten.

Lese Dich hier mal rein und beurteile dann, ob die anderen Fragen komplizierter zu lösen sind.
http://www.php-faq.de/ch/ch-regexp.html
http://www.php.net/manual/de/ref.pcre.php

Wenn du damit durch bist und dann immernoch der Meinung bist, dann kennst du bereits die Grundbegriffe von regulären Ausdrücken und weisst wie man den String umschreibt ;)


Es gibt sicher eine Lösung, aber da braucht man Zeit und Muse sich darum zu kümmern.
Und überall können wir eben nicht die fertige Lösung auf dem Tablett servieren.
schön´s Grüssle, Andi

TobiasKlee

Das ist alles kein Problem für mich (nun weiß ich ja wie kompliziert das ist).  ;)

Ich weiß ja noch nichteinmal, wo die Forumlinks generiert werden.

Das sind einfach zu viele Dateien und Funktionen. Da blicke ich alls Laie nicht durch :'(

Andi

Jop ;)

wo die Links generiert werden ist in dem Fall egal, wichtig ist die Stelle, wo man sie dynamisch umschreiben kann.

Das ist in der SMF-Bridge die Datei modules/Forum/mx_smf_mod_rewrite.php.
Dort werden die vom Forum generierten Links in das HTML-Pendant umgeschrieben.

Zurück geht es im entsprechenden Abschnitt der .htaccess...
schön´s Grüssle, Andi

Musicman75

Hier mal ne kleine Erklärung zu modRewrite:
Hier der Link. welcher ersetzt werden soll:
http://www.pragmamx.org/modules.php?name=Forum&board=177.0

und hier die entsprechende Rewrite Rule:
RewriteRule ^forumcat-([0-9.]*)\.html modules.php?name=Forum&board=$1 [L]

Am Anfang der Rule steht der Link, welcher angezeigt werden soll. in den Klammern stehen die Zeichen, welche übernommen werden solen aus dem Orginal Link (hier sind es die Ziffern 0 bis 9).
Am Ende der Rule siehst du "$1", das ist die Stelle, von welcher diese Zeichen in den umgesetzten Link übernommen werden.

Das Problem bei dem Link, den du umgesetzt ahebn willst, ist, das dort eine Raute "#" drin ist. Ich selbst hab schon einige Links umgesetzt, aber bei Sonderzeichen muss ich leider auch passen. Das ist nicht nicht so einfach. Ich hab auch ein gravierendes Problem bei den Weblinks Rules. Einige werden umgewandelt, anbdere nicht und ich hab keine Ahnung warum.

Die meisten Links des SMF sind als Rule umgesetzt. Gib dich doch einfach erst mal damit zufrieden. Da diese Bridge im Moment noch als "UNSUPPORTED" Version läuft sei doch einfach froh, das sich das Team zu diesem Schritt entscheiden hat und lass nicht wegen solcher Kleinigkeiten hier deinen Unmut raus.

Es ist quasi als öffentlicher Betatest zu sehen. Da sehr viele User des Pragma auf dieses Forum gewartet haben und die Nachfrage so enorm war, gab es diese Entscheidung, die Bridge zu veröffentlichen. Wenn jetzt allerdings nur schlechte Stimmung gemacht wird und deswegen der Support der hier geleistet wird in ein negatives Licht gezogen wird, dann wird es wahrscheinlich nie wieder etwas geben, bevor die Tests abgeschlossen sind und es die endgültige Version gibt.

Ich hoffe jetzt einfach mal, das ich im Sinne des Teams hier einige Sachen klargestellt habe und hoffe auch auf Dein Verständnis.

Gruß
Steff
Unaufgeforderte Support PMs & Emails werden ignoriert

Immer erst die Boardsuche verwenden und gegebenenfalls einen neuen Threat eröffnen, wenn das Problem noch nicht behandelt wurde!

TobiasKlee

Das hilft mir schon weiter. Vielen Dank.

Ich bin schon jetzt voll zufrieden mit dem Script.

Da kann ich nur Lob für aussprechen. ;)






Musicman75

Dann bin ich ja zufrieden.

Die Arbeit des Core Teams an den Entwicklungen ist nicht OHNE, und wenn eine Version rausgegeben wird, welche von Anfang an als unsupported gekennzeichnet ist, ist es ja nicht verwunderlich, wenn es dann auch keinen support gibt.

Ich hoffe du verstehst das.

Ich selbst habe vor ca 2 Jahren mit dem Pragme (damals noch vkpMX) angefangen und ich kann nur sagen das der support hier wahrscheinlich sogar sehr viele Pay-software übertrifft. Ich werde mich auf jeden Fall bemühen (da ich ja jetzt auch ins Support Team aufgenommen wurde) diesen Anforderungen gerecht zu werden, da ich nicht will, das neue User einen negativen Eindruck bekommen.
Unaufgeforderte Support PMs & Emails werden ignoriert

Immer erst die Boardsuche verwenden und gegebenenfalls einen neuen Threat eröffnen, wenn das Problem noch nicht behandelt wurde!

TobiasKlee

Das bezog sich ja alles nur auf meine Frage.

Ich wollte auf keinen Fall den guten Support in Frage stellen.

Man bekommt schnell schlechte Laune und Kopfweh. Da sitzt man stundenlang davor und alle Versuche scheitern. Tut mir leid, dass war wohl etwas überzogen.

Bitte nicht übel nehmen  :D



TobiasKlee

Mit Hilfe der Tipps konnte ich schon einige Links umwandeln.

Es funktionieren alle Links in denen keine Sonderzeichen sind.

Das hier "#new" & "#c1" bekomme ich nicht gebacken.

Ich poste die Umwandlungen dann hier, sobald es sich lohnt  ;)


Andi

HI :)

ich hatte vorhin was anderes in der Bridge gesucht, da dachte ich, "gugg mal was mit diesen Links ist"....
Habe die aber nirgends gefunden.
Verrat mir mal, wo diese Links angezeigte werden, evtl. mit Beispiellink hier bei uns...
schön´s Grüssle, Andi

TobiasKlee


jubilee

das #new wird immer gesetzt, wenn man sich aus der Forenübersicht in einen Thread/Post (ganz rechts) klickt

Ich hatte damals auch Probleme die # umzusetzen. Darum habe ich an diesen Rules nicht weitergearbeitet.

MfG

TobiasKlee

Ich werde mich mal auf die Suche begeben. Das muss ja zu lösen sein. In anderen Foren habe ich das schonmal als HTML-Variante gesehen.  :)

TobiasKlee

Nun verstehe ich folgendes nicht.

Ich habe 2 Links so umgewandelt:



$smfContent = preg_replace('!(<a[^>]+href=["\'])(?:' . MX_BASE_URL . ')?modules\.php\?name=' . $mxsmf['module_name'] . '(?:&(?:amp;)?action=post);topic=([0-9.]+);num_replies=([0-9.]+)!' , "\\1forum-replies-\\2-\\3.html\\4" , $smfContent);


$smfContent = preg_replace('!(<a[^>]+href=["\'])(?:' . MX_BASE_URL . ')?modules\.php\?name=' . $mxsmf['module_name'] . '(?:&(?:amp;)?action=post);quote=([0-9.]+);topic=([0-9.]+);num_replies=([0-9.]+);sesc=([a-zA-Z0-9]+)!' , "\\1forum-quote-\\2-\\3-\\4-\\5.html\\6" , $smfContent);



Irgendwie mögen die sich so nicht.  Der Link für "forum-replies" wird korrekt umgewandelt.

Der Link für "forum-quote" wird auch umgewandelt aber es steht "forum-replies" davor.

Eigentlich müsste da doch "forum-quote" vorstehen. Das passiert auch, wenn ich die Umwandlung für "forum-replies" lösche. Zum verrückt werden.

Was mache ich hier bloß falsch?  :-\