- Comment positionner la taille "horizontale" d'un canal ?
La solution consiste à modifier directement vos fichiers "layout" en ajoutant le paramètre "width" :<folder mutable="True" removable="True" type="regular"> <name>Points études</name> <folder mutable="True" removable="True" type="regular" width="50%"> <name>Column 1</name> <channel fName="UHB-CHtmlInfoPointEtu"/> </folder>
- Comment permettre l'affichage d'une double hauteur d'onglets sous Internet Explorer 6 et 7 ?
La solution consiste à modifier directement vos feuilles de style "CSS" en utilisant le paramètre "z-index" :
(Apparemment les z-index ne sont pas correctement interprétés sous IE s'ils ne sont pas associés au terme position autre que static.Pour ce qui est des / et - , il permettent d'indiquer des styles à interpréter uniquement pour IE 6 et IE 7)/*style avec / et - specifiques IE */ #tabs ul#tabList li:hover { /position:relative; /z-index:1000; -position:relative; -z-index:1000; }
- Comment permettre l'affichage d'un seul canal lorsqu'on clique sur le menu principal ?
La solution consiste à modifier le fichier "xhtml-theme.xsl" :
<xsl:choose> <xsl:when test="@activeTab='false'"> <!-- INACTIVE TAB --> <li id=" tab_{@ID}"> <!-- recuperation de l'id du 1er channel de la tab --> <xsl:variable name="numChannel" select="./chans/chan[1]/@ID"/> <a href="{$baseActionURL}?uP_root={$numChannel}&uP_sparam=activeTab&activeTab={$tabPosition}">--> à la place de : <xsl:choose> <xsl:when test="@activeTab='false'"> <!-- INACTIVE TAB --> <li id=" tab_{@ID}"> <a id="activeTabLink" href="{$baseActionURL}?uP_root=root&uP_sparam=activeTab&activeTab={position()}">
* Comment permettre l'affichage d'un seul canal lorsqu'on clique sur le menu principal mais uniquement si l'onglet ne contient qu'une seule colonne ?
La solution consiste à modifier le fichier "tab-column.xsl", puis d'adapter la solution précédente en faisant un test sur la colonne :
<navigation> <xsl:for-each select="/layout/folder/folder[@type='regular' and @hidden='false']"> <tab> <xsl:attribute name="ID"> <xsl:value-of select="@ID"/> </xsl:attribute> <xsl:attribute name="cols"> <xsl:value-of select="count(folder[@hidden='false'])"/> </xsl:attribute> ...
- Comment désactiver le rendu inutile des canaux ?
Quelque soit la requête sur le portail, que l'on cible un onglet ou un canal, tous les canaux du layout sont "rendus", c'est-à-dire que le portail calcul le code HTML à afficher. L'affichage se décide dans les fichiers xsl et bien souvent ce rendu est inutile, voir problématique.
Pour remédier à ce problème, nous avons ajouté un processeur fixe dans le fichier "dlmContext.xml" :
<property name="fixedProcessors"> <list> ... <bean class="org.esupportail.portal.layout.dlm.processing.DisableUselessChannelRendering" singleton="false"/> ... </list> </property>
Ce processeur remplace les "channel" qu'il est inutile de rendre en balise "chan". Il faut alors modifier légèrement le fichier "tab-column.xsl" pour conserver la partie "navigation".
<chans> <xsl:for-each select="folder"> <xsl:for-each select="channel | chan"> <chan> ... </chan> </xsl:for-each> </xsl:for-each> </chans>