留言板

Surcharger le portlet documents et medias

raissa sagot,修改在12 年前。

Surcharger le portlet documents et medias

New Member 帖子: 16 加入日期: 12-3-22 最近的帖子
Bonjour à tous,
J'aurai besoin d'aide toujours par rapport au portlet intégré "Documents et médias".
Il faudrait que je surchage la création de document avec des enregistrements dans la base de ces nouvelles informations et également avoir des valeurs par défaut changeant en fonctions de l'utilisateur connecté. Mais je ne comprend pas et ne vois pas du tout comment faire, malgré toute la doc que j'ai pu consulté ces derniers jours, comment :
- créer un nouveau portlet à partir de "Documents et média"
- ajouter un champ qui sera enregistré dans la base
- ajouter un champ qui récupère des données une table de la base

Pourriez-vous me donner des explications claires et détaillées pour que je puisse m'en sortir svp

Merci de votre aide
R. SAGOT

version 6.1.0
Tomcat
Eclipse
thumbnail
Leo Pratlong,修改在12 年前。

RE: Surcharger le portlet documents et medias

Expert 帖子: 363 加入日期: 10-7-6 最近的帖子
Bonjour,
je ne pourrai pas être détaillé parce que je n'ai pas de Liferay sous la main emoticon.
Pour rajouter un champ/des champs, plusieurs manières :
- les Expando values.
- Utiliser les MetadataSet du portlet Documents et Médias pour créer de nouveaux types de médias (avec leurs propres champs etc...). Ca se fait très simplement, via un formulaire.
raissa sagot,修改在12 年前。

RE: Surcharger le portlet documents et medias

New Member 帖子: 16 加入日期: 12-3-22 最近的帖子
Bonjour,

Oui je suis d'accord avec les métadataset on peut créer de nouveau type facilmenet mais j'arrive pas à mettre une valeur par défaut changeante, comme par exemple le nom de l'utilisateur connecté.

Comment marche les expando values ? comment on s'en sert ?
raissa sagot,修改在12 年前。

RE: Surcharger le portlet documents et medias

New Member 帖子: 16 加入日期: 12-3-22 最近的帖子
les expando values c'est les champs personnalisés que l'on peut ajouter à partir du controle panel ?
De la même facon je ne peut pas mettre de valeur changeante en fonction des utilisateurs.
Si quelqu'un sait commen faire je suis preneuse.
thumbnail
Leo Pratlong,修改在12 年前。

RE: Surcharger le portlet documents et medias

Expert 帖子: 363 加入日期: 10-7-6 最近的帖子
Les Expandos, ce sont des champs personnalisables que l'on ajoute à une classe du modèle de Liferay :
http://www.liferay.com/community/wiki/-/wiki/Main/Developing+with+Expando

Dans la pratique, ça rajoute un champ dans une table de la base de données, avec des identifiants qui indiquent la table/l'objet impacté.
Olivier Bonnet-Torrès,修改在12 年前。

RE: Surcharger le portlet documents et medias

Regular Member 帖子: 162 加入日期: 08-7-11 最近的帖子
Bonjour,

raissa sagot:
les expando values c'est les champs personnalisés que l'on peut ajouter à partir du controle panel ?

Oui (cf réponse de Léo), pour faire court.
raissa sagot:
De la même facon je ne peut pas mettre de valeur changeante en fonction des utilisateurs.

Pour cela, vous devrez écrire un hook qui surcharge les JSPs que vous souhaitez modifier (à la fois dans la configuration/administration et dans la visualisation). Cela vous permettra de cacher/pré-remplir les champs des formulaires tel que vous souhaitez les voir apparaître (par exemple avec, dans le formulaire de saisie, un champ personnalisé "contributeur" dont le contenu est automatiquement rempli avec le nom de l'utilisateur courant, et, dans la fiche du document, un span ou une div dont le label serait "Contributeur: " et la valeur le nom du contributeur précédemment enregistré). Pour le détail, je vous invite à tester et à vous familiariser avec les custom-fields/custom-attributes. Vous pourrez d'ailleurs faire un tour du côté des taglibs... ;-)
raissa sagot,修改在12 年前。

RE: Surcharger le portlet documents et medias

New Member 帖子: 16 加入日期: 12-3-22 最近的帖子
Après encore une journée passée dessus je n'ai toujours pas avancé d'un pouce.
Si j'utilise un taglib j'ai l'affichage que je veux mais le contenu de mon champ ne s'enregistre pas dans la base.
Si j'utilise les custom-attribute j'enregistre dans la base, mais je n'arrive pas à remplir mon champs avec l'utilisateur courant.

Un petit coup de main ne serait pas de refus.
Si vous avez des exemples, des tutos ou autre je suis toute ouïe, car malgré les centaines de pages que j'ai pu consulter depuis le début de la semaine je suis toujours au même point emoticon
raissa sagot,修改在12 年前。

RE: Surcharger le portlet documents et medias

New Member 帖子: 16 加入日期: 12-3-22 最近的帖子
Apres de tres nombreux essais j'ai reussi à préremplir mon champs, l'import de librairie Expandobridge dans le fichier init est nécessaire,
mais que si mon document existe déjà, à l'aide de :

ExpandoBridge expandoBridge = ExpandoBridgeFactoryUtil.getExpandoBridge(DLFileEntry.class.getName(), fileEntry.getFileEntryId());
expandoBridge.setAttribute("Auteur", userName);

ou

fileEntry.getExpandoBridge().setAttribute("Auteur", userName);

les deux marchent. Dans les deux cas j'utilise la variable fileEntry, qui est null en cas de nouvel objet. Normal donc que cela ne marche pas.
Est-ce que quelqu'un pourrait m'indiquer comment préremplir mon champ dans le cas d'un objet vide svp?