Les PageIncludeServices sont des services qui permettent d'inclure du code HTML dans les pages du site par le biais de bookmarks placés dans le gabarit principal du portail (page_frameset.html ). Ces services peuvent introduire du contenu mais sont plutôt destinés à insérer du code technique à des emplacements non accessibles pour les portlets ou les XPageApp. Par exemple insérer dynamiquement, dans la partie <head> des pages HTML, des liens vers des feuilles de style CSS ou vers des fichiers RSS.
Lutèce intègre par défaut plusieurs PageIncludeServices au niveau du noyau :
Nom | Description | Fournisseur |
---|---|---|
Links | Insertion des feuilles de style CSS et des Javascripts spécifiques des plugins installés | lurece-core |
Métas | Insertion des valeurs des tags méta à partir de celles définies dans le fichier webmaster.properties | lutece-core |
Themes | Gestion dynamique des chemins des feuilles de style CSS en fonction du thème associé à la page | lutece-core |
Statistics | Insertion du code HTML spécifique à l'outil de mesure d'audience | lutececore |
GTools | Insertion des balises Google Analytics | plugin-gtools |
Piwik | Insertion des balises Piwik | plugin-piwik |
Les services par défaut sont déclarés dans le fichier core.xml. Les plugins peuvent ajouter de nouveaux PageIncludeServices en les déclarant dans leur fichier XML de la manière suivante :
<page-include-service>
<page-include-service-name>My Include Service</page-include-service-name>
<page-include-service-class>fr.paris.lutece.myplugin.web.MyInclude</page-include-service-class>
</page-include-service>
Un PageIncludeService doit implémenter l'interface PageInclude .
Voici un exemple très simple d'implémentation :
public class MyInclude implements PageInclude
{
private static final String MARK_MY_INCLUDE = "my_include";
/**
* {@inheritDoc }
*/
@Override
public void fillTemplate( Map<String, Object> rootModel, PageData data, int nMode, HttpServletRequest request )
{
rootModel.put( MARK_MY_INCLUDE , "My include content" );
}
}
Il y a une erreur de communication avec le serveur Booktype. Nous ne savons pas actuellement où est le problème.
Vous devriez rafraîchir la page.