Módulos

O que são os módulos num sítio Joomla e como disponibilizá-los

O que são módulos num sítio Joomla?

Os módulos são um tipo de extensão do Joomla. São "caixas" normalmente disponibilizadas à volta do componente, onde este último geralmente é mostrado na parte central. São o equivalente aos widgets no Wordpress.

Os módulos são designados a item de menu. Podem ser atribuídos a um menu um ou mais módulos.

Os módulos são colocados em "posições", ou lugares definidos no template. As posições não são estáticas - cada template terá as suas próprias posições. E essas posições podem ser criadas, alteradas ou até mesmo apagadas a qualquer altura.

Os módulos e as posições existem não só em frontend (na parte pública online do sítio), mas também no backoffice (ou na parte administrativa, onde gere o sítio). Mas neste artigo vamos falar apenas na primeira referida.

Alguns dos módulos mais usados e disponibilados pelo do Joomla são:

  • Autenticação
  • Pesquisa
  • Últimas notícias
  • Personalizado (para simples conteúdo HTML)
  • Seletor de idiomas

Pretende outro tipo de funcionalidades, talvez para um Slideshow (apresentação de imagens/slides) ou Slider (apresentação rotativa de artigos/produtos)? Pesquise no diretório de Extensões do Joomla. Existem muitos gratuitos. Certifique-se apenas de procurar módulos compatíveis com a versão do Joomla que use e módulos que não sejam muito antigos ou que sejam frequentemente atualizados.

Como posso disponibilizar ou alterar um módulo no meu site Joomla?

Para o fazer, terá que dar os seguintes passos:

  1. Saber as posições existentes
  2. Definir um módulo a uma posição
    1. Disponibilizar um módulo numa posição
    2. Disponibilizar um módulo num artigo (componente)
    3. Disponibilizar um módulo num template de categoria ou artigo

1º - Saber as posições existentes

O primeiro passo é saber que posições existem no template do seu sítio, antes de escolher o lugar onde vai ficar.

Para isso, terá que ativar a opção de poder ver as posições no site público do site.

  1. Vá ao menu Extensões » Temas
  2. Clique no botão "Opções" (ícone da roda dentada), no canto superior direito (ver screenshot em baixo)

    1

  3. Clique em Ativado no separador "Temas" e na opção "Pré-visualizar posições de módulos", e de seguida pressione no botão Guardar e Fechar.(ver screenshot em baixo)

    2

A seguir já pode ver as posições na parte pública do seu site por acrescentar ?tp=1 ao URL caso o mesmo não tenha nenhuma variável no endereço. Caso já exista, deve colocar &tp=1. Exemplo:

?tp=1 quando estiver na página www.omeusitio.com/ ou www.omeusitio.com/index.php ou www.omeusitio.com/single-article/
Deverá ficar: www.omeusitio.com/?tp=1 ou www.omeusitio.com/index.php?tp=1 ou www.omeusitio.com/single-article/?tp=1

&tp=1 quando estiver na página www.omeusitio.com/index.php?option=com_content&view=categories&id=20&Itemid=277
Deverá ficar: www.omeusitio.com/index.php?option=com_content&view=categories&id=20&Itemid=277&tp=1

E abrirá a página com as posições que estiverem disponíveis.

Exemplo de algumas posições no template base do Joomla (ver screenshot em baixo).

3

Nota: Pode estar a acontecer algumas das posições existentes não estarem visíveis. Isso pode acontecer se estiver definido no template para mostrar posições apenas se houver algum módulo atribuído lá. Se deseja ter uma idéia completa de todas as posições existentes, atribua um módulo a cada posição e depois atualize a página.

2º - Definir um módulo a uma posição

A função mais habitual é atribuir um módulo a uma posição existente. Mas existe forma de inserir um módulo num componente ou até num template personalizado.

2.1 - Disponibilizar um módulo numa posição

Agora já pode entrar num módulo existente ou criar um novo e atribuir a à posição pretendida.

Vamos dar um exemplo concreto. Imagine que eu pretendia alterar o módulo de pesquisa da posição "position-0" para a posição "banner".

  1. Vá até ao menu Extensões » Módulos
  2. Filtre pela posição "position-0" ou se sabe o título do módulo também pode pesquisar (neste caso é "Search") - ver screenshot em baixo:

    4

  3. No dropdown "Função" no lado direito da página, altere de position-0 para banner, e depois pressione o botão Gravar e Fechar.

    5

Atualize e página na parte pública e veja o resultado.

2.2 - Disponibilizar um módulo num artigo (componente)

Também é possível disponibilizar um módulo dentro de um artigo.

Vou dar um exemplo, mesmo que não seja o mais indicado ou prático mas é só para exemplificar.

Imagine que gostaria de inserir o módulo de pesquisa dentro do conteúdo.

6
  1. Entrar no artigo pretendido, através do menu Conteúdos » Artigos
  2. Posicionar o cursor do rato na parte do conteúdo onde seja inserir o móduloe pressionar no botão do Módulo (no editor TinyMCE; no editor JCE o botão aparece por baixo do caixa de texto)

    7

  3. Escolher o módulo que pretende inserir (automaticamente o sistema vai inserir a sintaxe { loadmoduleid 63 })

    8

    9

  4. Pressione no botão Guardar e Fechar

Atualize e veja o resultado na página.

Pode carregar o módulo não só pelo ID, mas também pela posição, título e tipo de módulo.

Exemplo Posição:
{loadposition <nome_da_posição>}
Resultado: { loadposition banner }

Nota: Se carregar uma posição, não se esqueça que pode acontecer estarem atribuídos mais do que um módulo. O ideal é definir uma posição que não existe (simplesmente por apagar a posição atribuída no módulo e por escrever uma nova e pressionar Enter) para ter a certeza que não é carregado e mais nenhum lugar senão ali no conteúdo.

Exemplo Tipo e Título do módulo:

Resultado: { loadmodule mod_search,Search } ou só { loadmodule mod_search }

 

2.3 - Disponibilizar um módulo num template de categoria ou artigo

Mas imagine que tem um layout personalizado para a sua listagem de categorias ou artigos num ficheiro PHP, e gostaria de disponibilizar lá um módulo específico.

A sintaxe {loadmodule} ou {loadmoduleid} geralmente não irá funcionar.

Terá que usar um código específico.

Habitualmente, quando estamos dentro de ficheiros do template (geralmente index.php), existe um código específico a inserir:

<?jdoc:include type="modules" name="banner" style="none" ?>

onde no name fica o nome da posição, e o style fica o nome do estilo.

Mas num ficheiro PHP de sobreposição ao layout de categoria ou artigo (normalmente no caminho raiz-do-site/templates/template-do-meu-site/html/nome-do-componente-ou-modulo/nome-do-arquivo-de-visualizacao.php), terá que usar outro.

Insira este código algures no seu layout, talvez no início, depois de "defined('_JEXEC') or die;"

$documento = JFactory::getDocument();
$renderiza = $documento->loadRenderer("modules");
$estilo = array("style" => "none"); // alterar de "none" para o nome do estilo pretendido ou existente, que poderá saber ao pré-visualizar as posições no 1º passo

E depois no local onde desejar inserir o conteúdo do módulo, deve inserir o seguinte código:

<?php echo $renderiza->render("nome-posicao-modulo", $estilo, null); // substituir nome-posicao-modulo pelo nome da posição do módulo ?>

Grave e atualize a página! 

 

Conclusão

Os módulos do Joomla são indicados para mostrar conteúdos "mais pequenos", por isso são mais "leves" a nível de funcionalidades ou conteúdo. Aprender a gerir módulos vai ajudá-lo a dinamizar e potenciar o seu site.

Newsletter

Quer receber as novidades por e-mail? Preenche o teu o nome e e-mail para ser o primeiro a receber. Prometo que só enviarei um por semana!
Invalid Input
Por favor insira o seu e-mail corretamente.
Por favor coloque um visto na caixa de verificação