PDA

View Full Version : Adding items to forum jump


MrEyes
06-19-2008, 12:55 PM
I am currently working on a modification that requires me to add an additional item to the forum jump menu. After some hunting around on here I have done this, however this required a change to the forumdisplay.php. Does anybody know of a way to do this without "hacking" any of the default pages?

This is how I have done this:

In forumdisplay.php, within the "exec_postvar_call_back()" function, I have added an additional switch case item:


case 'mymodification': $goto = 'mymodification'; break;



// jump from forumjump
switch ($vbulletin->GPC['forumid'])
{
case 'search': $goto = 'search'; break;
case 'pm': $goto = 'private'; break;
case 'wol': $goto = 'online'; break;
case 'cp': $goto = 'usercp'; break;
case 'subs': $goto = 'subscription'; break;
case 'mymodification': $goto = 'mymodification'; break;
case 'home':
case '-1': $goto = $vbulletin->options['forumhome']; break;
}


I have also changed the "forumjump" template to include an additional option (after Forum Home)


<option value="mymodification" $frmjmpsel[mymodification]>My Modification</option


And finally in my page I am calling the "construct_forum_jump();" method, which creates a "$forumjump" variable that is used within my templates to show the forum jump.

The template change is fair enough, but as mentioned above I would like to avoid changing the forumdisplay.php file.

Actually while on the subject of the template, in order to get my modification page to be selected I had to set the following variable in my script:


$frmjmpsel["mymodification"] = 'class="fjsel" selected="selected"';


Is this the right way of doing this?

EDIT: I did notice that there is a "forumjump" hook which is called just before the "construct_forum_jump" function returns, but to be honest I can't see how I could use this to remove the requirement to edit the forumdisplay.php file. Although with some fancy jiggery pockery this could be used to remove the template edit.