Ho trovato come incorporare WebContent nel tema Liferay 6.2 utilizzando il metodo journalContentUtil.getContent
. La mia domanda è come fare la stessa cosa in Liferay 7?Come incorporare WebContent nel tema Liferay 7 di freemarker?
risposta
La classe più vicina a journalContentUtil
è JournalContentImpl
e ha quasi gli stessi metodi relativi a getContent
. È possibile vedere il codice qui JournalContentImpl
Per l'incasso WebContent in Liferay 7, prima di tutto, è necessario attivare ServiceLocator nel Pannello di controllo -> Configurazione -> Impostazioni di sistema -> Fondazione -> FreeMarker motore -> Variabili limitati. C'è possibile rimuovere ServiceLocator
Ora si può utilizzare ad esempio nella domanda di visualizzazione Template (Freemarker):
<#assign liferay_ui = taglibLiferayHash["/META-INF/liferay-ui.tld"] />
<#assign journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") />
e quindi utilizzare il journalArticleLocalService per recuperare il WebContent facendo
getArticleContent(long groupId, String articleId, double version, String viewMode, String ddmTemplateKey, String languageId, ThemeDisplay themeDisplay)
Tecnicamente, penso che questa risposta sia più accurata, tuttavia mi piace la risposta di @ abhishek-suthar poiché il contenuto verrà aggiunto con i controlli del portlet ed è più semplice per l'amministratore modificare. Se vuoi solo aggiungere l'html, questo metodo funziona al meglio. Solo per completare l'ultima riga di codice, questo è un esempio di come chiamare il metodo '' '<#assign article = journalArticleLocalService.fetchArticle (group_id," FOOTER ")>' '' then '' '$ {journalArticleLocalService.getArticleContent (articolo, article.getDDMTemplateKey(), "VIEW", locale, themeDisplay)} '' ' – gus3001
I hanno trovato il modo di correggere il contenuto web tramite un modello ftl personalizzato in Liferay 7/DXP.
Di seguito è riportato il codice di esempio,
<#assign VOID = freeMarkerPortletPreferences.setValue("portletSetupPortletDecoratorId", "barebone") />
<#assign theme_groupID = htmlUtil.escape(theme_display.getCompanyGroupId()?string) />
<#assign VOID = freeMarkerPortletPreferences.setValue("groupId", '${group_id}') />
<#assign VOID = freeMarkerPortletPreferences.setValue("articleId", "yourarticleid") />
<@liferay_portlet["runtime"]
defaultPreferences="${freeMarkerPortletPreferences}"
portletProviderAction=portletProviderAction.VIEW
instanceId="footercontent"
portletName="com_liferay_journal_content_web_portlet_JournalContentPortlet" />
${freeMarkerPortletPreferences.reset()}
Assicurarsi che l'articleId che si sta fornendo nelle preferenze è sotto il gruppo/sito groupId.Means dovrebbe contiene il webcontent.
Questo è fantastico, lavora per me! La mia domanda è, come hai capito come farlo? Non ho trovato alcuna documentazione su come usare @liferay_portlet ["runtime"] – gus3001
- 1. Come utilizzare FreeMarker nel modello Pojos annidato?
- 2. Windows 7 tema per WPF?
- 3. Utilizzare l'operatore ternario nel freemarker?
- 4. Come ottenere la sessione Liferay nel servlet personalizzato?
- 5. Nessuna modalità di modifica nel portlet Liferay
- 6. Liferay: come configurare il portale Liferay
- 7. Liferay: logo del sito
- 8. Come visualizzare il messaggio di errore nel portale liferay?
- 9. Android textAllCaps nel tema
- 10. Come incorporare OCR esterno nel PDF esistente?
- 11. Come incorporare JQuery nel controllo server personalizzato
- 12. QT Come incorporare un'applicazione nel widget QT
- 13. Come incorporare un eseguibile nel mio progetto
- 14. come incorporare il video nel codice laravel
- 15. cambia automaticamente il tema Drupal 7 attivo
- 16. Come disabilitare il caching in liferay?
- 17. come modificare htm/css nel tema drupal?
- 18. Come ottenere gli elementi dell'elenco per indice nel modello freemarker?
- 19. Come ottenere il nome host nel modello freemarker?
- 20. Come incorporare il pulsante di login di BrowserID nel defaultLayout
- 21. Cambia tema nel nuovo TextMate?
- 22. Come creare un nuovo tema in drupal 7
- 23. Nel progetto Web dinamico di eclipse, come collegare css al file jsp nella cartella webcontent
- 24. Come incorporare i moduli di accesso ms nel modulo C#?
- 25. Come incorporare l'HTML nel file di testo ristrutturato?
- 26. Windows Phone 7 Impostazione tema sfondo - Sviluppo app
- 27. Come passare String come input in FreeMarker?
- 28. JavaFX: incorporare l'immagine codificata nel file .FXML
- 29. Ottenere lista sub da un elenco nel freemarker
- 30. iterazione di mappa in Freemarker
'JournalContentImpl' non è un servizio accessibile nel contesto di freemarker/velocità –
Hai provato con la sua classe di servizio' JournalContent', giusto ?! – KLajdPaja