MyBB.de Forum
Benutzergruppen abhängiger Link im User-CP - Druckversion

+- MyBB.de Forum (https://www.mybb.de/forum)
+-- Forum: Anpassungen (https://www.mybb.de/forum/forum-47.html)
+--- Forum: Plugin-Entwicklung (https://www.mybb.de/forum/forum-74.html)
+--- Thema: Benutzergruppen abhängiger Link im User-CP (/thread-23828.html)



Benutzergruppen abhängiger Link im User-CP - Jockl - 29.09.2011

Hallo,

wie der Betreff schon andeutet, möchte ich per Plugin einen Link im Benutzer-CP erzeugen, der aber abhängig von der Benutzergruppe erscheint oder eben nicht.

Ich schaffe es nach folgendem Prinzip, einen entsprechend abhängigen Link zu erstellen, der aber dann im Benutzer-CP direkt unter Benutzer-CP Home erscheint:
PHP-Code:
$plugins->add_hook('usercp_menu''mein_plugin_run');
....
function 
mein_plugin_activate()
{.....

$template = array(
    
"title"        => "mein_plugin_usercp_nav_gallery",
    
"template"    => "<tr><td class=\"trow1 smalltext\"><a href=\"meinPlugin.php?username={\$mybb->user[\'username\']}\" class=\"usercp_nav_item usercp_nav_usersgallery\">{\$lang->ucp_nav_usergallery}</a></td></tr>",
    
"sid"        => -1
);
....
}

function 
mein_plugin_run()
{
....
    if (
$mybb->usergroup['cancp'])
    {
        eval(
"\$usercpmenu .= \"".$templates->get("mein_plugin_usercp_nav_gallery")."\";");
    }
....


Wie gesagt, das funktioniert soweit. Ich würde den Link aber gerne im Bereich des Templates usercp_nav_misc unterbekommen.
Hierzu hatte ich in dem Plugin schon probiert, eine Variable in dem Template usercp_nav_misc zu erzeugen und diese dann in der run-Funktion des Plugins abhängig von der Benutzergruppe mit folgendem Inhalt zu füllen
Code:
<tr><td class=\"trow1 smalltext\"><a href=\"meinPlugin?username={\$mybb->user['username']}\" class=\"usercp_nav_item usercp_nav_usersgallery\">{\$lang->ucp_nav_usergallery}</a></td></tr>
Die Variable ist im Template usercp_nav_misc vorhanden, aber sie wird nicht mit Leben gefüllt. Es erscheint kein Link, eine Fehlermeldung gibt es aber auch nicht.

Über Ideen und Tipps würde ich mich freuen. Wink


RE: Benutzergruppen abhängiger Link im User-CP - StefanT - 29.09.2011

Schau mal in der inc/functions_user.php ~Zeile 400, da werden die Teile der Menus selber als Hook "eingeharkt". Mithilfe der Priorität könntest du die gewünschte Stelle aussuchen und dann direkt so etwas benutzen:
PHP-Code:
eval("\$usercpmenu .= \"".$templates->get("xxx")."\";"); 
Alternativ beim Hook usercp_menu_built das Menü noch nachträglich verändern, z.B. mit str_replace.


RE: Benutzergruppen abhängiger Link im User-CP - Jockl - 29.09.2011

(29.09.2011, 19:56)StefanT schrieb: Mithilfe der Priorität könntest du die gewünschte Stelle aussuchen und dann direkt so etwas benutzen:
PHP-Code:
eval("\$usercpmenu .= \"".$templates->get("xxx")."\";"); 
Da musste ich erst ein wenig suchen, schlussendlich war das aber genau der richtige Tipp. Danke Dir!

(29.09.2011, 19:56)StefanT schrieb: Alternativ beim Hook usercp_menu_built das Menü noch nachträglich verändern, z.B. mit str_replace.
Wie das umgesetzt wird hätte mich interessiert, habe es aber leider nicht hin bekommen.