2016-04-04 52 views
1

Kullanıcı giriş yaptığında, kullanıcının size atanan tüm etiketleri ve kullanıcının görebileceği bir sayfa ve özel portlet olacak düzenlemek, değiştirmek, & eklemek etiketleri.I googled ve bazı yolları denedim ama herhangi bir fikir elde edemedim.Belirli bir kullanıcı için etiketleri düzenleme, değiştirme, ekleme ve kaydetme

Bu işlevsellik, zaten Kullanıcı -> Hesabım -> Sınıflandırma bölümünde bulunmaktadır. etiketinin altına kullanarak biz etiketleri

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

eklemek için bir özellik olabilir Ama aynı zamanda zaten etiketleri toplu yükleme ile DB vardır. Bu etiketi, bu etiketi kullanarak önceden doldurulmuş olarak göstermem gerekiyor. Daha sonra otomatik olarak gereksinim için bir çözüm sunuyor.

cevap

1

Yukarıdaki gereksinimi follows.i.e liferay gücü olarak basit üç etiketle yapabiliriz.

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> 

Eylem Sınıfı:

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(); 
     } 

    }