留言板

Implementando html de página no liferay

thumbnail
Alexandre Mattos,修改在9 年前。

Implementando html de página no liferay

New Member 帖子: 18 加入日期: 14-5-19 最近的帖子
Salve galera,

então, tenho o html da home pronto, feito utilizando as classes do bootstrap e com meu css, agora preciso migrar para o liferay.
Fui tentando aos poucos, cortando o html, header, footer, navigation, criei um tema e fui alterando de acordo com a documentação.
Fiquei atento aos códigos default de programação da página e fui encaixando no meu código.

Problema, para um front-end ir substituindo as linhas de código é tranquilo, o problema é que ao carregar o html modificado, tudo fica cagado na página.
e os portlets do liferay carregam todos errados, cada portlet tem como carregar seu próprio html? Isso é feito como? pq tenho uma template pronto para portlets que é o portlet.ftl.

A maneira mais simples de se trabalhar é criando um html e depois importando e colocando os códigos prontos já no html dentro do cms. Mas pelo que estou vendo não é assim que funciona.

estou bem perdido se alguém tiver como esclarecer essas dúvidas e tiver um documento, pois quero um site totalmente do zero.
thumbnail
Paulo Fernandes,修改在9 年前。

RE: Implementando html de página no liferay

Regular Member 帖子: 141 加入日期: 13-8-9 最近的帖子
Eae Alexandre, beleza?

Vou fazer uns comentários sobre suas colacações para ficar mais contextualizado.

Alexandre Mattos:
Salve galera,

então, tenho o html da home pronto, feito utilizando as classes do bootstrap e com meu css, agora preciso migrar para o liferay.
Fui tentando aos poucos, cortando o html, header, footer, navigation, criei um tema e fui alterando de acordo com a documentação.
Fiquei atento aos códigos default de programação da página e fui encaixando no meu código.


Voce teria ganhado mais tempo se já começasse pelo tema do Liferay, seria mais rápido.

Alexandre Mattos:

Problema, para um front-end ir substituindo as linhas de código é tranquilo, o problema é que ao carregar o html modificado, tudo fica cagado na página.

Fica errado porque o Liferay tem uma marcação HTML para cada Portlet.

Alexandre Mattos:

e os portlets do liferay carregam todos errados, cada portlet tem como carregar seu próprio html? Isso é feito como? pq tenho uma template pronto para portlets que é o portlet.ftl.

Como disse acima, cada portlet tem sua marcação HTML. Por isso que num ficou como você imaginava.

O que sugiro voce fazer é utilizar o Portlet Web Content ( Conteudo Web) e colar o fonte do seu código lá.

Esse portlet é o que permite a maior customização, pois voce pode colar um HTML nele.

Alexandre Mattos:

A maneira mais simples de se trabalhar é criando um html e depois importando e colocando os códigos prontos já no html dentro do cms. Mas pelo que estou vendo não é assim que funciona.

A maneira mais fácil é criar um tema e ir estilizando ele.
E conforme o seu layout, voce pode ir adicionando os portlets na página e ja ir estilizando.

Alexandre Mattos:

estou bem perdido se alguém tiver como esclarecer essas dúvidas e tiver um documento, pois quero um site totalmente do zero.


O que precisar vai postando aqui que vamos te ajudando na medida do possível.

Abraço
thumbnail
Alexandre Mattos,修改在9 年前。

RE: Implementando html de página no liferay

New Member 帖子: 18 加入日期: 14-5-19 最近的帖子
Primeiramente muito obrigado Paulo Fernandes pela explicação.

Consegui implementar o código que eu queria, consegui também colocar todo meu layout html para dentro do liferay.

Procedimentos. peguei o header e o footer do site que eu criei e inclui no portal_normal, inclui no meu código os códigos que acredito que sejam códigos do velocity.
Isso utilizando um tema novo criado no eclipse. Até ai tranquilo, funcionou o header e o footer puxando minha folha de estilos. já que o liferay já utiliza o bootstrap foi tranquilo.

O segundo passo foi criar um layout para o miolo ( conteúdo do site, com as divisões de coluna ). perfeitamente fiz como na documentação é pedido. Funcionou perfeitamente utilizando minhas classes do bootstrap e incluindo o código para aceitar os portlets.

terceiro passo. modificar os portlets...
eu posso fazer isso clicando em configurações e criando um modelo de visualização de aplicações correto?
e quanto ao portlet.ftl ele servirá para que? é estrutura basica de um portlet e todos os portlets terão essa estrutura?

vlw Paulo muito obrigado pela ajuda ... assim que conseguir implementar meu template no liferay farei um tutorial para ajudar a galera que esta com a mesma dúvida que eu.

grande abraço!
Jesse Lucas,修改在9 年前。

RE: Implementando html de página no liferay

New Member 发布: 1 加入日期: 14-8-7 最近的帖子
Olá Alexandre Mattos, estou querendo colocar meu HTML no liferay tem como você me apoiar?

abraço,
Jessé
thumbnail
Alexandre Mattos,修改在9 年前。

RE: Implementando html de página no liferay

New Member 帖子: 18 加入日期: 14-5-19 最近的帖子
opa amigão ... então ... estou já entendendo um pouco de implementação de temas no liferay ... vou criar um tutorial de como criar um utilizando um html pronto.

não é tão dificil quando feito direitinho.
thumbnail
Alexandre Mattos,修改在9 年前。

RE: Implementando html de página no liferay

New Member 帖子: 18 加入日期: 14-5-19 最近的帖子
Então paulo.

outro problema que estou enfrentando é, preciso colocar uma busca no menu de navegação. navgation.ftl o problema é que se eu colocar o $processor.processColumn() no navgation.ftl ele não funcionará, tem uma maneira de fazer isso?
thumbnail
Paulo Fernandes,修改在9 年前。

RE: Implementando html de página no liferay

Regular Member 帖子: 141 加入日期: 13-8-9 最近的帖子
Vamos lá emoticon


Alexandre Mattos:
Primeiramente muito obrigado Paulo Fernandes pela explicação.

Consegui implementar o código que eu queria, consegui também colocar todo meu layout html para dentro do liferay.

Procedimentos. peguei o header e o footer do site que eu criei e inclui no portal_normal, inclui no meu código os códigos que acredito que sejam códigos do velocity.


O Liferay suporta a criação de temas usando Velocity e FreeMarker

Você consegue fazer a mesma coisa com os dois, eu particularmente gosto mais do Velocity.
Para saber se o arquivo é Velocity ou FreeMarker, você consegue pela extensão .vm (Velocity) .ftl (FreeMarker)

Alexandre Mattos:

Isso utilizando um tema novo criado no eclipse. Até ai tranquilo, funcionou o header e o footer puxando minha folha de estilos. já que o liferay já utiliza o bootstrap foi tranquilo.


Fique atento a questão de performance e procure sempre colocar suas modificações no arquivo custom.css

Alexandre Mattos:

O segundo passo foi criar um layout para o miolo ( conteúdo do site, com as divisões de coluna ). perfeitamente fiz como na documentação é pedido. Funcionou perfeitamente utilizando minhas classes do bootstrap e incluindo o código para aceitar os portlets.


Como voce deve ter lido na documentação é uma boa prática colocar os arquivos modificados dentro da pasta _diffs. Espero que esteja fazendo isso emoticon

Alexandre Mattos:

terceiro passo. modificar os portlets...
eu posso fazer isso clicando em configurações e criando um modelo de visualização de aplicações correto?

Esse modelo de visualização da aplicação é um recurso do Liferay exclusivo para o Portlet de Asset Publisher (Publicador de Conteudo)

Se você está usando ele, você tem uma autonomia gigantesca sobre como quer renderizar um componente.
Apenas para você ter uma ideia, veja esse blog post que fiz. criando um adt que acesse a estrutura de um web content

Mas quando se fala dos demais portlets, cada um tem o seu comportamento e precisa que seja feito uma customização especifica.

Alexandre Mattos:

e quanto ao portlet.ftl ele servirá para que? é estrutura basica de um portlet e todos os portlets terão essa estrutura?


Se você ver a estrutura desse arquivo verá que a parte "importante" dele é o final que esta dentro de uma div com a classe portlet-content.

Todo o resto do arquivo é apenas para encapsular o conteudo, por exemplo, imagine que você tenho um portal e é um padrão da area de design e UX que todo portlet tenha um borda arredondada e o título no canto inferior direito. Você edita apenas esse arquivo e todos os portlet terão esse comportamento.

Ficou claro isso? Se ficar confuso, poste mais que detalho mais isso.


Alexandre Mattos:

vlw Paulo muito obrigado pela ajuda ... assim que conseguir implementar meu template no liferay farei um tutorial para ajudar a galera que esta com a mesma dúvida que eu.

grande abraço!


Maravilha. Quando fizer isso poste no site da liferay.com, material sempre é bom e sempre ajuda o pessoal.

Alexandre Mattos:
Então paulo.

outro problema que estou enfrentando é, preciso colocar uma busca no menu de navegação. navgation.ftl o problema é que se eu colocar o $processor.processColumn() no navgation.ftl ele não funcionará, tem uma maneira de fazer isso?


Não funciona mesmo, infelizmente emoticon

Existem duas formas para você fazer isso no arquivo navigation.ftl

1- Você coloca no código a seguinte regra:

${theme.search()}


2- Você deve usar a seguinte sintaxe no seu código
${theme.runtime("ID_D0_PORTLET")}


Esse ID DO PORTLET deve ser um dos ids disponíveis nessa lista aqui
https://www.liferay.com/community/wiki/-/wiki/Main/Portlet+IDs

No link abaixo temos alguns exemplos de como instaciar alguns portlet que são do tipo INSTANCIAVÉL.
https://www.liferay.com/community/wiki/-/wiki/Main/Embedding+a+portlet+in+the+theme


Tendo dúvidas, poste ai que ajudamos sempre que possível ;)