Pages enfant
  • Quelques adaptations possibles pour l'affichage (menu, canaux...)
  • 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 &#233;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}&amp;uP_sparam=activeTab&amp;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&amp;uP_sparam=activeTab&amp;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>
  • Aucune étiquette