none
Customisation document library : colonne name RRS feed

  • Question

  •  

    Bonjour,

    Je voudrais désactiver le lien de la colonne Name dans la biblio de doc.

    Par défaut le lien est actif.

    Dans le fichier ONET.xml se situe une référence au lien du document (la colonne name) sur onet s'est LINFILENAME mais malgrès le fait que je modifie la propriété AUTOHYPERLINK à FALSE le lien reste toujours actif...

    A priori le fichier à modifier semblerai être sur
    ../12/templates/feautures/legacydocumentlibrary/doclib/schema.xml

    ou sur

    ../12/templates/feautures/documentlibrary/doclib/schema.xml

    mais je ne trouve pas..la ligne à modifier

    Help..

     

     

    Merci

    jeudi 26 juin 2008 06:47

Réponses

  • Bonjour,

    Plusieurs choses :

    Modifier le fichier Onet.xml après coup n'est jamais une bonne idée. imaginer ce fichier comme une sorte ... d'empreinte de site qu'utilise SharePoint pour créer le site en question.

    Si vous voulez le modifier, alors il faudra utiliser des concepts comme le Feature Stapling, vous pourrez trouver plus d'infos sur le sujet à cette url si ca vous interesse : http://del.icio.us/philippesentenac/stapling

    Mais ce n'est pas le sujet Smile

    Pour moi, la solution n'est pas forcément dans le schéma de la bibliothèque :

    Le fait que le champ Title soit un lien HREF n'est pas du à la bibliothèque mais à la définition du champ en lui même, la bibliothèque ne fait que le référencer :

    fichier : 
    /12/templates/feautures/documentlibrary/doclib/schema.xml

    <ViewFields>

      <FieldRef Name="DocIcon">

      </FieldRef>

      <FieldRef Name="LinkFilename">

      </FieldRef>

      <FieldRef Name="Modified">

      </FieldRef>

      <FieldRef Name="Editor">

      </FieldRef>

    </ViewFields>


    En partant de là, allons dans un autre fichier qui définit les champs :

    fichier  : /12/templates/feautures/fields/wssfields.xml

    <Field ID="{5cc6dc79-3710-4374-b433-61cb4a686c12}"

         Name="LinkFilename"

         SourceID="http://schemas.microsoft.com/sharepoint/v3"

         StaticName="LinkFilename"

    ......

    La partie interessante étant :

                 <Default>

                     <Field Name="_EditMenuTableStart"/>

                         <Field Name="LinkFilenameNoMenu"/>

                     <Field Name="_EditMenuTableEnd"/>

                 </Default>


    On comprend qu'il ne fait que prendre un autre field LinkFilenameNoMenu et lui rajoute un menu.

    Hors c'est ce field là qui génère un HTML avec un lien HREF.

    Maintenant si on regarde ce field en question dans le même fichier :

    <Field ID="{9d30f126-ba48-446b-b8f9-83745f322ebe}"

        Name="LinkFilenameNoMenu"

        SourceID="http://schemas.microsoft.com/sharepoint/v3"

        StaticName="LinkFilenameNoMenu"

        Group="$Resources:Base_Columns"

        ReadOnly="TRUE"

     .....

     


    Il ne vous reste plus qu'à modifier cette partie :

    <HTML><![CDATA[<A onfocus="OnLink(this)"  HREF="]]></HTML>

                        <GetVar Name="UnencodedFilterLink" HTMLEncode="TRUE"/>

                        <HTML><![CDATA[" onclick="BLOCKED SCRIPTEnterFolder(']]></HTML>

                        <ScriptQuote NotAddingQuote="TRUE"><GetVar Name="UnencodedFilterLink"/></ScriptQuote>

                        <HTML><![CDATA[');BLOCKED SCRIPTreturn false;">]]></HTML>

                        <LookupColumn Name="FileLeafRef" HTMLEncode="TRUE"/>

                        <HTML><![CDATA[</A>]]></HTML>


    et cette partie :


    <HTML><![CDATA[<A onfocus="OnLink(this)" HREF="]]></HTML>

                    <Field Name="EncodedAbsUrl"/>

                    <HTML><![CDATA[" onclick="DispDocItemEx(this,']]></HTML>

                    <ServerProperty Select="HtmlTransform"/>

                    <HTML><![CDATA[',']]></HTML>

                    <ServerProperty Select="HtmlTrAcceptType"><Column Name="File_x0020_Type"/></ServerProperty>

                    <HTML><![CDATA[',']]></HTML>

                    <ServerProperty Select="HtmlTrHandleUrl"><Column Name="File_x0020_Type"/></ServerProperty>

                    <HTML><![CDATA[',']]></HTML>

                    <ServerProperty Select="HtmlTrProgId"><Column Name="File_x0020_Type"/></ServerProperty>

                    <HTML><![CDATA[')">]]></HTML>

                        <UrlBaseName HTMLEncode="TRUE"><LookupColumn Name="FileLeafRef"/></UrlBaseName>

                        <HTML><![CDATA[</A>]]></HTML>


    selon vos besoins.


    Attention il ne faut pas modifier directement le fichier wssfields.xml !


    Vous devez crée une nouvelle nouvelle feature qui va déployer vos nouveau Fields


    Si , vous souhaitez avoir un template de liste de document custom, il va falloir creer un nouveau template de liste et dans la vue il faudra référencer vos nouveaux field.


    Pour du step by step, voici un très bon article d'Andrew


    http://www.andrewconnell.com/blog/articles/SharepointLinksListOpenInNewWindow.aspx


    En espérant que ca répond à votre question

    jeudi 26 juin 2008 10:36
    Modérateur

Toutes les réponses

  • Bonjour,

    Plusieurs choses :

    Modifier le fichier Onet.xml après coup n'est jamais une bonne idée. imaginer ce fichier comme une sorte ... d'empreinte de site qu'utilise SharePoint pour créer le site en question.

    Si vous voulez le modifier, alors il faudra utiliser des concepts comme le Feature Stapling, vous pourrez trouver plus d'infos sur le sujet à cette url si ca vous interesse : http://del.icio.us/philippesentenac/stapling

    Mais ce n'est pas le sujet Smile

    Pour moi, la solution n'est pas forcément dans le schéma de la bibliothèque :

    Le fait que le champ Title soit un lien HREF n'est pas du à la bibliothèque mais à la définition du champ en lui même, la bibliothèque ne fait que le référencer :

    fichier : 
    /12/templates/feautures/documentlibrary/doclib/schema.xml

    <ViewFields>

      <FieldRef Name="DocIcon">

      </FieldRef>

      <FieldRef Name="LinkFilename">

      </FieldRef>

      <FieldRef Name="Modified">

      </FieldRef>

      <FieldRef Name="Editor">

      </FieldRef>

    </ViewFields>


    En partant de là, allons dans un autre fichier qui définit les champs :

    fichier  : /12/templates/feautures/fields/wssfields.xml

    <Field ID="{5cc6dc79-3710-4374-b433-61cb4a686c12}"

         Name="LinkFilename"

         SourceID="http://schemas.microsoft.com/sharepoint/v3"

         StaticName="LinkFilename"

    ......

    La partie interessante étant :

                 <Default>

                     <Field Name="_EditMenuTableStart"/>

                         <Field Name="LinkFilenameNoMenu"/>

                     <Field Name="_EditMenuTableEnd"/>

                 </Default>


    On comprend qu'il ne fait que prendre un autre field LinkFilenameNoMenu et lui rajoute un menu.

    Hors c'est ce field là qui génère un HTML avec un lien HREF.

    Maintenant si on regarde ce field en question dans le même fichier :

    <Field ID="{9d30f126-ba48-446b-b8f9-83745f322ebe}"

        Name="LinkFilenameNoMenu"

        SourceID="http://schemas.microsoft.com/sharepoint/v3"

        StaticName="LinkFilenameNoMenu"

        Group="$Resources:Base_Columns"

        ReadOnly="TRUE"

     .....

     


    Il ne vous reste plus qu'à modifier cette partie :

    <HTML><![CDATA[<A onfocus="OnLink(this)"  HREF="]]></HTML>

                        <GetVar Name="UnencodedFilterLink" HTMLEncode="TRUE"/>

                        <HTML><![CDATA[" onclick="BLOCKED SCRIPTEnterFolder(']]></HTML>

                        <ScriptQuote NotAddingQuote="TRUE"><GetVar Name="UnencodedFilterLink"/></ScriptQuote>

                        <HTML><![CDATA[');BLOCKED SCRIPTreturn false;">]]></HTML>

                        <LookupColumn Name="FileLeafRef" HTMLEncode="TRUE"/>

                        <HTML><![CDATA[</A>]]></HTML>


    et cette partie :


    <HTML><![CDATA[<A onfocus="OnLink(this)" HREF="]]></HTML>

                    <Field Name="EncodedAbsUrl"/>

                    <HTML><![CDATA[" onclick="DispDocItemEx(this,']]></HTML>

                    <ServerProperty Select="HtmlTransform"/>

                    <HTML><![CDATA[',']]></HTML>

                    <ServerProperty Select="HtmlTrAcceptType"><Column Name="File_x0020_Type"/></ServerProperty>

                    <HTML><![CDATA[',']]></HTML>

                    <ServerProperty Select="HtmlTrHandleUrl"><Column Name="File_x0020_Type"/></ServerProperty>

                    <HTML><![CDATA[',']]></HTML>

                    <ServerProperty Select="HtmlTrProgId"><Column Name="File_x0020_Type"/></ServerProperty>

                    <HTML><![CDATA[')">]]></HTML>

                        <UrlBaseName HTMLEncode="TRUE"><LookupColumn Name="FileLeafRef"/></UrlBaseName>

                        <HTML><![CDATA[</A>]]></HTML>


    selon vos besoins.


    Attention il ne faut pas modifier directement le fichier wssfields.xml !


    Vous devez crée une nouvelle nouvelle feature qui va déployer vos nouveau Fields


    Si , vous souhaitez avoir un template de liste de document custom, il va falloir creer un nouveau template de liste et dans la vue il faudra référencer vos nouveaux field.


    Pour du step by step, voici un très bon article d'Andrew


    http://www.andrewconnell.com/blog/articles/SharepointLinksListOpenInNewWindow.aspx


    En espérant que ca répond à votre question

    jeudi 26 juin 2008 10:36
    Modérateur
  •  

    Merci infiniment  pour cette réponse précise et claire et pour votre aide...Toutes ces informations me seront très utiles.

     

     

     

    Je vous tiens au courant de mon avancé...

     

     Merci encore...


    jeudi 26 juin 2008 13:02