Hallo, Gast! (Registrieren)

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


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste
Button einbinden
#1
Hallo,

ich möchte einen zusätzlichen Button in die neben dem Bearbeiten Button in der showthread.php einbauen....

Das müsste über das Template Postbit zu machen sein.
Dort steht ja:
Code:
<div class="post_management_buttons float_right">{$post['button_spam']}{$post['button_edit']}{$post['button_quickdelete']}{$post['button_quote']}{$post['button_multiquote']}{$post['button_report']}{$post['button_warn']}{$post['button_reply_pm']}{$post['button_replyall_pm']}{$post['button_forward_pm']}{$post['button_delete_pm']}
                </div>

Zu test zwecken habe ich jetzt einfcah mal zwichen {$post['button_spam']}{$post['button_edit']} ein {$post['test']} eingefügt

nun habe ich einfcah mal (ich weiss das macht man nicht, aber ich will ja nur testen)
die showthread.php bearbeitet.
Hier steht ja ab ca. zeile 1238
PHP-Code:
$plugins->run_hooks("showthread_end");

    eval(
"\$showthread = \"".$templates->get("showthread")."\";");

    
output_page($showthread); 

hier habe ich einfach mal vor
PHP-Code:
output_page($showthread); 
ein
PHP-Code:
$post['test']='Einfach so ein test'
eingefügt

Nur wenn ich mir den Post ansehe kommt mein Test Text nicht.

daher meine Frage wo definiere ich einen Neuen Button.
habe es auch über einen Hook versucht, aber das war auch ergebislos

In meinen Plugin:
PHP-Code:
....
$plugins->add_hook('showthread_end''testhook');
.....
function 
testhook(&$post
{
    global 
$post;
    
$post['test'] ="Einfach so ein test";


Aber auch hier keine Ausgabe von meinem Text.

habe das gleiche im Template calendar_addevent und der Datei calander.php gemacht da klappt es.

Was tun sprach Zeus ?

Gruß
Robert
Zitieren
#2
Ich würde es einfach mal beim Hook "postbit" probieren, denn deine Variable muss vor dem geänderten Template definiert werden. In der showthread.php dürfte $post gar nicht einmal vorkommen.
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Zitieren
#3
Also in meinem Plugin steht jetzt:
PHP-Code:
...
$plugins->add_hook("postbit""testhook");
...
function 
testhook(&$post
{
    global 
$templates;
    
$post['test'] ="I am The Law";


Wichtig war das global $templates; und natürlich der hook in postbit

Jetzt Funzt es
Zitieren
#4
Wenn du $templates nicht in der Methode benutzt, dann brauchst du auch kein global. Wink
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Zitieren
#5
Stimmt :-)
Zitieren