If you want to have the login block switch to a menu of member options like with this skin:
http://efiction.hugosnebula.com/preview/index.php?skin=Cobalt
1. In the login block options turn the account info link off either through the Admin panel for the login block or by adding the following to your skin's variables.php file:
$blocks['login']['acctlink'] = 0;
2. You'll probably need to add the links for the menu to the $pagelinks array, and this is the part where you'll probably have to do some experimentation. If all the links you want to add are in the Page Links Admin panel you can skip this step. If they're not here's what you need to add for each link:
$pagelinks['LINKNAME'] = array("id" => NUMBER, "text" => LINKTEXT, "url" => _BASEDIR."URL", "link" => <a href="""._BASEDIR."URL">LINKTEXT</a>");"
LINKNAME = The name of your link. If you were going to use it in the skin separately this would be the {link} variable.
NUMBER = Assign a number to your link. Make it a big number so you don't conflict with any of your page links that are already in there. I started numbering at 100.
URL = The url to your link.
LINKTEXT = The text of the link.
As an example this is what I added for the Cobalt skin in the link above.
$pagelinks['newstory'] = array("id" => 100, "text" => _ADDNEWSTORY, "url" => _BASEDIR."stories.php?action=newstory", "link" => "<a href="""._BASEDIR."stories.php?action=newstory".""" title=""._ADDNEWSTORY."">"._ADDNEWSTORY."</a>");
$pagelinks['editbio'] = array("id" => 101, "text" => "Edit Bio", "url" => _BASEDIR."user.php?action=editbio", "link" => "<a href="""._BASEDIR."user.php?action=editbio".""" title="Edit Bio">Edit Bio</a>");
3. The next step will be to add a menu to variables.php for your links.
$blocks["MENUNAME"] = array(
"title" => "MENUTITLE",
"status" => 1,
"content" => array(
0 => 'login',
1 => 'editbio',
2 => 'newstory',
3 => 'adminarea',
4 => 'logout'
)
);
MENUNAME = The name of the menu. You'll use this to add the menu to the .tpl of the skin.
MENUTITLE = The title of the menu. Most likely, you'll just leave this blank.
The content array is the list of links you want in your menu. You can see the 2 links we added "newstory" and "editbio" plus three others that were already available.
The status needs to be either 1 or 2. If you set it to 2 it will only appear on the index page.
Again, an example from the skin I linked to above:
$blocks["membermenu"] = array(
"title" => "",
"status" => "1",
"file" => "menu/menu.php",
"style" => 1,
"content" => array (
0 => 'login',
1 => 'editbio',
2 => 'newstory',
3 => 'adminarea',
4 => 'logout'
)
);
}
4. Now around everything you've just added you need to add a bit of code so this is only added if the visitor is logged in.
if($loggedin) {
.....
}
So the full example is:
if($loggedin == 1) {
/* First add the new links to the link array. We'll start the numbering on these at 100 just in case, but shouldn't matter anyway. */
$pagelinks['newstory'] = array("id" => 100, "text" => _ADDNEWSTORY, "url" => _BASEDIR."stories.php?action=newstory", "link" => "<a href="""._BASEDIR."stories.php?action=newstory".""" title=""._ADDNEWSTORY."">"._ADDNEWSTORY."</a>");
$pagelinks['editbio'] = array("id" => 101, "text" => "Edit Bio", "url" => _BASEDIR."user.php?action=editbio", "link" => "<a href="""._BASEDIR."user.php?action=editbio".""" title="Edit Bio">Edit Bio</a>");
$blocks["membermenu"] = array(
"title" => "",
"status" => "1",
"file" => "menu/menu.php",
"style" => 1,
"content" => array (
0 => 'login',
1 => 'editbio',
2 => 'newstory',
3 => 'adminarea',
4 => 'logout'
)
);
}
5. Open the .tpl where you want the login/menu to appear (header.tpl, index.tpl, footer.tpl) and add the login block and our newly created menu. They should follow one another with nothing in-between them. I would suggest you leave the titles off and just stick with the content.
<div id="memberinfo">{login_content}{membermenu_content}</div>
Note that "membermenu" was the name of the menu we added. If you named yours differently you'd use that in front of the "_content".
6. Use your style.css to style the new blocks. In the example I've given I surrounded them both with a div called "memberinfo" and then used "memberinfo" to style them both together. You may still need to tweak a few things like links separately.
