MyBB Community Forums

Full Version: hook it in user menu
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2
(2014-10-28, 09:13 AM)Jones H Wrote: [ -> ]You can simply hook to "usercp_menu" with priority <30 and add your variable to the corresponding template. No need for a special hook.


$plugins->add_hook("usercp_menu", [20], "statusupdate_usercp_menu");

function statusupdate_usercp_menu()
{
	global $mybb, $db, $lang, $templates, $statusupdate_usercp_menu;
	$lang->load("statusupdate");
	
//	if($mybb->usergroup['canaddstatusupdate'] == '1')
//	{
		eval("\$statusupdate_usercp_menu	= \"".$templates->get("statusupdate_usercp_menu")."\";");
		return $statusupdate_usercp_menu;
//	}
}

my variable {$statusupdate_usercp_menu} added to usercp_nav_misc template

what i do wrong?
$plugins->add_hook("usercp_menu", "statusupdate_usercp_menu", 20);

Also your variable isn't globalized in "usercp_menu_misc", use something like "$mybb->statusupdate_usercp_menu". $mybb is globalized everywhere.
not helped Sad
You shouldn't be using the return statement.
$plugins->add_hook("usercp_menu", "statusupdate_usercp_menu", 20); 
function statusupdate_usercp_menu()
{
    global $mybb, $db, $lang, $templates, $statusupdate_usercp_menu;
    $lang->load("statusupdate");
    
//    if($mybb->usergroup['canaddstatusupdate'] == '1')
//    {
        eval("\$statusupdate_usercp_menu    = \"".$templates->get("statusupdate_usercp_menu")."\";");
   //     return $statusupdate_usercp_menu;
//    }
}

This probably can not be done in Sad
function statusupdate_usercp_menu()
{
    global $mybb, $lang, $templates, $usercpmenu;
    $lang->load("statusupdate");
    
//    if($mybb->usergroup['canaddstatusupdate'] == '1')
//    {
        eval("\$usercpmenu    .= \"".$templates->get("statusupdate_usercp_menu")."\";");
//    }
} 
no worked
(2014-10-28, 09:47 AM)Jones H Wrote: [ -> ]Also your variable isn't globalized in "usercp_menu_misc", use something like "$mybb->statusupdate_usercp_menu". $mybb is globalized everywhere.
when is se this
function statusupdate_usercp_menu()
{
    global $mybb, $lang, $templates, $usercpmenu;
    $lang->load("statusupdate");
    
//    if($mybb->usergroup['canaddstatusupdate'] == '1')
//    {
        eval("\$usercpmenu    .= \"".$templates->get("statusupdate_usercp_menu")."\";");
//    }
} 

i do not add variable to template

I add my item manual to my template

<tbody>
<tr>
	<td class="tcat tcat_menu tcat_collapse{$collapsedimg['usercpmisc']}">
		<div class="expcolimage"><img src="{$theme['imgdir']}/collapse{$collapsedimg['usercpmisc']}.png" id="usercpmisc_img" class="expander" alt="[-]" title="[-]" /></div>
		<div><span class="smalltext"><strong>{$lang->ucp_nav_misc}</strong></span></div>
	</td>
</tr>
</tbody>
<tbody style="{$collapsed['usercpmisc_e']}" id="usercpmisc_e">
<tr><td class="trow1 smalltext"><a href="usercp.php?action=statusupdate" class="usercp_nav_item usercp_nav_statusupdate">{$lang->ucp_nav_statusupdate}</a></td></tr>
	<tr><td class="trow1 smalltext"><a href="usercp.php?action=usergroups" class="usercp_nav_item usercp_nav_usergroups">{$lang->ucp_nav_usergroups}</a></td></tr>
	<tr><td class="trow1 smalltext"><a href="usercp.php?action=editlists" class="usercp_nav_item usercp_nav_editlists">{$lang->ucp_nav_editlists}</a></td></tr>
	{$attachmentop}
	<tr><td class="trow1 smalltext"><a href="usercp.php?action=drafts" class="usercp_nav_item usercp_nav_drafts">{$draftcount}</a></td></tr>
	<tr><td class="trow1 smalltext"><a href="usercp.php?action=subscriptions" class="usercp_nav_item usercp_nav_subscriptions">{$lang->ucp_nav_subscribed_threads}</a></td></tr>
	<tr><td class="trow1 smalltext"><a href="usercp.php?action=forumsubscriptions" class="usercp_nav_item usercp_nav_fsubscriptions">{$lang->ucp_nav_forum_subscriptions}</a></td></tr>
	<tr><td class="trow1 smalltext"><a href="{$profile_link}" class="usercp_nav_item usercp_nav_viewprofile">{$lang->ucp_nav_view_profile}</a></td></tr>
</tbody>

but surprise {$lang->ucp_nav_statusupdate} don't work . Why? hook don't work Sad
Of course you shouldn't hardcode HTML, and {$GLOBALS['ucp_nav_menu']} anywhere after the function is ran. Not just usercp_nav_misc but wa~
Pages: 1 2