One of the things that most of our users like the most about mojoPortal is the easy access they have to module settings and edit screens. Sometimes, people ask if they can hide these links (or icons if the skin uses those) while remaining logged into the site.
Well, here's an extremely easy way to hide the links without sacrificing the usability of mojoPortal. This solution is completely skin based so it doesn't require any additions to the mojoPortal core.
First, we add the following to our skin script (see "Optimize Your mojoPortal Skin Scripts" for more info):
function HideEditLinks() {
$(".modulelinks").hide();
$(".ModuleEditLink").hide();
}
function ShowEditLinks() {
$(".modulelinks").show();
$(".ModuleEditLink").show();
}
$(document).ready(function() {
var editLinksState = Get_Cookie('editLinksState');
if (editLinksState != null) {
if (editLinksState == 'hidden') {
HideEditLinks();
}
if (editLinksState == 'visible') {
ShowEditLinks();
}
}
$("a#togglemodulelinks").click(function() {
editLinksState = Get_Cookie('editLinksState');
if (editLinksState == null || editLinksState == 'visible') {
HideEditLinks();
Set_Cookie('editLinksState', 'hidden')
} else if (editLinksState == 'hidden') {
ShowEditLinks();
Set_Cookie('editLinksState', 'visible')
}
});
});
Second, we add the following inside the AutoHidePanel in the layout.master:
<a href="#" rel="nofollow" id="togglemodulelinks">Toggle Edit Links</a>
The code above simply hides the links if they're shown and displays them if they're hidden.
Placement of the "Toggle Edit Links" link can be done with CSS but it should definitely be inside of the AutoHidePanel
. The AutoHidePanel
will ensure that the link isn't shown unless one of the Admin Toolbar items is shown. You could add another AutoHidePanel
to the layout.master but there's no point in increasing page load if you don't have to.
Happy mojo-ing!