Eccoci di nuovo qui, con il primo post del 2020 anche se siamo già a marzo...
 Oggi vi voglio parlare di qualcosa di piuttosto semplice ma che ha richiesto il solito tempo di indagine nei sorgenti di Liferay per capire se e come era possibile fare quanto richiesto.
 A partire dalla versione 7, Liferay consente di graficare le checkbox anche in un modo alternativo molto più accattivamente; in pratica anzichè dichiarare il campo booleano nel seguente solito modo (ipotizzando che male sia un campo booleano della nostra entità):
 <aui:input name="male" />
 possiamo definirlo anche così:
 <aui:input checked="<%= user.isMale() %>" name="male" type="toggle-switch" />
 Questo farà sì che a video, al posto della solita noiosa e bruttina checkbox, sia visualizzato un componente grafico molto più gradevole e moderno.
 Il problema di questa soluzione è che il componente grafico visualizza automaticamente l'etichetta SI oppure NO a seconda del valore del campo booleano; apparentemente non è possibile modificare queste etichette perchè il DTD della taglib non lo consente.
 Tuttavia, spulciando tra i sorgenti del portale, ho scoperto che la taglib supporta i dynamic attributes ossia, in parole povere, consente di specificare attributi non definiti nel DTD; guarda caso, tra i vari attributi, ci sono anche quelli per personalizzare le suddette etichette: labelOff e labelOn. Ecco quindi come definire il campo del form:
 <aui:input checked="<%= user.isMale() %>" labelOff="female" labelOn="male" name="male" type="toggle-switch" />
 Vi lascio come esercizio quello di scoprire a cosa servono gli altri attributi dinamici supportati dalla taglib:
  autoComplete  buttonIconOff  buttonIconOn  dayLight  displayStyle  format  iconOff  iconOn  nullable  timeFormat  
 Enjoy!