2010-06-25 13 views
2

J'ai de la difficulté à comprendre le concept de portlets dans un CMS. Disons que j'écris un portlet météo pour afficher la température actuelle.Les portlets Liferay peuvent-ils obtenir des paramètres?

Je le construis, l'empaquette dans une guerre, déploie la guerre à Liferay.

Maintenant, j'ai créé une page, et je veux créer 2 instances du portlet que j'ai écrit. Je veux afficher la météo à Seattle et la météo à Miami.

Puis-je faire ceci? Comment transmettre un paramètre au portlet pour lui indiquer quelle ville afficher?

+0

L'une des réponses ci-dessous vous semble-t-elle viable ou recherchez-vous quelque chose d'autre? – jayshao

Répondre

7

Le portlet a ce qu'on appelle le mode EDIT. Vous pouvez implémenter le mode EDIT pour afficher le formulaire pour choisir la ville pour laquelle vous souhaitez afficher la température. Enregistrez-le dans les préférences de portlet. Et quand vous rendrez le portlet en mode normal (VIEW), regardez les préférences pour la ville.

+0

Pour développer ceci - Les PortletPreferences peuvent être étendues à l'instance (LR par défaut) ou par utilisateur - permettant au même code d'afficher des propriétés différentes. – jayshao

2

Une autre option est PortletConfig - qui est généralement configuré en portlet.xml et est similaire aux params de servlets. Préférences est probablement votre meilleur pari.

Si vous travaillez dans Liferay en particulier, l'infrastructure modéliste de LR vous offrira une grande partie de cette fonctionnalité, y compris l'édition rapide/bon marché au prix d'une portabilité entre conteneurs. Du côté positif, il s'intégrera bien avec le RBAC (limité) de LR qui a tendance à être important dans les environnements de création de contenu distribués.