Bonjour, une question sur une manip apparemment non documentée.
Nous souhaitons créer une vue spécifique pour une bibliothèque de documents
personnalisée : la vue doit lister les éléments contenus dans la
bibliothèque, avec pour chacun un menu contextuel (que nous avons
personnalisé). Mais il faut éviter que chaque élément soit cliquable
directement, sans passer par les options du menu. Donc, il faut que chaque
élément ait un menu, mais pas de lien. Or, cela n'existe pas parmi les champs
proposés par défaut.
Dans le CAML décrivant la vue dans le SCHEMA.XML, la question revient donc à
faire une liste dans laquelle apparaissent les menus contextuels sur les
items, mais sans lien sur les items : donc, utiliser une alternative au
<fieldref Name="LinkFilename"/> dans la section <ViewFields>... mais
laquelle ? Ou bien, trouver un moyen au niveau du <ViewBody> pour modifier
l'affichage de l'item, et faire en sorte que le lien n'apparaisse pas, mais
que le menu apparaisse bien.
Quelqu'un aurait-il déjà été confronté au problème, ou aurait-il une idée ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Eric Donneger
Je serais tenté de dire qu'une solution est effectivement de travailler sur le <ViewBody> en positionnant un <FieldSwitch> autour du noeud <Field/> qui se charge de la génération du HTML. Le but étant que ce <FieldSwitch> réagisse sur le champ où vous voulez votre menu : dans ce cas là, à vous de générer le HTML souhaité et dans le cas par défaut, vous laissez traiter par le <Field/> standard.
-- Eric Donneger http://blogs.developpeur.org/FatEric http://www.clubsps.org
"Daniel/Jériko" a écrit :
Bonjour, une question sur une manip apparemment non documentée.
Nous souhaitons créer une vue spécifique pour une bibliothèque de documents personnalisée : la vue doit lister les éléments contenus dans la bibliothèque, avec pour chacun un menu contextuel (que nous avons personnalisé). Mais il faut éviter que chaque élément soit cliquable directement, sans passer par les options du menu. Donc, il faut que chaque élément ait un menu, mais pas de lien. Or, cela n'existe pas parmi les champs proposés par défaut.
Dans le CAML décrivant la vue dans le SCHEMA.XML, la question revient donc à faire une liste dans laquelle apparaissent les menus contextuels sur les items, mais sans lien sur les items : donc, utiliser une alternative au <fieldref Name="LinkFilename"/> dans la section <ViewFields>... mais laquelle ? Ou bien, trouver un moyen au niveau du <ViewBody> pour modifier l'affichage de l'item, et faire en sorte que le lien n'apparaisse pas, mais que le menu apparaisse bien.
Quelqu'un aurait-il déjà été confronté au problème, ou aurait-il une idée ?
D'avance merci !
Je serais tenté de dire qu'une solution est effectivement de travailler sur
le <ViewBody> en positionnant un <FieldSwitch> autour du noeud <Field/> qui
se charge de la génération du HTML. Le but étant que ce <FieldSwitch>
réagisse sur le champ où vous voulez votre menu : dans ce cas là, à vous de
générer le HTML souhaité et dans le cas par défaut, vous laissez traiter par
le <Field/> standard.
--
Eric Donneger
http://blogs.developpeur.org/FatEric
http://www.clubsps.org
"Daniel/Jériko" a écrit :
Bonjour, une question sur une manip apparemment non documentée.
Nous souhaitons créer une vue spécifique pour une bibliothèque de documents
personnalisée : la vue doit lister les éléments contenus dans la
bibliothèque, avec pour chacun un menu contextuel (que nous avons
personnalisé). Mais il faut éviter que chaque élément soit cliquable
directement, sans passer par les options du menu. Donc, il faut que chaque
élément ait un menu, mais pas de lien. Or, cela n'existe pas parmi les champs
proposés par défaut.
Dans le CAML décrivant la vue dans le SCHEMA.XML, la question revient donc à
faire une liste dans laquelle apparaissent les menus contextuels sur les
items, mais sans lien sur les items : donc, utiliser une alternative au
<fieldref Name="LinkFilename"/> dans la section <ViewFields>... mais
laquelle ? Ou bien, trouver un moyen au niveau du <ViewBody> pour modifier
l'affichage de l'item, et faire en sorte que le lien n'apparaisse pas, mais
que le menu apparaisse bien.
Quelqu'un aurait-il déjà été confronté au problème, ou aurait-il une idée ?
Je serais tenté de dire qu'une solution est effectivement de travailler sur le <ViewBody> en positionnant un <FieldSwitch> autour du noeud <Field/> qui se charge de la génération du HTML. Le but étant que ce <FieldSwitch> réagisse sur le champ où vous voulez votre menu : dans ce cas là, à vous de générer le HTML souhaité et dans le cas par défaut, vous laissez traiter par le <Field/> standard.
-- Eric Donneger http://blogs.developpeur.org/FatEric http://www.clubsps.org
"Daniel/Jériko" a écrit :
Bonjour, une question sur une manip apparemment non documentée.
Nous souhaitons créer une vue spécifique pour une bibliothèque de documents personnalisée : la vue doit lister les éléments contenus dans la bibliothèque, avec pour chacun un menu contextuel (que nous avons personnalisé). Mais il faut éviter que chaque élément soit cliquable directement, sans passer par les options du menu. Donc, il faut que chaque élément ait un menu, mais pas de lien. Or, cela n'existe pas parmi les champs proposés par défaut.
Dans le CAML décrivant la vue dans le SCHEMA.XML, la question revient donc à faire une liste dans laquelle apparaissent les menus contextuels sur les items, mais sans lien sur les items : donc, utiliser une alternative au <fieldref Name="LinkFilename"/> dans la section <ViewFields>... mais laquelle ? Ou bien, trouver un moyen au niveau du <ViewBody> pour modifier l'affichage de l'item, et faire en sorte que le lien n'apparaisse pas, mais que le menu apparaisse bien.
Quelqu'un aurait-il déjà été confronté au problème, ou aurait-il une idée ?
D'avance merci !
Daniel/Jériko
Oui, en effet, c'est la solution de la modification du <ViewBody> que j'ai creusée. Merci pour vos conseils en tout cas.
Je suis parvenu à une solution, décrite ci-après.
Tout le problème était donc de trouver le code à générer pour remplacer dans le CAML l'affichage du <Field> standard LinkFileName : il fallait un code équivalent, qui génère la création du contextMenu, mais pas le lien cliquable. J'ai donc recherché le <displayPattern> du champ de type LinkFileName, je l'ai trouvé dans le WSS SDK, dans le document GetProjSchema RPC Example. On y décrit les DisplayPattern de tous les types de champs utilisés dans les views des différentes listes de base.
Dans le SCHEMA.XML de ma liste personnalisée, dans la section <ViewBody> de la description de ma vue personnalisée, section <Fields>, j'ai utilisé le code suivant :
Je serais tenté de dire qu'une solution est effectivement de travailler sur le <ViewBody> en positionnant un <FieldSwitch> autour du noeud <Field/> qui se charge de la génération du HTML. Le but étant que ce <FieldSwitch> réagisse sur le champ où vous voulez votre menu : dans ce cas là, à vous de générer le HTML souhaité et dans le cas par défaut, vous laissez traiter par le <Field/> standard.
-- Eric Donneger http://blogs.developpeur.org/FatEric http://www.clubsps.org
"Daniel/Jériko" a écrit :
> Bonjour, une question sur une manip apparemment non documentée. > > Nous souhaitons créer une vue spécifique pour une bibliothèque de documents > personnalisée : la vue doit lister les éléments contenus dans la > bibliothèque, avec pour chacun un menu contextuel (que nous avons > personnalisé). Mais il faut éviter que chaque élément soit cliquable > directement, sans passer par les options du menu. Donc, il faut que chaque > élément ait un menu, mais pas de lien. Or, cela n'existe pas parmi les champs > proposés par défaut. > > Dans le CAML décrivant la vue dans le SCHEMA.XML, la question revient donc à > faire une liste dans laquelle apparaissent les menus contextuels sur les > items, mais sans lien sur les items : donc, utiliser une alternative au > <fieldref Name="LinkFilename"/> dans la section <ViewFields>... mais > laquelle ? Ou bien, trouver un moyen au niveau du <ViewBody> pour modifier > l'affichage de l'item, et faire en sorte que le lien n'apparaisse pas, mais > que le menu apparaisse bien. > > Quelqu'un aurait-il déjà été confronté au problème, ou aurait-il une idée ? > > D'avance merci !
Oui, en effet, c'est la solution de la modification du <ViewBody> que j'ai
creusée. Merci pour vos conseils en tout cas.
Je suis parvenu à une solution, décrite ci-après.
Tout le problème était donc de trouver le code à générer pour remplacer dans
le CAML l'affichage du <Field> standard LinkFileName : il fallait un code
équivalent, qui génère la création du contextMenu, mais pas le lien
cliquable. J'ai donc recherché le <displayPattern> du champ de type
LinkFileName, je l'ai trouvé dans le WSS SDK, dans le document GetProjSchema
RPC Example. On y décrit les DisplayPattern de tous les types de champs
utilisés dans les views des différentes listes de base.
Dans le SCHEMA.XML de ma liste personnalisée, dans la section <ViewBody> de
la description de ma vue personnalisée, section <Fields>, j'ai utilisé le
code suivant :
Je serais tenté de dire qu'une solution est effectivement de travailler sur
le <ViewBody> en positionnant un <FieldSwitch> autour du noeud <Field/> qui
se charge de la génération du HTML. Le but étant que ce <FieldSwitch>
réagisse sur le champ où vous voulez votre menu : dans ce cas là, à vous de
générer le HTML souhaité et dans le cas par défaut, vous laissez traiter par
le <Field/> standard.
--
Eric Donneger
http://blogs.developpeur.org/FatEric
http://www.clubsps.org
"Daniel/Jériko" a écrit :
> Bonjour, une question sur une manip apparemment non documentée.
>
> Nous souhaitons créer une vue spécifique pour une bibliothèque de documents
> personnalisée : la vue doit lister les éléments contenus dans la
> bibliothèque, avec pour chacun un menu contextuel (que nous avons
> personnalisé). Mais il faut éviter que chaque élément soit cliquable
> directement, sans passer par les options du menu. Donc, il faut que chaque
> élément ait un menu, mais pas de lien. Or, cela n'existe pas parmi les champs
> proposés par défaut.
>
> Dans le CAML décrivant la vue dans le SCHEMA.XML, la question revient donc à
> faire une liste dans laquelle apparaissent les menus contextuels sur les
> items, mais sans lien sur les items : donc, utiliser une alternative au
> <fieldref Name="LinkFilename"/> dans la section <ViewFields>... mais
> laquelle ? Ou bien, trouver un moyen au niveau du <ViewBody> pour modifier
> l'affichage de l'item, et faire en sorte que le lien n'apparaisse pas, mais
> que le menu apparaisse bien.
>
> Quelqu'un aurait-il déjà été confronté au problème, ou aurait-il une idée ?
>
> D'avance merci !
Oui, en effet, c'est la solution de la modification du <ViewBody> que j'ai creusée. Merci pour vos conseils en tout cas.
Je suis parvenu à une solution, décrite ci-après.
Tout le problème était donc de trouver le code à générer pour remplacer dans le CAML l'affichage du <Field> standard LinkFileName : il fallait un code équivalent, qui génère la création du contextMenu, mais pas le lien cliquable. J'ai donc recherché le <displayPattern> du champ de type LinkFileName, je l'ai trouvé dans le WSS SDK, dans le document GetProjSchema RPC Example. On y décrit les DisplayPattern de tous les types de champs utilisés dans les views des différentes listes de base.
Dans le SCHEMA.XML de ma liste personnalisée, dans la section <ViewBody> de la description de ma vue personnalisée, section <Fields>, j'ai utilisé le code suivant :
Je serais tenté de dire qu'une solution est effectivement de travailler sur le <ViewBody> en positionnant un <FieldSwitch> autour du noeud <Field/> qui se charge de la génération du HTML. Le but étant que ce <FieldSwitch> réagisse sur le champ où vous voulez votre menu : dans ce cas là, à vous de générer le HTML souhaité et dans le cas par défaut, vous laissez traiter par le <Field/> standard.
-- Eric Donneger http://blogs.developpeur.org/FatEric http://www.clubsps.org
"Daniel/Jériko" a écrit :
> Bonjour, une question sur une manip apparemment non documentée. > > Nous souhaitons créer une vue spécifique pour une bibliothèque de documents > personnalisée : la vue doit lister les éléments contenus dans la > bibliothèque, avec pour chacun un menu contextuel (que nous avons > personnalisé). Mais il faut éviter que chaque élément soit cliquable > directement, sans passer par les options du menu. Donc, il faut que chaque > élément ait un menu, mais pas de lien. Or, cela n'existe pas parmi les champs > proposés par défaut. > > Dans le CAML décrivant la vue dans le SCHEMA.XML, la question revient donc à > faire une liste dans laquelle apparaissent les menus contextuels sur les > items, mais sans lien sur les items : donc, utiliser une alternative au > <fieldref Name="LinkFilename"/> dans la section <ViewFields>... mais > laquelle ? Ou bien, trouver un moyen au niveau du <ViewBody> pour modifier > l'affichage de l'item, et faire en sorte que le lien n'apparaisse pas, mais > que le menu apparaisse bien. > > Quelqu'un aurait-il déjà été confronté au problème, ou aurait-il une idée ? > > D'avance merci !