Wikia

Community Central

Needs Help with Navbox

91,296pages on
this wiki

Forum page

This Forum has been archived

Visit the new Forums
Forums: Index Support Requests Needs Help with Navbox
Wikia's forums are a place for the community to help other members.
To contact staff directly or to report bugs, please use Special:Contact.
Note: This topic has been unedited for 762 days. It is considered archived - the discussion is over. Do not add to unless it really needs a response.


I am trying to use the code for Navbox Template from one Wiki to another. I expected the configuration of the Navbox Template for the latter to be exactly same as the former, but I've encountered a problem; even though the codings for the two templates are exactly the same, their displays are not.

The former Wiki displays the template like this.

The latter Wiki displays it like this.

Four problems about the Navbox Template on the latter Wiki:

  • There is no "Hide" option on the template in the latter Wiki.
  • Unlike on the former Wiki, the Tnavbar template (v e) does not have appropriate spacing between itself and the edge of the template.
  • Texts don't shrink on the Title and Group parameter like they do on the former Wiki.
  • The background for the Group parameter on the latter Wiki does not extend appropriately depending on the length of the texts in it like the former Wiki.

I am very confused on why these problems are persisting on latter Wiki when the codes are exactly the same. I want the said functions on the template of the latter Wiki to be working as same as on former Wiki. Any helps would be appreciated. - Caution! You have been Envenomed. 10:03, July 21, 2012 (UTC)

You will need to use JavaScript to achieve that style. Add this code in the your wikis MediaWiki:Common.js file:
/** Collapsible tables *********************************************************
 *  Description: Allows tables to be collapsed, showing only the header. See
 *               [[Wikipedia:NavFrame]].
 *  Maintainers: [[User:R. Koot]]
 */
 
var autoCollapse = 2;
var collapseCaption = "hide";
var expandCaption = "show";
 
function collapseTable( tableIndex )
{
    var Button = document.getElementById( "collapseButton" + tableIndex );
    var Table = document.getElementById( "collapsibleTable" + tableIndex );
 
    if ( !Table || !Button ) {
        return false;
    }
 
    var Rows = Table.rows;
 
    if ( Button.firstChild.data == collapseCaption ) {
        for ( var i = 1; i < Rows.length; i++ ) {
            Rows[i].style.display = "none";
        }
        Button.firstChild.data = expandCaption;
    } else {
        for ( var i = 1; i < Rows.length; i++ ) {
            Rows[i].style.display = Rows[0].style.display;
        }
        Button.firstChild.data = collapseCaption;
    }
}
 
function createCollapseButtons()
{
    var tableIndex = 0;
    var NavigationBoxes = new Object();
    var Tables = document.getElementsByTagName( "table" );
 
    for ( var i = 0; i < Tables.length; i++ ) {
        if ( hasClass( Tables[i], "collapsible" ) ) {
 
            /* only add button and increment count if there is a header row to work with */
            var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0];
            if (!HeaderRow) continue;
            var Header = HeaderRow.getElementsByTagName( "th" )[0];
            if (!Header) continue;
 
            NavigationBoxes[ tableIndex ] = Tables[i];
            Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex );
 
            var Button     = document.createElement( "span" );
            var ButtonLink = document.createElement( "a" );
            var ButtonText = document.createTextNode( collapseCaption );
 
            Button.className = "collapseButton";  //Styles are declared in Common.css
 
            ButtonLink.style.color = Header.style.color;
            ButtonLink.setAttribute( "id", "collapseButton" + tableIndex );
            ButtonLink.setAttribute( "href", "javascript:collapseTable(" + tableIndex + ");" );
            ButtonLink.appendChild( ButtonText );
 
            Button.appendChild( document.createTextNode( "[" ) );
            Button.appendChild( ButtonLink );
            Button.appendChild( document.createTextNode( "]" ) );
 
            Header.insertBefore( Button, Header.childNodes[0] );
            tableIndex++;
        }
    }
 
    for ( var i = 0;  i < tableIndex; i++ ) {
        if ( hasClass( NavigationBoxes[i], "collapsed" ) || ( tableIndex >= autoCollapse && hasClass( NavigationBoxes[i], "autocollapse" ) ) ) {
            collapseTable( i );
        } 
        else if ( hasClass( NavigationBoxes[i], "innercollapse" ) ) {
            var element = NavigationBoxes[i];
            while (element = element.parentNode) {
                if ( hasClass( element, "outercollapse" ) ) {
                    collapseTable ( i );
                    break;
                }
            }
        }
    }
}
addOnloadHook( createCollapseButtons );
Sam Wang (talk) 11:37, July 21, 2012 (UTC)
If the wiki is updated to version 1.19, it should be possible to use the mw-collapsible class to make it collapsible without any custom JS. - Tjcool007 (Talk) 12:50, July 21, 2012 (UTC)

Around Wikia's network

Random Wiki