Open the menu

    Utilização do controle lum_pagination

    Na opção "Número de Itens" do right-click das interfaces Lista do Lumis, por exemplo, pode ser determinada a quantidade de itens que serão exibidos. No caso a página que contém a interface Lista sofrerá uma paginação.

    using_lum_pagination_control_001

    Portanto, caso a interface Lista do serviço de Notícias, por exemplo, receba pelo XML um número maior de itens cadastrados do que o determinado como máximo, as informações de paginação chegarão no controle lum_pagination, no XML:

    A partir do código XML anterior, tem-se duas opções para montar a paginação:

    1. Chamar o template de paginação já existente no DouiControls.xsl dentro do XSL da interface Lista.
    2. Ou, chamar o mesmo template, porém customizando-o no próprio arquivo XSL onde ele foi chamado.

    Chamando o template de paginação no arquivo XSL da interface Lista (de Notícias):

    Notas:

    Além da adição do <xsl:apply-templates /> chamando o template de lum_pagination, foi adicionado o seguinte código:

    Isso porque, para a paginação funcionar, deve ser utilizado <xsl:templatematch="//control[@type='lum_form']">, ao invés de apenas <xsl:template match="/">, e além disso é necessário o <form> chamando o template de lum_formHeader.

    Para simplificar o código, basta utilizar a tag <lum:form /> à volta do código. Essa é uma das áreas mais indicadas para se usar as tags do Lumis ao invés de tags de XSL normais. (procurar o exemplo com <lum:form />)

    Com a codificação XSL anterior, tem-se a paginação montada. No exemplo a seguir, foi determinado para a interface, exibir apenas um item por página, como pode ser visto no XML da mesma:

    using_lum_pagination_control_002

    A segunda opção para montar a paginação, customizando a estrutura e layout, deve ser utilizada a tag <xsl:template match="//control[@type='lum_pagination']">. Desta vez, foi utilizado o <lum:form /> para facilitar:

    Em um primeiro momento, o XSL do controle de lum_pagination pode parecer complexo. Esta complexidade está relacionada a testes de verificação de existências de paginação, quantidade de páginas, qual será a última página, existência de links de próximo e anterior, e etc...

    O código referente à paginação foi retirado do arquivo DouiControls.xsl e realizadas algumas alterações.

    Com a customização do controle lum_pagination, a interface Lista será assim exibida:

    using_lum_pagination_control_003