Open the menu

    Utilização do controle lum_details

    Generalizando, não são muitas as diferenças entre um XML da interface Lista (lum_tabularData) e de uma interface Detalhes (lum_details). Entre elas estão:

    • Não existem links no XML da interface Detalhes, portanto não é necessário utilizar a tag <a> no XSL;
    • Não há uma lista de itens cadastrados, pois sempre chegará apenas uma <row /> dentro de um <data />;
    • Apesar do controle lum_interfaceHeader (cabeçalho) chegar no XML, provavelmente, dependendo da solução, não será utilizado no XSL;
    • A tag referente a imagem é a <contentImage /> para ser atribuída uma imagem junto ao conteúdo. Pode-se também utilizar a tag <introductionImage /> para exibir uma imagem junto a introdução. Esta última não foi utilizada no exemplo de interface Detalhes;
    • Tem-se o campo <content />, que traz o texto do campo conteúdo do item cadastrado.

    O XSL para tratar o XML da interface Detalhes pode ser da forma a seguir:

    Apesar de na interface Detalhes chegar somente um único <row / > dentro de <data />, foi utilizada a tag <xsl:for-each />, pois esta facilita a chamada de itens dentro do loop, já na hierarquia correta.

    Outra opção, caso não seja utilizada a tag <xsl:for-each /> é:

    • <xsl:value-of select="//control[@type='lum_details']/data/row/XXXX" /> - Onde XXXX é o nome do campo (ex: title, content, etc… )

    Pode-se também criar uma variável no XSL, dentro de <xsl:template />:

    • <xsl:variable name= "path" select="//control[@type='lum_details']/data/row" />

    A partir da variável acima, cada campo seria chamado da seguinte forma:

    <xsl:value-of select="$path/title" />

    Substituindo as tags normais no XSL acima, pelas tags específicas do Lumis, tem-se o seguinte código:

    Verifique que no lugar de <xsl:for-each /> foi utilizado <lum:details /> e não <lum:loop />. A tag <lum:form /> não deve ser utilizada no XSL da interface Detalhes.

    O layout da interface de Detalhes com aplicação deste XSL ficará assim:

    using_lum_details_control_001

    Para incrementar este layout, basta criar classes CSS e aplicar no XSL customizado, nas tags <div />.