Vous êtes ici : Accueil Support Documentation Tutoriels Créer des portlets (CpSkin2) Portlet qui affiche le contenu d'un dossier automatique

Portlet qui affiche le contenu d'un dossier automatique

Le portlet affiche le 'contenu" d'un dossier automatique (topic) en fonction des critères de recherche de ce dernier

Il faut tout d'abord créer un portlet dans le dossier custom par la ZMI

/portal_skins/custom/

en ajoutant une Page Template

lui donnant un nom de type: portlet_lenomdemonportlet

et en y collant le code suivant:

<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>
           Titre de mon portlet
        <span class="portletTopRight"></span>
    </dt>

<tal: define="brains context/urldudossierautomatique/nomdudossierautomatique/queryCatalog">

       <dd  class="portlet" tal:condition="brains">
       <tal:loop repeat="brain brains">
         <p>
           <img src="#" alt="" tal:replace="structure here/event_icon.gif" />  
            <a href="" tal:attributes="href python: brain.getObject().absolute_url()">
              <span class="link-event" tal:content="python: brain.getObject().Title()" />
            </a>
            <br />
              <span tal:content="python: brain.getObject().Description()" />
        </p>
       </tal:loop>
       </dd>

      </tal:>

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

Il faut maintenant créer un dossier automatique en reprenant le nom mentionné dans le code du portlet.
Créer des critères de recherche pour le dossier automatique.

et finalement

appeler le portlet dans les propriétés du site ou d'un dossier (right_slots , left_slots)
en y ajoutant la ligne

here/nomdemonportlet/macros/portlet

Remarque:
le code suivant repris plus haut:

           <img src="#" alt="" tal:replace="structure here/event_icon.gif" />

permet l'affichage d'une image; dans ce cas ci l'icône event_icon.gif

Si l'on ne souhait pas afficher d'image, il suffit de commenter le code ou de le supprimer

Le code commenté =


<!--           <img src="#" alt="" tal:replace="structure here/event_icon.gif" / >   -->

on peut aussi utiliser une autre image de plone qui se trouve dans le dossier /portal_skins/plone_images

ou créer sa propre image et l'ajouter dans le dossier custom

Le graphisme du portlet peut aussi être adapté en css
Actions sur le document