Configuração
Para utilizar o serviço de pós-processamento de HTML, é necessario instânciá-lo e configurar sua Property Bag
devidamente. Para mais informações veja: Adição de instâncias de Serviço e Property Bag.
Ao configurar o valor da Property Bag
, o caminho do arquivo será relativo ao classpath da aplicação e não deve iniciar com /
. Pode ser o caminho do arquivo dentro de um módulo
instalado no LumisXP.
O Serviço possui o objeto lum_processor
que por sua vez, possui o atributos atributos:
- Atributo
html
. Utilizandolum_processor.html
no arquivo de script, teremos o HTML da página retornado em forma deString
. - Atributo
request
. Utilizandolum_processor.request
no arquivo de script, será retornado um objeto do tipo IPageWebResourceRenderRequest.
Exemplo de implementação
Imagine que temos uma situação onde uma interface de um serviço de notícias instanciado em um canal com URLs amigáveis habilitada, necessite alterar um trecho do HTML gerado injetando, por exemplo, uma imagem para acompanhar o título (representado pela imagem lumis/portal/client/images/Edit.gif). Além disso, digamos que este serviço possui grupos locais para diferentes localidades. Queremos adicionar essa imagem apenas para o canal referente ao RJ. Para isso, iremos utilizar ambos os atributos html
e request
. Inicialmente temos a lista de notícias como mostra a figura abaixo:
Para atingir o objetivo, será utilizado o código js abaixo que utiliza Jsoup
para adicionar a imagem no atributo HTML correspondente ao título(Noticia1), Dessa forma, a imagem sera adicionada em todas as páginas HTML onde título aparecer e pertencerem ao RJ, caso o mesmo exista:
O valor retornado pelo último comando do arquivo de script será o valor utilizado como HTML da página. Dessa forma, o título no campo de lista de notícias passará a mostrar a imagem, ja que o caminho de seu WebResource
possui "rj"":
Repare que todas as páginas HTML filhas do canal pai onde o serviço foi instanciado e que possuem "rj" no caminho de seu WebResource
serão afetadas. Portanto a página de detalhes também apresentará a imagem como mostra a figura abaixo: