Hallo, Gast! (Registrieren)

Letzte Ankündigung: MyBB 1.8.38 veröffentlicht (30.04.24)


Benutzer, die gerade dieses Thema anschauen: 6 Gast/Gäste
Frage zu Funktion get_post_link()
#1
Bei der Überprüfung einer Funktion in einem Plugin bin ich auf ein kleines Problem gestoßen.

Zur Erzeugung eines Links zu einem Beitrag wird die Fkt. get_post_link($pid,$tid) verwendet. Allerdings erzeugt diese einen Link, der so aussieht:
PHP-Code:
.../showthread.php?pid=12345#pid12345 

Nun habe ich versucht, die get_thread_link($tid) Fkt. zu berücksichtigen, damit ich einen Link bekomme, der so aussieht:
PHP-Code:
.../showthread.php?tid=999&pid=12345#pid12345 

Übrigens habe ich beide Funktionen mit htmlspecialchars_decode() "eingeklammert".

Mir gelingt aber die korrekte Erzeugung des Links nicht. Wo liegt denn hier der Wurm begraben?
viele Grüße
Jockl
übersetzte und eigene Plugins
Zitieren
#2
Wenn du bei get_post_link($pid, $tid) die tid angibst, bekommst du exakt so einen Link, wie du ihn haben willst...
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Zitieren
#3
Leider eben nicht.... Sad
viele Grüße
Jockl
übersetzte und eigene Plugins
Zitieren
#4
Ich habe es extra ausprobiert, das funktioniert... Wink
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Zitieren
#5
Also, es gibt diese Fkt.:
PHP-Code:
send_pm($to$from$subject$message

Die PM wird dann so abgeschickt.
PHP-Code:
send_pm($uids$mybb->user['uid'], $mybb->settings['pm_title'], str_replace(array("{bburl}""{posturl}"), array($mybb->settings['bburl'] . "/"htmlspecialchars_decode(get_post_link($pid$tid))."#pid".$pid), $mybb->settings['pm_message'])); 

Mit dem Versenden der PM ansich gibt es keine Probleme. Auch nicht mit dem Titel und der Nachricht selbst. Nur der darin enthaltene Link sieht nicht so, wie er eigentlich aussehen sollte.....
viele Grüße
Jockl
übersetzte und eigene Plugins
Zitieren
#6
Ist $tid korrekt definiert?
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Zitieren
#7
so ist es im Moment vorgesehen:
PHP-Code:
global $posthandler;
$tid $posthandler->tid

Werde es mal mit
PHP-Code:
$tid $mybb->input['tid']; 
probieren.
viele Grüße
Jockl
übersetzte und eigene Plugins
Zitieren
#8
So, nächster Versuch....

Statt
PHP-Code:
$tid $posthandler->tid
habe ich es jetzt mal mit
PHP-Code:
$tid $mybb->input['tid']; 
probiert.

Ich kann mir den Unterschied nicht erklären, aber jetzt wird die tid in der URL angezeigt. Allerdings wird das "&" wird nicht richtig umgesetzt, sondern in der URL als "&" angezeigt. So z.B.:
Code:
.../showthread.php?tid=999&pid=12345#pid12345
Das wiederum bedeutet, dass der Link nicht zum eigentlichen Ziel führt.... Sad
viele Grüße
Jockl
übersetzte und eigene Plugins
Zitieren
#9
Das sollte das htmlspecialchars_decode aber eigentlich beheben...
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Zitieren
#10
Das hatte ich jetzt übersehen....Rolleyes.....aber damit klappt es! Big Grin

Danke Dir!

Aber was ist nun der Unterschied zwischen diesen beiden Zeilen?
PHP-Code:
$tid $posthandler->tid
$tid $mybb->input['tid']; 
viele Grüße
Jockl
übersetzte und eigene Plugins
Zitieren