Skip to content

Instantly share code, notes, and snippets.

View pedroblandim's full-sized avatar

Pedro Blandim Andrade pedroblandim

View GitHub Profile
@pedroblandim
pedroblandim / Lista de notícias - SAXReaderUtil.ftl
Created June 14, 2022 04:07
Simplify Liferay - Vídeo: Estilizando o Publicador de Conteúdos e Mídias | Método 3 - SAXReaderUtil
<#if entries?has_content>
<div class="container">
<#list entries as entry>
<#assign docXml = saxReaderUtil.read(entry.getAssetRenderer().getArticle().getContent()) />
<div class="box">
<h2>
<#assign title = docXml.selectSingleNode("/root/dynamic-element[@name='titulo']/dynamic-content").getText() />
${title} </h2>
<p>
@pedroblandim
pedroblandim / Lista de notícias.ftl
Last active June 9, 2022 20:59
Simplify Liferay - Vídeo: Estilizando o Publicador de Conteúdos e Mídias | Método 2 - Modelo de Conteúdo Web
<div class="container">
<#if entries?has_content>
<#list entries as curEntry>
<#assign article = curEntry.getAssetRenderer().getArticle() />
<@liferay_journal["journal-article"]
articleId=article.getArticleId()
groupId=article.getGroupId()
ddmTemplateKey="your-ddm-template-key"
/>
</#list>
@pedroblandim
pedroblandim / Notícias em Cards - Widget Template - DDMFormFieldValuesMap.ftl
Last active August 5, 2025 18:14
Simplify Liferay - Vídeo: Estilizando o Publicador de Conteúdos e Mídias | Método 1 - DDMFormFieldValuesMap
<#if entries?has_content>
<div class="container">
<#list entries as entry>
<#assign assetRenderer = entry.getAssetRenderer() />
<#assign DDMFormFieldValuesMap = assetRenderer.getDDMFormValuesReader().getDDMFormValues().getDDMFormFieldValuesMap() />
<#assign DDMFormFieldsReferencesMap = assetRenderer.article.DDMStructure.DDMForm.getDDMFormFieldsReferencesMap(true) />
<div class="box">
<h2>
<#assign titleField = DDMFormFieldsReferencesMap['titulo'].name />
@pedroblandim
pedroblandim / Notícia Completa com data no topo - Web Content Template (sem os campos adicionados).ftl
Last active September 17, 2023 21:35
Simplify Liferay - Vídeo: Entendendo conteúdo web em 10 minutos
<style>
.container {
display: flex;
flex-direction: column;
border-radius: 15px;
padding: 25px;
align-items: flex-start;
}
.content-text {
@pedroblandim
pedroblandim / Web Content DDM Structure - Notícia.json
Last active June 10, 2022 16:51
Simplify Liferay - Vídeo: Publicador de Conteúdos e Mídias
{
"availableLanguageIds": [
"pt_BR"
],
"contentType": "journal",
"dataDefinitionFields": [
{
"customProperties": {
"labelAtStructureLevel": true,
"confirmationErrorMessage": {
@pedroblandim
pedroblandim / getDDMFieldValue.groovy
Created May 10, 2022 22:50
Liferay: Get Journal Article's DDM Field value
import com.liferay.journal.service.JournalArticleLocalServiceUtil
import com.liferay.asset.kernel.service.AssetEntryLocalServiceUtil
import com.liferay.journal.model.JournalArticle
import com.liferay.portal.kernel.util.LocaleUtil
def fieldName = "field name"
def ja = JournalArticleLocalServiceUtil.fetchJournalArticle(id);
def entry = AssetEntryLocalServiceUtil.fetchEntry(JournalArticle.class.getName(), ja.getResourcePrimKey())
@pedroblandim
pedroblandim / getDLFilePreviewURL.java
Created May 10, 2022 22:04
Liferay get DL File preview URL
import com.liferay.document.library.kernel.service.DLAppLocalServiceUtil;
import com.liferay.portal.kernel.repository.model.FileEntry;
import com.liferay.document.library.util.DLURLHelperUtil;
import com.liferay.portal.kernel.theme.ThemeDisplay;
import com.liferay.portal.kernel.exception.PortalException;
public static String getDLEntryFileURL(long fileEntryId, ThemeDisplay themeDisplay)
throws PortalException {
@pedroblandim
pedroblandim / liferay.desktop
Created May 5, 2022 04:32
liferay.desktop file example
[Desktop Entry]
Type=Application
Name=Liferay IDE
Comment=Liferay Developer Studio
Icon=/path/to/icon.xpm
Exec=/path/to/DeveloperStudio
Terminal=false
Categories=Development;IDE;Java;
StartupWMClass=Liferay IDE
@pedroblandim
pedroblandim / display-ddm-template.jsp
Created March 23, 2022 20:41
Display ddm template on JSP
<liferay-journal:journal-article
articleId="${article.articleId}"
groupId="${themeDisplay.scopeGroupId}"
ddmTemplateKey="${templateKey}"
/>