Jump to content

Manual:Interface/Sidebar/pt

From mediawiki.org
This page is a translated version of the page Manual:Interface/Sidebar and the translation is 13% complete.
Outdated translations are marked like this.
Sidebar example


MediaWiki:Sidebar define a barra de navegação, a qual provê enlaces à maioria dos lugares na wiki e fornece aos administradores do lugar um lugar para adicionar uma colecção constante de enlaces. Por exemplo, a maioria das wikis enlaçarão à página de discussão de sua comunidade e a algumas ferramentas úteis. The navigation bar provides links to the most important locations in the wiki and supplies site administrators with a place to add an important collection of links. For instance, most wikis will link to their community discussion page and some useful tool pages.

Os skins Monobook e Vetor colocam a barra de navegação acima à esquerda (top-right for right-to-left languages) junto à barra de busca e à caixa de ferramentas, mas a localização pode ser diferente em outros skins. This sidebar is not shown to users of the Mobile site (i.e. the version of the site produced by Extensão:MobileFrontend / Skin:MinervaNeue - use the MobileMenu hook for that).

Personalizar varra-a lateral

Para personalizar a MediaWiki:Sidebar numa wiki, você primeiro precisa estar registado com um utente que tenha a permissão editinterface - Isto está habilitado por defeito para os administradores.[1]

You can access MediaWiki:Sidebar by either:

  • Going to http://yourdomain/wiki/index.php?title=MediaWiki:Sidebar&action=edit in your browser.
  • Typing MediaWiki:Sidebar in search bar, and validating with Enter.
  • From Special:AllMessages, searching for "side".

A seguir mostra-se um código de exemplo para uma varra lateral:

* navigation
** mainpage|Accueil
** Special:RecentChanges|Recent changes
* new heading
** portal-url|Forums
** https://www.mediawiki.org|MediaWiki home

This example will result in the following sidebar:

Sidebar example
Se você tem que criar uma nova página, apresentar-se-lhe-á o conteúdo por defeito da varra lateral no editor. Para criar exitosamente uma página MediaWiki:Sidebar, precisa mudar o conteúdo dantes de salvar.

Splitting the navigation bar into new sections

A barra de navegação pode estar dividida em secções, a cada uma com seu próprio encabeçado. This is done by adding one asterisk.

O encabeçado para a cada secção é tomado desde a lista de elementos do primeiro nível ("navigation" e "new heading" no exemplo de acima). Se este texto corresponde ao nome de uma mensagem da interface (Uma página existente nesse título na MediaWiki namespace), então o texto dessa página é usado como uma etiqueta; caso contrário, o título do encabeçado utiliza-se tal qual. Please note the {{int:}} magic word does not work since it is useless: MediaWiki automatically looks for a translation to display before to fallback to the default message.

In the example above, * navigation and * new heading are section headings.

Links are created with 2 asterisks (called Second-level list elements). For example:

** target|link text
objectivo
O enlace objectivo pode ser o nome de uma mensagem de interface (uma página no MediaWiki namespace) ou uma página wiki, ou um enlace externo. Em qualquer caso, o link pode ser interno, interwiki ou externo.[2]
Do the following to determine the target:
  1. Chamar o texto objectivo.
  2. Se há um existente ou uma mensagem de interface por defeito com esse nome, use o conteúdo dessa mensagem em vez do texto objectivo.
  3. Se a saída do passo anterior é uma URL valida (começando com http:// ou outro URL protocol), o enlace apontará a essa URL.
  4. se não, tratar-se-á como o enlace objectivo de um wikilink (enlaçando a esse nome de página ou interwiki).
  5. Em caso que termine enlaçando a '-', toda a entrada é removida da varra lateral (isso é útil para remover uma entrada em todas as linguagens ao mudar a mensagem que tem o enlace).

Exemplos:

  • "** portal-url|portal" - usa o texto de MediaWiki:Portal-url (o qual contém "Project:Community portal")
  • "** https://www.mediawiki.org|MediaWiki home" - Links to https://www.mediawiki.org since this is a valid URL.
  • "** Special:RecentChanges|Recent changes" - Links to Special:RecentChanges, since there is no interface message of that name and that is not a valid URL.
  • "** w:Foo|Some interwiki page" - Links to w:Foo for the same reason.
enlace de texto
O enlace de texto pode ser o mesmo de uma mensagem de interface (página no the MediaWiki namespace) ou texto plano.
  • Se o enlace de texto é o nome de uma mensagem de interface existente ou por defeito, o conteúdo dessa mensagem será usada. Mediawiki verificará as versões localizadas; por exemplo, se a linguagem actual é fr (Frances) e o enlace de texto é a mensagem de interface "fórum", este verificará "fórum/fr" dantes de usar "fórum".
  • Em qualquer caso, o enlace de texto é usado como destino.
  • Note que o enlace de texto não é opcional como os enlaces numa wiki normal. Se falta o enlace de texto, o elemento ignora-se.
The link text can be the name of an interface message (page in the MediaWiki namespace) or plain text.
  • If the link text is the name of an existing or default interface message, the content of that message will be used. MediaWiki will check for localized versions; for example, if the current language is fr (French) and the link text is the interface message "forum", it will check for "forum/fr" before using "forum".
  • Otherwise, the link text is used as the target as-is.
  • Notice that the link text is not optional as in normal wiki links. If the link text is missing, the item is ignored.

Exemplos:

  • ** Homepage|mainpage - Uses MediaWiki:Mainpage (which contains "MediaWiki").
  • ** Special:Recentchanges|Recent changes - Uses "Recent changes", since there is no interface message of that name.
Target link w:Foo is the english version interwiki article. For another language version must be used language code before the target article name. For example to polish version w:pl:Foo or shortly pl:Foo. But for the multilanguage wiki target as this, is better use Special:MyLanguage. You can try for example link to Help:Links article.
Special:MyLanguage/Help:Links#Interlanguage_links | helplinks
String helplinks is translatable message from MediaWiki namespace, similary as portal above, but target URL is result of the special page. Not generated from content of the translatable message as MediaWiki:portal-url. If the translated content of target page exists, is directly opened. If not, is opened default language version of it.


Ordem dos elementos

Some skins allow customizing the order of some special elements, like the search bar, toolbox, and languages. That can be done by adding the special keywords SEARCH, TOOLBOX and LANGUAGES respectively, to MediaWiki:Sidebar using the heading syntax.

However, some skins like MonoBook no longer support defining the position of the search element, and the search element is placed right after the first section of the sidebar instead. In that case, to move the search element at the top, the workaround is to define an empty leading section. For example:

* empty section
* navigation
** mainpage|mainpage
** Special:Recentchanges|Recent changed
* new heading
** portal-url|portal
** https://www.mediawiki.org|MediaWiki home

Note that some skins may display the first section differently, or place some element between the first and the second section (if any).

Tooltips and Accesskey

A tooltip is a message which appears when a cursor is positioned over an icon, image, hyperlink, or other element in a graphical user interface.

If you add an item to the sidebar, it will have no "tooltip". But you can create a tooltip by doing the following:

[3]

  • create a wiki page named "MediaWiki:Tooltip-n-<id of the item>"
  • and put the tooltip in that page.

An access key or accesskey allows a computer user to immediately jump to a specific part of a web page via the keyboard.

Accesskeys can also be created by doing the following:

  • create a wiki page named "MediaWiki:Accesskey-n-<id of the item>"
  • and put the accesskey in that page.

Example:


Traduções

Você pode traduzir as correntes, a qual você usa, editando as páginas de acordo ao namespace na MediaWiki .

Exemplo: - A corrente, a qual substituirá o elemento chamado "mainpage", é tomado de MediaWiki:Mainpage. Para configurar/mudar este texto para os utentes, quem despliegan seu wiki em Alemão, pode colocar o texto de acordo à página MediaWiki:Mainpage/de.

Dessa maneira você pode facilmente traduzir esses textos através da interface da MediaWiki.

Please note that MediaWiki will by default use the content of the Sidebar page in that language, which corresponds to the default language of your wiki. So, if your wiki e.g. uses French as its default language, edit MediaWiki:Mainpage/fr in order to show a modified sidebar to all users, who have not changed their language setting and to all anonymous users.

Advanced customization

The sidebar can be fully customized by implementing JavaScript or CSS, or by editing the PHP files directly. Before using these methods, note that:

  • JavaScript is fragile: it will not work for users with JavaScript disabled, and scripts frequently fail in different browsers or skins.
  • Editing the PHP files can easily cause unexpected errors, and your changes will be lost in the next update unless you manually change the new files.

Remove the Sidebar and main logo at MediaWiki:Sidebar

To completely remove the sidebar and logo:

Blank the MediaWiki:Sidebar page and save.

Then add:

#column-content { margin: 0 0 1em 0; }
#content { margin: 0 0 0 0; }
#p-cactions { left: .1em; }

This moves the main text of your wiki to the left.


Deletes the logo, and the entire sidebar:

#p-logo, .generated-sidebar, #p-lang, #p-tb  { display:none; }

Deletes the search bar:

#p-search { display:none; }

Deletes the talk tab:

#ca-talk { display:none!important; }

Deletes the Page tab:

#ca-nstab-main { display:none!important; }

Force UI-messages to follow content

Some pages should sometimes follow the content language, especially for multilingual sites. This can be controlled with the setting $wgForceUIMsgAsContentMsg . Each message overridden in this way must be explicitly given, for example to let the sidebar link to versions given by the content language for the main page and the portal page add the following to

LocalSettings.php

code
$wgForceUIMsgAsContentMsg = [ 'mainpage', 'portal-url' ];

Add or remove toolbox sections

The toolbox appears on the left under MediaWiki:Sidebar in certain skins. On Vector 2022 it appears on the right of the screen (in LTR languages).

As of MediaWiki 1.43 you can append links to the toolbox using MediaWiki:Sidebar via MediaWiki:Sidebar.

* empty section
* navigation
* TOOLBOX
** portal-url|Forum

Adding toolbox items prior to 1.43 via JavaScript

The toolbox appears on the left under MediaWiki:Sidebar. The toolbox is a dynamic element requiring programmatic methods such as skin extensions, PHP (see skins/MonoBook.php and creating a new skin) or JavaScript.

The JavaScript solution uses User:{username}/common.js / MediaWiki:Common.js, available for MediaWiki 1.9+.

Now simply configure which link should appear in which section. You also can remove some links if you want to.

Code

function ModifySidebar( action, section, name, link ) {
	try {
		switch ( section ) {
			case 'languages':
				var target = 'p-lang';
				break;
			case 'toolbox':
				var target = 'p-tb';
				break;
			case 'navigation':
				var target = 'p-navigation';
				break;
			default:
				var target = 'p-' + section;
				break;
		}

		if ( action == 'add' ) {
			var node = document.getElementById( target )
							   .getElementsByTagName( 'div' )[0]
							   .getElementsByTagName( 'ul' )[0];

			var aNode = document.createElement( 'a' );
			var liNode = document.createElement( 'li' );

			aNode.appendChild( document.createTextNode( name ) );
			aNode.setAttribute( 'href', link );
			liNode.appendChild( aNode );
			liNode.className = 'plainlinks';
			node.appendChild( liNode );
		}

		if ( action == 'remove' ) {
			var list = document.getElementById( target )
							   .getElementsByTagName( 'div' )[0]
							   .getElementsByTagName( 'ul' )[0];

			var listelements = list.getElementsByTagName( 'li' );

			for ( var i = 0; i < listelements.length; i++ ) {
				if (
					listelements[i].getElementsByTagName( 'a' )[0].innerHTML == name ||
					listelements[i].getElementsByTagName( 'a' )[0].href == link
				)
				{
					list.removeChild( listelements[i] );
				}
			}
		}


	} catch( e ) {
		// let's just ignore what's happened
		return;
	}
}

function CustomizeModificationsOfSidebar() {
	// Adds [[Special:CategoryTree|Special:CategoryTree]] to toolbox
	ModifySidebar( 'add', 'toolbox', 'CategoryTree', 'https://en.wikipedia.org/wiki/Special:CategoryTree' );
	// Removes [[Special:Upload|Special:Upload]] from toolbox
	ModifySidebar( 'remove', 'toolbox', 'Upload file', 'https://en.wikipedia.org/wiki/Special:Upload' );
}

jQuery( CustomizeModificationsOfSidebar );
Usage
function CustomizeModificationsOfSidebar() - Has to be customized for adding or removing links in specific sections:
ModifySidebar( "action", "section", "name", "link" );
parameter value
action add to add a link; remove to remove a link
section navigation, toolbox, languages but also any other existing customized section; the given link will be added to or removed from this section
name contains the text of the link
link contains the URL of the link

Restricting modifications to specific usergroups

If you want to restrict the modification of the links to a specific user group (e.g. bureaucrat), change:

jQuery( CustomizeModificationsOfSidebar );

to

if ( mw.config.get( 'wgUserGroups', [] ).indexOf( 'bureaucrat' ) !== -1 ) {
	jQuery( CustomizeModificationsOfSidebar );
}

For restricting the modifications to IPs instead of a specific user group, use

if ( mw.config.get( 'wgUserGroups', [] ).indexOf( 'user' ) === -1 ) {
	jQuery( CustomizeModificationsOfSidebar );
}

Add or remove toolbox sections (PHP)

You can add in your file LocalSettings.php the hook described on this page. With this, you can modify via MediaWiki:Sidebar the links in the toolbox panel (remove some links, change their name) and add custom links (e.g. add the "Recent changes" link there instead of the navigation panel).

Make expanding/collapsing sidebar for all users (Monobook skin only)

If you use the Monobook skin and don't want to miss the expandable menu bar from e.g. Vector skin, paste the following code into MediaWiki:Monobook.js of your wiki.

/////////////////////////////////////////////////////////
// Code snippet to make your sidebar items expandable. 
// Use this code ONLY for the Monobook skin. 
/////////////////////////////////////////////////////////

$( document ).ready( function() {
	// Set the default expanded items by their headline
	var defaultExpandItems = ['Navigation', 'Orga'];
	// Set the basic-name for the cookies, which save the current state of expanding
	var expandCookieName = 'disdance_project_wiki_nav_expanded_';

var maxHeights = [];
	var expandeds = [];
	var labels = [];
	initNav();
});

function initNav() {
	$( '#p-logo' ).css({'position': 'relative', 'display': 'block'});
	$( '.generated-sidebar h5,#p-tb h5 ').each( function( i ) {
		var id = $( this ).parent().attr( 'id' );
		maxHeights[id] = $( this ).next( 'div' ).height();
		var str = $( this ).html();
		labels[id] = str;

if ( $.cookie( expandCookieName + id ) == 'false' ) {
			expandeds[id] = false;
			minimize( $( this ) );
		} else if ( $.cookie( expandCookieName + id ) == 'true' ) {
			expandeds[id] = true;
			maximize( $( this ) );
		} else if ( defaultExpandItems.indexOf( str ) == -1 ) {
			expandeds[id] = false;
			minimize( $( this ) );
		} else {
			expandeds[id] = true;
			maximize( $( this ) );
		}
		$( this ).css({'cursor': 'pointer'});
		$( this ).click( toggleNav );
	} );
}

function minimize( target ) {
	var id = $( target ).parent().attr( 'id' );
	// You can change the expires parameter to save the cookie longer/shorter than 7 days like in this code
	$.cookie( expandCookieName + id, 'false', { expires: 7} );
	var str = labels[id] + '  ►';
	$( target ).next( 'div' ).animate({'height': '0px'});
	$( target ).html( str );
}

function maximize( target ) {
	var id = $( target ).parent().attr( 'id' );
	// You can change the expires parameter to save the cookie longer/shorter than 7 days like in this code
	$.cookie( expandCookieName + id, 'true', { expires: 7} );
	var str = labels[id] + '  ▼';
	var newHeight = maxHeights[id];
	$( target ).next( 'div' ).animate({'height': newHeight + 'px'});
	$( target ).html( str );
}

function toggleNav( e ) {
	var id = $(e.target ).parent().attr( 'id' );
	expandeds[id] = !expandeds[id];
	if( expandeds[id] == true ) {
		maximize( e.target );
	} else {
		minimize( e.target );
	}
}

///////////////////////////////////////////////////////
///////////////////////////////////////////////////////

You can change the width of your sidebar by adding the following CSS rules to your MediaWiki:Monobook.css

note that this is an article, not a file. This changes the width to 15em, the actions position and portlet width should be an em or so less, so I've set them to 14em in this example.

/* increase sidebar width */
#column-content { margin-left: -15em; }
#column-content #content { margin-left: 15em; }
#p-logo a, #p-logo a:hover { width: 15em; }
#p-cactions { left: 14.5em; }
.portlet { width: 14em; }
#column-content { margin-left: -14em; }
#content.mw-body { margin-left: 14em; }

Change sidebar content when logged in (PHP)

Install and configure the DynamicSidebar extension.

Parser functions in sidebar

Although it is not exactly recommended, the sidebar does support parser functions (such as ParserFunctions ), provided the ** is outside the parser function, and the parser function does not span multiple lines. For example:

*Heading
**{{#ifeq:{{NAMESPACE}}|User|Page-to-link-to{{!}}text-to-show-on-user-page}}
**{{#ifeq:{{NAMESPACE}}|Talk|Another-Page-to-link-to{{!}}text-to-show-on-talk-page}}

works. However the following would not work since the parser function spans multiple lines:

*Heading
{{#ifeq:1|1|
**foo{{!}}
bar
|
**baz{{!}}fred
}}

Troubleshooting

Changes not showing up

MediaWiki aggressively caches content if possible, which often causes the navigation bar to persist after changes. Purging the cache of affected pages should correct the situation. To perform a mass-purge of all caches at once, touch the LocalSettings.php file or truncate the objectcache table in your database (you may have to do both).

You also need to have $wgUseDatabaseMessages set to true. Also, if your links don't have a | in them, they will not show up because of this line of code in Skin.php: if ( strpos( $line, '|' ) !== false ) {

If you are a user or average wiki admin, you will not be able to do the advanced stuff above to get changes to show up. If purging does not work either, you can sometimes still see CSS changes right away in preview (especially when changing your personal CSS). For example; changing the sidebar width, padding, or margins. Changes can take awhile to show up after saving though. If nothing shows up after awhile you may need to contact the overall wiki, or wiki farm, sysop.

If your links are not being capitalized as intended, try adding spaces around the bar character; for example:

** http://www.example.com/download.php?file=44555 | <span lang="en" dir="ltr" class="mw-content-ltr">Download</span>

Sections disappear or show unexpected content

If a section does not display or displays unexpected content, check that the header text isn't the name of an interface message by searching Special:AllMessages. If it is, use a different header text, or create a new interface message and use it.

For example, if you want to use "Sidebar" as header text, create the interface message "MediaWiki:Sidebar-header" containing only "Sidebar". Then, use * sidebar-header as header.

Sections are not displayed if there are no links of the form ** target | link text (e.g. when the target was forgotten).

This will happen e.g., each time there are newer translations for your site language's sidebar items.

One could add new redirect pages each time, but a better solution would be to use one's own sidebar item names instead of trying to keep track of the current MediaWiki translations.

Ver também

References

  1. (Para informação sobre atribuir uma permissão a grupos ou utentes, ver Manual:Privilégios de Utilizador .) Depois, use um enlace a uma página em sua wiki, mas substitua o título de sua página wiki (e.g. Main_Page) na URL/varra de direcções com MediaWiki:Sidebar e carregue essa página - Você deveria ver agora o conteúdo da varra lateral. (Você pode usar a sintaxe $2 se você utiliza URLs longas.) Se o conteúdo de varra-a lateral já tem sido modificado, você simplesmente pode dar clique sobre o enlace Edit ou Edit source, de outra forma você poderia precisar criar primeiro a página dando clique em Create ou Create source.
  2. Em alguns casos (tais como enlaces com o carácter "&"), uma mensagem de interface é necessário. O enlace objectivo não pode ser dependente da linguagem da interface configurada nas preferências.
  3. Kaare Mikkelsen (25.1.2012): Adding tooltips to sidebar items in MediaWiki (Wayback Machine 30.10.2022)