Utilização do controle lum_filters
Em quaisquer interfaces, principalmente nas interfaces Lista ou Administração pode-se determinar filtros, através da opção “Filtros” no right-click dessas interfaces.
Para a interface Lista foi criado o filtro com campo “Título”, com Operador do tipo “Igual a”, o que significa que é basicamente uma busca por palavras-chave nos títulos de notícias cadastradas. Além disso, foi escolhido um id qualquer e determinado a largura do campo do filtro em 300 (pixels).
Com isso tem-se o seguinte XML chegando na interface de Lista:
Assim como na paginação, tem-se a opção de chamar o template de filtros no XSL de Lista. Se não há necessidade de customização na estrutura ou no layout, esta opção de chamar o template é a mais simples.
No exemplo anterior foi utilizado a tag <lum:form />
para deixar o código mais simples.
A figura a seguir exibe a interface de notícia com o filtro inserido.
A customização da estrutura do controle lum_filters é consideravelmente mais trabalhosa do que nos controles vistos até aqui. Isso porque envolve uma série de controles que são chamados dentro do <xsl:template match="//control[@type='lum_filters']">
. Na customização ignore os testes do tipo <xsl:if>
e procure apenas pelo HTML, que será na realidade a estrutura a ser customizada.
No exemplo a seguir, exibe uma customização feita com o objetivo de deixar o código o mais simples possível:
Foi inserido CSS dentro de tags <style />
. Idealmente é melhor colocar o CSS em um arquivo externo, aplicado a um canal ou página onde está instanciada a interface. Para isso basta tão somente recortar o código CSS dentro das tags <style />
e colar (sem modificações) no arquivo CSS externo.
O layout customizado para interface Lista com filtros ficará assim: