2016-04-04 1 views
1

J'ai une exigence qu'une fois l'utilisateur connecté, il y aura une page et un portlet personnalisé où l'utilisateur peut voir toutes les balises qui vous sont assignées et l'utilisateur a pour éditer, modifier, ajouter & enregistrer les tags.I googled il et essayé quelques-unes des façons, mais je n'ai eu aucune idée.Si quelqu'un sait s'il vous plaît guide-moi pour le faire.Comment faire modifier, modifier, ajouter et enregistrer les balises pour un utilisateur particulier

Cette fonctionnalité existe déjà dans Utilisateur-> Mon compte -> Catégorisation. En utilisant ci-dessous étiquette nous pouvons avoir une fonction pour ajouter des balises

<liferay-ui:asset-tags-selector /> 

Mais en même temps déjà des balises sont là dans le DB par transfert groupé. J'ai besoin de montrer ces étiquettes comme pré-remplies en utilisant cette étiquette. Ensuite, il donne automatiquement une solution à mes besoins.

Répondre

1

Nous pouvons faire l'exigence ci-dessus par trois étiquettes simples comme suit.i.e puissance de liferay.Très génial !!!

JSP:

<aui:form action="<%=updateTagsURL%>" method="post" 
    name="updateTagsForm"> 
    <aui:model-context bean="<%=user%>" model="<%=User.class%>" /> 

    <h3> 
     <liferay-ui:message key="tags" /> 
    </h3> 
    <aui:fieldset> 
     <aui:input name="" type="assetTags" label="" /> 
    </aui:fieldset> 
    <aui:input type="Submit" name="" value="Submit" lable=""></aui:input> 
</aui:form> 

Class Action:

public void addTags(ThemeDisplay themeDisplay,String emailAddress,String[] tagNames){ 
     User user; 
     try { 
      user = UserLocalServiceUtil.getUserByEmailAddress(themeDisplay.getCompanyId(), emailAddress);   
      AssetEntryLocalServiceUtil.updateEntry(user.getUserId(), themeDisplay.getScopeGroupId(),"com.liferay.portal.model.User", user.getUserId(),null, tagNames);    

     } catch (PortalException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } catch (SystemException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 

    }