Hallo, Gast! (Registrieren)

Letzte Ankündigung: MyBB 1.8.27 veröffentlicht (22.06.21)


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste
In bestimmten Postings etwas zusätzliches Anzeigen?
#1
Hiho!
Gibt es einen Hook an dem ich in einem Thread was zusätzliches posten kann?
Also etwa so:
tid=1 pid=6 und dort dann vor dem Beitrag Schreiben "Dieser Beitrag ist sinnvoll". Nur so als Beispiel.

Edit: Ok den Hook (postbit) habe ich gefunden, aber in welchem Template muss ich da etwas ändern? Wenn ich postbit oder post_bit_classic änder tut sich gar nichts. Habe dort auch einfach mal {$post['message']} raus geworfen, aber da sich nichts ändert bin ich wohl im falschen Template. Sad Kann mir jemand das Template verraten?

Achja es ist ein MYBB in der Grundinstallation mit dem default Template.
Zitieren
#2
Ich kann dir nicht sagen, warum es nicht funktioniert. Richtig bist du jedenfalls.
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Zitieren
#3
Mhm jetzt gehts. Hat wohl am Browsercache gelegen.

Ich habe $plugin_test_ben; im Template eingefügt, aber das wird nicht ausgegeben. In meinem Plugin habe ich das aber richtig definiert. Wieso gibt er mir das nicht aus?

Template:
Code:
{$ignore_bit}
<a name="pid{$post['pid']}" id="pid{$post['pid']}"></a>
<table border="0" cellspacing="{$theme['borderwidth']}" cellpadding="{$theme['tablespace']}" class="tborder" style="{$post_extra_style} {$post_visibility}" id="post_{$post['pid']}">
    <tbody>
        <tr>
            <td class="tcat">
                <div class="float_left smalltext">
                    {$post['postdate']}, {$post['posttime']} <span id="edited_by_{$post['pid']}">{$post['editedmsg']}</span>
                </div>
                {$post['posturl']}
            </td>
        </tr>

        <tr>
            <td class="trow1 {$unapproved_shade}">
                <table cellspacing="0" cellpadding="0" border="0" style="width: 100%;">
                    <tr>
                        <td class="post_avatar" width="1" style="{$post['avatar_padding']}">
                            {$post['useravatar']}
                        </td>
                        <td class="post_author">
                            <strong><span class="largetext">{$post['profilelink']}</span></strong> {$post['onlinestatus']}<br />
                            <span class="smalltext">
                                {$post['usertitle']}<br />
                                {$post['userstars']}
                                {$post['groupimage']}
                            </span>
                        </td>
                        <td class="smalltext post_author_info" width="165">
                            {$post['user_details']}
                        </td>
                    </tr>
                </table>
            </td>
        </tr>

        <tr>
            <td class="trow2 post_content {$unapproved_shade}">
                <span class="smalltext"><strong>{$post['icon']}{$post['subject']} {$post['subject_extra']}</strong></span>

                <div class="post_body" id="pid_{$post['pid']}">
                    {$post['message']}
                </div>
                {$post['attachments']}
                {$post['signature']}

                <div class="post_meta" id="post_meta_{$post['pid']}">
                {$plugin_test_ben;}
                </div>
            </td>
        </tr>

        <tr>
            <td class="trow1 post_buttons {$unapproved_shade}">
                <div class="author_buttons float_left">
                    {$post['button_email']}{$post['button_pm']}{$post['button_www']}{$post['button_find']}
                </div>
                <div class="post_management_buttons float_right">{$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>
            </td>
        </tr>
    </tbody>
</table>

Hier habe ich $plugin_test_ben; eingefügt, aber das wird nicht ausgegeben. In meinem Plugin habe ich das aber richtig definiert. Wieso gibt er mir das nicht aus?

Plugin:
Code:
<?
// Die Informationen, die im Pluginmanager angezeigt werden
function test_ben_info()
{
    return array(
        "name"        => "Hello_Ben",
        "description"    => "Pluginbeschreibung",
        "website"    => "Webseite des Plugins (Herstellerseite)",
        "author"    => "Name des Erstellers",
        "authorsite"    => "Webseite des Erstellers",
        "version"    => "1.0",
    );
}

// Diese Funktion wird aufgerufen, wenn das Plugin aktiviert wird.
function test_ben_activate()
{

}

$plugins->add_hook("postbit", "test_ben");
function test_ben()
{
$plugin_test_ben="hallo Ben!";
echo $plugin_test_ben;
}

// Diese Funktion wird aufgerufen, wenn das Plugin deaktiviert wird.
function test_ben_deactivate()
{
}
?>
Zitieren
#4
Das ist nur eine lokale Variable, du musst sie also global setzen: http://de.php.net/manual/de/language.var....scope.php
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Zitieren
#5
Wenn ich da global $plugin_test_ben; einbaue geht es aber auch nicht. Das hatte ich auch auch schon versucht. Und jetzt auch noch mal.
Hier mal der Link zum Forum: http://81.89.101.37/mybb/showthread.php?tid=1 Da hinter hier sollte das stehen. Habe das Template noch mal angepasst um zu sehen das es auch dort ausgegeben wird.

<div class="post_meta" id="post_meta_{$post['pid']}">
Hier: {$plugin_test_ben;}
</div>
Zitieren
#6
Im Template gehört auch kein Semikolon rein. Benutzt du auch das veränderte Template?
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Zitieren
#7
Ja nutze das Template. Auch ohne Semikolon gehts nicht.

Hier nochmal der wichtige Quelltextteil:

Code:
            <td class="trow2 post_content {$unapproved_shade}">
                <span class="smalltext"><strong>{$post['icon']}{$post['subject']} {$post['subject_extra']}</strong></span>

                <div class="post_body" id="pid_{$post['pid']}">
                    {$post['message']}
                </div>
                {$post['attachments']}
                {$post['signature']}

                <div class="post_meta" id="post_meta_{$post['pid']}">
                Hier:{$plugin_test_ben}
                </div>
            </td>
Zitieren
#8
Wird denn das "Hier:" angezeigt?
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Zitieren
#9
Hiho!
Ja das hier wird angezeigt. Habe es jetzt anders gelöst, wenn ich da das in $post['test_ben'] schreibe dann gehts.
Zitieren
#10
Ich denke, es liegt daran, dass das Template auch in einer Funktion ausgeführt wird und da natürlich kein global dafür vorhanden ist.
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Zitieren