Beiträge: 149
Themen: 47
Registriert seit: 08.03.2010
MyBB-Version: 1.8.*
Hiho!
In den Templates stehen ja Variablen drin mit {$....} Wenn ich jetzt in einem Plugin eine Variable definiere $test_baeckerman83 und diese im Template an einer bestimmten stelle ausgeben möchte, reicht es da nicht im Template {$test_baeckerman83} zu schreiben? Wie gebe ich die Variable denn aus? Im Plugin funktioniert alles richtig und die Variable wird mit Echo dann auch oberhalb des Forums ausgegeben (Debug Bereich???)
Beiträge: 2.318
Themen: 13
Registriert seit: 09.11.2008
Du musst zwei Bedingungen erfüllen damit eine String-Variable in einem Template funktioniert:
1) Die Variable muss global sein.
2) Die Variable muss definiert sein bevor das Template ausgewertet wird.
Beiträge: 149
Themen: 47
Registriert seit: 08.03.2010
MyBB-Version: 1.8.*
Wie definiere ich eine Variable in einem Plugin als global?
Ausgeführt wird das Plugin bevor das Template ausgewertet wird. Kann auch gerne den Quelltext posten, da ist aber nichts drin, nur die Variablen zuweisung.
Beiträge: 25.762
Themen: 269
Registriert seit: 20.09.2005
Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Beiträge: 149
Themen: 47
Registriert seit: 08.03.2010
MyBB-Version: 1.8.*
Das mag irgendwie trotzdem nicht funktionieren.
ist der Hook falsch?
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()
{
global $plugin_test_ben;
$plugin_test_ben="hallo Ben!";
echo $plugin_test_ben;
}
// Diese Funktion wird aufgerufen, wenn das Plugin deaktiviert wird.
function test_ben_deactivate()
{
}
?>
Beiträge: 18.383
Themen: 257
Registriert seit: 09.02.2005
In welchem Template willst du die Variable {$plugin_test_ben} denn verwenden?
Gruß,
Michael
Support erfolgt NUR im Forum!
Bitte gelöste Themen als "erledigt" markieren.
Beiträge mit mangelhafter Rechtschreibung/Grammatik werden kommentarlos gelöscht.
Beiträge: 149
Themen: 47
Registriert seit: 08.03.2010
MyBB-Version: 1.8.*
Im Template Postbit würde ich das gerne anzeigen lassen. Hier mal mein Template dazu.
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']}">
Hier:{$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>
Beiträge: 2.318
Themen: 13
Registriert seit: 09.11.2008
im zweifel versuchs mal mit dem global_start hook das ist einer der ersten...
Beiträge: 149
Themen: 47
Registriert seit: 08.03.2010
MyBB-Version: 1.8.*
Naja der Hook scheint der richtige zu sein.
Wenn ich meine Variable umbenne zu {$post['test_ben'], dann funktioniert es. Also scheint das mit dem global nicht zu gehen.