Ferramentas Pessoais
Você está aqui: Página Inicial Artigos Criando um portlet com os usuários on-line

Criando um portlet com os usuários on-line


Neste artigo explicarei como construir um portlet que listará os usuários que estão on-lines no seu portal.


1 - Dependências

Para facilitar o nosso desenvolvimento, vamos instalar o produto Who Online, Com este produto podemos criar o nosso portlet em poucos minutos. Caso nunca tenha instalado um produto no Zope, sugiro que de uma olhada no artigo Instalndo produtos no Zope, para dar continuidade no desenvolvimento.


2 - Criando o Portlet

Partindo da premissa que você esteja usando o layout padrão do plone, crie na sua ZMI um page template com o nome portle_online. O código inicial do nosso portlet vai se este:

<html xmlns:tal="http://xml.zope.org/namespaces/tal"
xmlns:metal="http://xml.zope.org/namespaces/metal"
i18n:domain="plone">
<body>

<div metal:define-macro="portlet">
<dl class="portlet">
<dt class="portletHeader">
<span class="portletTopLeft"></span>
<span>Usuários On-line</span>
<span class="portletTopRight"></span>
</dt>

<dd class="portletItem">
aqui vai a busca dos usuarios online
</dd>

<dd class="portletFooter">
</dd>

</dl>
</div>
</body>
</html>

Resultado:

Portlet on-line





Incluido o portlet na página

Para incluir o portlet no portal, basta acessar a raiz do seu plone site na ZMI, acessar a aba Properties:

Invocando o portlet Online



























e incluir a seguinte linha no left_slots ou no right_slots de acodo com a imagem acima:

here/portlet_online/macros/portlet


3 - Buscando os usuários on-line

Com o produto ja instalado, iremos invocar a sua chamada ele dentro do nosso portlet.

<div tal:repeat="user here/who_online/getActiveMembers">
<span tal:content="user"></span>
</div>

Resultado:

Portlet on-line





Mais para deixar o nosso portlet com uma cara mais agradavel iremos incluir uma imagem, inclua está linha no seu código:

<tal:block replace="structure here/user.gif"/>

Resultado:

Portlet on-line 2





Código final do portlet:

<html xmlns:tal="http://xml.zope.org/namespaces/tal"
xmlns:metal="http://xml.zope.org/namespaces/metal"
i18n:domain="plone">
<body>

<div metal:define-macro="portlet">
<dl class="portlet">
<dt class="portletHeader">
<span class="portletTopLeft"></span>
<span>Usuários On-line</span>
<span class="portletTopRight"></span>
</dt>

<dd class="portletItem">
<div tal:repeat="user here/who_online/getActiveMembers">
<tal:block replace="structure here/user.gif"/>
<span tal:content="user"></span>
</div>
</dd>

<dd class="portletFooter">
</dd>

</dl>
</div>
</body>
</html>


Pronto, o portlet já foi criado e está disponivel no seu plone site.