| Versão: | 0.3 (0.4+) |
| Autor: | Samuel Corradi |
| Data: | 2009/08/26 |
| Categoria: | Navegação |
| Descrição: | Adiciona 'selected' ao atributo 'class' de uma tag se o parâmetro passado for igual ao ID ou Pai do Conteúdo atual. |
| Dependência: | Classe 'Coupe Content' |
Esse módulo serve para ser utilizado em menus feitos manualmente e que seus links apontem para páginas internas do projeto.
Colocando a marcação dentro da tag class do link, ao acessar esse o Conteúdo desse link, o módulo retornará a palavra selected. Assim é possível alterar sua aparência indicando que o link está sendo acessado no momento. O módulo faz isso comparando o parâmentro passado com o ID do Conteúdo acessado.
Lembrete: o módulo Menu gera links de forma automática (baseando-se nos Conteúdos do projeto) e, inclusive, já faz o trabalho desse módulo de forma automática também. Por tanto, utilize o módulo Selected somente se o menu tiver que ser gerado manualmente.
Esse módulo não possui modos de execução.
[[selected?id=bemvindo]] - Quando o usuário estiver acessando o Conteúdo bemvindo, o módulo irá retornar a palavra selected no lugar da marcação. Assim, se colocarmos essa marcação dentro da tag class de um link, quando o link estiver sendo acessado, pode-se criar um estilo para esse link indicando que ele está ativo. Exemplo:
<li class="[[selected?id=bemvindo]]"><a href="#"> Bem-vindo </a></li>
<li class="[[selected?id=empresa]]"><a href="#"> A Empresa </a></li>
<li class="[[selected?id=contato]]"><a href="#"> Contato </a></li>
Ao acessar o Conteúdo empresa do projeto, o link ficaria:
<li class=""><a href="#">Bem-vindo</a></li>
<li class="selected"><a href="#">A Empresa</a></li>
<li class=""><a href="#">Contato</a></li>
[[selected?parent=empresa]] - Se não usamos o parâmetro id, e usamos o parâmentro parent, o comportamento do Módulo muda: ele retorna selected quando o Conteúdo acessado tiver o mesmo ID indicado, mas também retorna selected se o Conteúdo acessado for filho do ID especificado pelo parâmentro. Assim, se acessarmos um determinado sublink, podemos mudar o estilo do seu link principal. Exemplo:
<li class="[[selected?parent=empresa]]"><a href="#"> A Empresa </a>
<li class="[[selected?id=empresa.historico]]"><a href="#"> Histórico </a></li>
<li class="[[selected?id=empresa.missao]]"><a href="#"> Missão </a></li>
<li class="[[selected?id=empresa.servicos]]"><a href="#"> Servicos </a></li>
</li>
De acordo com o código acima, ao acessar o Conteúdo empresa.missao, o link ficaria:
<li class="selected"><a href="#a"> A Empresa </a>
<li class=""><a href="#"> Histórico </a></li>
<li class="selected"><a href="#"> Missão </a></li>
<li class=""><a href="#"> Servicos </a></li>
</li>
| Versão: | 0.3 (0.4+) |
| Autor: | Samuel Corradi |
| Data: | 2009/08/26 |
| Categoria: | Navegação |
| Descrição: | Carrega um menu dinâmico de acordo com o conteudo da pasta 'contents'. |
| Dependência: | Classe 'Coupe_File', classe 'Coupe_String' |
A função desse módulo é gerar os menus de navegação do site/sistema de forma dinâmica baseando-se nos Conteúdos existentes na pasta manager/contents.
O menu é gerado em forma de lista, e utiliza o título dos documentos como textos dos links. Se, eventualmente, for necessário substituir o texto do link, basta indicar o ID do documento e o nome texto que se deseja utilizar através do parâmetro force_title.
Os links são ordenados no menu em ordem alfabética. Essa ordem pode ser invertida usando o parâmetro order. Outra possíbilidade é forçar manualmente essa ordem passando o ID dos documentos na ordem em que se deseja através do parâmentro force_order.
Para evitar a fadiga, não é necessário digitar o ID completo do documento para forçar a ordem. Somente parte dele é suficiente. Assim, todo documento que tiver o trecho digitado em seu id, seguirá a ordem indicada. Os documentos que não forem citados no parâmetro forcer_order ficarão por último (após todos indicados na lista serem ordenados).
[[menu]] - Como o mode padrão é o full, exibe o menu para todos documentos do projeto no lugar da marcação.
[[menu?mode=parent&parent=produtos]] - Altera o modo de execução para parent e indica que o parent é o Conteúdo produtos. Dessa forma exibe todos documentos que são filhos do documento produtos (sublinks da seção produtos).
[[menu?mode=top]] - Exibe no lugar da marcação a lista de todos documentos que não tenham pai (documentos que não seja sublinks). Esse modo pode ser usado para gerar o menu principal de um site. Importante observar que caso se tenha um Conteúdo de ID link.sublink, mas não tiver um Conteúdo link para ser seu pai, então ele se torna pai de sí mesmo e dos outros Conteúdos "irmãos". Assim, ele aparecerá no menu gerado no modo top.
[[menu?remove=404,documentoX]] - O parâmentro remove pode ser usado em qualquer modo de execução para não incluir qualquer Conteúdo desejado no menu que for gerado. Basta especificar os ID dos conteúdos (separados por vírgula) na opção. No caso, o documento utilizado para exibir a mensagem de página não encontrada (erro 404) é removido para que não apareça no menu junto com os outros documentos. Assim como o documento de ID documento X.
[[menu?order=desc]] - Exibe o menu completo do site, porém em ordem inversa (descendente). Se o parâmetro não for especificado, os documentos serão exibidos como asc (ascendente).
[[menu?mode=top&force_title=sobre._oqueeh::Sobre,contato::Fale Conosco]] - No exemplo tirado do próprio site do PHP Coupé (menu principal do site), um documento de ID sobre._oqueeh tem o texto do seu link substituido para Sobre.
[[menu?mode=top&force_order=down,apren,modul,blog,sobre,conta]] - Nesse exemplo, também tirado do site do PHP Coupé (observe o menu principal do site), os documentos são ordenados manualmente no menu. Como se pode observar, não é necessário digitar o ID completo dos documentos. Dessa forma, qualquer documento que tenha o trecho digitado é ordenado segundo a ordem passada.
[[menu?repeat=yes]] - Imagine que você tenha vários Conteúdos, e entre eles uma lista de Conteúdos "irmãos" que não tenham um "pai". Como já foi dito na descrição do mode top, se um Conteúdo não tiver pai, um dos irmão se torna o pai de todos. Nesse caso, podemos usar o parâmetro repeat para que esse Conteúdo repita no menu gerado sendo o link principal da seção, mas também apareça como sublink dessa seção.
Versão atual: 0.5
Licenciado sob Creative Commons by-nd
Desenvolvido por Samuel Corradi 2008.