none
Paramètre récupérant l'extension d'un fichier avec la fonction Dispex() RRS feed

  • Question

  • Bonjour,

    J'ai ajouter la fonction Dispex() avec une nouvelle division dans le fichier XSL Editor de ma WebPart "Search Core Result".

    Etant débutant je ne connais pas le paramètre sous SharePoint 2010 pour retrouver l'extension d'un fichier ou le type d'un fichier.

    Je vous explique :

    Quand j'inscris une chaîne de caractères dans ma barre de recherche et que je clique sur "Rechercher", j'ai ma page de résultat avec mes différents fichiers ( Word,Excel,Ppt,Autres ... ).

    A chaques fichiers une "<div>[Fonction Dispex]</div>" est chargé.
    J'aimerai pouvoir poser la condition : "Si le fichier est de type Excel, Word ou Ppt alors on met la "<div>[Fonction Dispex]</div>" Sinon on ne met pas la fonction Dispex().

    Pour ceux qui ont du mal à comprendre la structure avec ma fonction Dispex() de mon XSL Editor voir ici la structure:

    // Fonction permettant une ouverture avec choix (Lecture Seule ou Modification)

    // $url correspond à l'url de stockage du fichier

    // "Edit document" est juste le nom du lien cliquable

    // Ne vous préoccupez pas de la fonction Dispex([...])

    <div class="srch-Title2">
      <div class="srch-Title3">

    [Contenu ...]

    </div>

    </div>

    <div class="srch-Description"> <a href="{$url}" onclick="return DispEx(this,event,'TRUE','FALSE','FALSE','SharePoint.OpenDocuments.3','0','SharePoint.OpenDocuments','','','','1','0','0','0x7fffffffffffffff')"><b>Edit Document</b></a> </div>

    <div class="srch-Description2">
    [...]

    </div>

    Ma question est la suivante : " Comment récupérer une extension ou type de fichier via le XSL Editor ? Existe t'il une propriétés SharePoint qui me retourne ceci ? "

    Merci d'avance pour l'intérêt porté à cette question.

    lundi 4 novembre 2013 13:07

Réponses

  • Bon voilà c'est assez simple finalement :)

    dans la config de la webpart search core result il faut :

    1. décocher "Use location visualisation"
    2. Ajouter la "search managed meta" dans la liste des colonnes à remonter, en l'occurence la colonne FileExtension en ajoutant le noeud suivant :<Column Name="FileExtension"/>
    3. Modifier le XSL pour afficher l'extension ou l'utiliser au moment voulu, par exempel moi j'utilise le template Result et j'y ai mis ça : 

     <h1>la : 
      <xsl:value-of select="fileextension"/>
      </h1>

    (attention la doc spécifie ici de mettre le nom de la colonne en minuscule)

    voilà le résultat :

    j'espère que cela va vous permettre d'avancer....

    pour info la doc msdn sur le sujet : http://msdn.microsoft.com/fr-fr/library/ms560074.aspx


    Blog Sharepoint : www.paslatek.net Twitter : @LimozinLionel

    mardi 5 novembre 2013 09:03

Toutes les réponses

  • bonjour

    en principe ds ton xslt tu as à dispo les propriétés de l'item que tu es en train de "rendre", par exemple ton paramete $url viens de là...

    Ces propriétés sont les "meta data" fournies par le moteur de recherche.

    A mon sens il existe déjà une méta data correspondant à l'extension du fichier , tu dois donc pouvoir l'utiliser dans ton xslt:

    Après je pense que la difficulté va être de faire "descendre" cette métadata au niveau de ton template xslt mais ce n'est qu'une question de passage de paramètre...


    Blog Sharepoint : www.paslatek.net Twitter : @LimozinLionel

    lundi 4 novembre 2013 14:47
  • Merci Lionel pour l'imprim' écran, en effet je vois bien le paramètre "File Extension" et j'imagine qu'il est possible de l'implémenter dans le XSL Editor pour réaliser ma condition avec un "<xsl:if >".

    Le problème c'est que je n'y connais vraiment rien en XSL, ni comment accéder ou retrouver le paramètre vue "FileExtension" dans mon XSL Editor.
    Puis quand tu dis :"la difficulté va être de faire 'descendre'", ça veut dire quoi en fait je comprend pas.
    Désolé pour les questions un peu naïf mais je suis vraiment débutant.

    lundi 4 novembre 2013 16:08
  • Il faut que je fasse le test car moi non plus je ne sui spas un grand spécialiste du xslt et encore moins dans la perso du search core result :) (heureusement avec 2013 on pourra définitivement laisser tomber le xslt ! :) )

    Je vous prépare un example et je reviens... 


    Blog Sharepoint : www.paslatek.net Twitter : @LimozinLionel

    mardi 5 novembre 2013 08:11
  • Je vous remercie Lionel pour votre aide.

    J'attend votre réponse avec impatience :)

    mardi 5 novembre 2013 08:22
  • Bon voilà c'est assez simple finalement :)

    dans la config de la webpart search core result il faut :

    1. décocher "Use location visualisation"
    2. Ajouter la "search managed meta" dans la liste des colonnes à remonter, en l'occurence la colonne FileExtension en ajoutant le noeud suivant :<Column Name="FileExtension"/>
    3. Modifier le XSL pour afficher l'extension ou l'utiliser au moment voulu, par exempel moi j'utilise le template Result et j'y ai mis ça : 

     <h1>la : 
      <xsl:value-of select="fileextension"/>
      </h1>

    (attention la doc spécifie ici de mettre le nom de la colonne en minuscule)

    voilà le résultat :

    j'espère que cela va vous permettre d'avancer....

    pour info la doc msdn sur le sujet : http://msdn.microsoft.com/fr-fr/library/ms560074.aspx


    Blog Sharepoint : www.paslatek.net Twitter : @LimozinLionel

    mardi 5 novembre 2013 09:03
  • Merci beaucoup, vous avez correctement répondu à ma question j'ai plus qu'a étudier et tester avec ma configuration que je veux mettre en place. De plus je vais jeter un coup d’œil sur la doc pour aller plus loin.

    Bonne journée.


    mardi 5 novembre 2013 11:09