Modèles de thème (theme.html)

Vous pouvez utiliser du code HTML statique pour écrire des thèmes de portail. Le modèle de thème statique est nommé theme.html.

Le fichier theme.html se trouve dans le répertoire principal du thème sur WebDAV \fs-type1\themes\theme-name\, et des fichiers theme.html se trouvent dans le répertoire nls sous le thème \fs-type1\themes\theme-name\nls\. Le fichier theme.html inclut la structure HTML complète de la page, y compris les sections <html>, <head> et <body>. Il peut inclure le contenu statique et le contenu dynamique.
Notes :
  • Le dossier nls contient un fichier nommé theme.html sans environnement local associé. Il n'est pas utilisé. Vous pouvez l'ignorer.
  • Pensez à modifier les fichiers de modèle de thème en utilisant le point d'entrée fs-type1. Si vous utilisez ce point d'entrée, les modifications que vous apportez au modèle de thème sont immédiatement reflétées lors de l'actualisation du navigateur.

Modèle de thème racine

Dans une installation d'HCL Portal par défaut, le portail n'affiche pas le fichier de modèle theme.html qui se trouve dans le répertoire principal du thème. En revanche, ce fichier est lié aux modèles, et le portail affiche le modèle approprié. Les liens vers les modèles se trouvent dans la section <head> du modèle racine. Ils se présentent sous la forme suivante :
<link rel="alternate" href="nls/theme_locale_code.html" hreflang="locale_code">
Exemple de lien vers le fichier de modèle anglais :
<link rel="alternate" href="nls/theme_en.html" hreflang="en">

Si vous ne voulez pas utiliser les modèles de thème, vous pouvez supprimer ces liens du modèle theme.html dans le répertoire principal. Si vous effectuez cette opération, le portail affiche le modèle racine.

Ce modèle de thème inclut également le scriptage Apache Ant sous la forme suivante :
 ${bundle_name:bundle_key:character_encoding}
Le paramètre character encoding remplace les caractères spéciaux par la séquence d'échappement déterminée par le codage spécifié. Les types disponibles de codage sont xml et json. Vous pouvez chaîner plusieurs instances de codage comme suit :
${bundle:key:json:xml} or ${bundle:key:xml:json}
Vous pouvez utiliser l'infrastructure de génération Apache Ant pour générer des modèles reposant sur ce modèle racine. Cela peut être utile si vous souhaitez mettre à jour un modèle au cours du développement puis générer les modèles à l'aide du processus de génération Ant. Si vous voulez utiliser le modèle racine uniquement, remplacez le scriptage Ant par le texte que vous souhaitez afficher. Pour en savoir plus sur l'outil de génération Ant, consultez le site Apache Ant.

Modèles de thème

Dans une installation de HCL Portal par défaut, l'architecture du thème affiche le contenu à l'aide des modèles de thème. Ces modèles se trouvent dans le sous-répertoire nls du répertoire de thème de WebDAV. Pour ces fichiers, le code de l'environnement local est ajouté à la fin du nom de modèle, par exemple theme_en.html pour l'anglais. Ces modèles traduisent du texte statique en ligne dans le modèle.

Lorsque vous utilisez les modèles de thème et si vous voulez visualiser vos modifications, mettez à jour le modèle que le portail affiche dans le navigateur. Par exemple, si la langue de votre choix est l'anglais, mettez à jour le fichier theme_en.html.

Ajout de contenu statique au fichier theme.html

Vous pouvez ajouter un contenu statique theme.html comme suit :
Ajout de contenu directement :
Vous pouvez ajouter un contenu statique, tels le marquage HTML et les images directement au fichier theme.html.
Ajout de contenu à partir de WebDAV :
Vous pouvez ajouter du contenu à partir de WebDAV et relatif au fichier theme.html avec une référence d'URL relative.
Ajout de contenu via des adresses URL relatives :
Vous pouvez utiliser des URL relatives pour faire référence à du contenu statique dans le dossier /common-resources/ dans le magasin de fichiers WebDAV. Si la résolution du chemin relatif ne désigne pas un fichier qui se trouve dans le dossier theme, le portail utilise le dossier /common-resources/ comme emplacement de secours pour localiser la ressource. Ainsi, le thème peut référencer les ressources communes et conserver la capacité de remplacer un fichier dans ce dossier par une ressource du même nom dans le dossier du thème.

Ajout de contenu dynamique côté serveur au fichier theme.html

Le contenu dynamique varie en fonction de l'utilisateur, de la page ou de tout autre état du serveur. Par conséquent, vous ne pouvez pas le définir statiquement dans le fichier de thème. Vous l'insérez dans la réponse au moment de l'exécution. Pour ce faire, modifiez theme.html et identifiez ces zones de contenu dynamique. Puis au moment de l'exécution, un analyseur de thème côté serveur identifie et résout les zones de contenu dynamique, et envoie leur résultat dans la réponse finale au navigateur.

Le format d'une zone de contenu dynamique est le suivant :
<a rel="dynamic-content" href="{path to dynamiccontent}"></a>
rel="dynamic-content"
L'analyseur de modèle de thème reconnaît l'élément rel="dynamic-content". Il résout l'attribut href et insère sa sortie dans la réponse.
href
href peut désigner n'importe quel URI résolu par la structure d'adressabilité de la ressource.
Exemples :
  1. L'exemple suivant est une zone de contenu spéciale qui affiche le modèle de présentation référencée et le contenu de la page en cours :
    <a rel="dynamic-content" href="lm:template"></a>
  2. L'exemple suivant inclut une zone de contenu dynamique à partir du mappage qui est spécifié via le type de contribution dyn-cs du module, dans le fournisseur d'environnement de ressources WP_DynamicContentSpotMappings ou les métadonnées de thème .
    <a rel="dynamic-content" href="dyn-cs:customSpot"></a>
  3. L'exemple suivant inclut la sortie d'un fichier JSP de thème avec une adresse URL POC de programme de résolution :
    <a rel="dynamic-content" href="res:/customContext/themes/html/customTheme/customSpot.jsp"></a> 

Changement de l'emplacement du modèle de thème

Vous pouvez changer l'emplacement du modèle de thème. Dans ce but, le thème contient un paramètre de métadonnées qui stocke l'emplacement du modèle de thème theme.html. Il s'agit de com.ibm.portal.theme.template.ref. Si nécessaire, vous pouvez le définir de sorte qu'il désigne un emplacement externe. Par exemple, vous pouvez spécifier un URI POC ou l'adresse URL d'un serveur externe. Il est inutile de stocker le modèle de thème sur WebDAV. Dans une installation de portail par défaut, le paramètre des métadonnées pour le thème se présente comme suit :
<parameter name="com.ibm.portal.theme.template.ref" type="string" update="set">
<![CDATA[dav:fs-type1/themes/theme_folder/]]>
</parameter>