Asset Publisher

Asset Publisher

Les granotes que demanen un rei

Lídia Clua explica aquesta faula.

La rabosa i el corb

Blai Senabre ens explica aquesta faula.

El lleó i el ratolí

Faula explicada per Blai Senabre

Els borinots i les abelles

Lídia Clua ens explica aquesta faula.

La xitxarra i la formiga

Blai Senabre ens explica aquesta faula.

El cérvol que es veu dins de l'aigua

Lídia Clua ens explica la faula : El cérvol que es veu dins de l'aigua

La tortuga i els dos ànecs

Conte narrat per Yoshi Kioski

El moliner, el seu fill i l'ase

Conte narrat per Patricia McGill

El lleó i el mosquit

Conte narrat per Patricia McGill

La gata i els dos pardals

Conte narrat per Patricia McGill

El peixet i el pescador

Conte narrat per Yoshi Kioski

La llebre i la tortuga

Conte narrat per Yoshi Kioski

Asset Publisher

6200569 - 359529821
El Peixet i el pescador
Yoshi Hioki ens explica aquesta faula a partir de la qual pots fer manualitats i saber més dels peixos
6200569 - 449045914
Les granotes que demanen un rei
No sempre s'aconsegueix allò que es vol.
6200569 - 449045680
Els borinots i les abelles
Si enraones bé, no t'enganyaran mai.
6200569 - 449045595
La xitxarra i la formiga
Amb esforç s'aconsegueixen els objectius.
6200569 - 448944379
El lleó i el ratolí
Fins el més petit et pot ajudar.
6200569 - 449037087
6200569 - 449036564
Un consell celebrat per rates
Els consellers desapareixen a l'hora de fer coses.
6200569 - 449035295
La rabosa i el corb
No presumeixis que et poden enganyar!!
6200569 - 449028026
El cérvol que es veu dins de l'aigua
Tens moltes coses boniques i d'altres que més que maques, són úniques.
6200569 - 448826311
La tortuga i els dos ànecs
La granota que croa és engolida per la serp.
6200569 - 448826714
El moliner, el seu fill i l'ase
Si fas cas de totes les veus, acabes perdut.
6200569 - 448826513
El lleó i el mosquit
L'enemic més petit et pot estabornir.
6200569 - 448826123
La llebre i la tortuga
El pitjor enemic és no estar alerta
6200569 - 448826060
L'ase carregat d'esponges i l'ase carregat de sal
Tant se val si sec o mullat, si al final salvem el cap
6200569 - 448824709
El gat i els dos pardals
Tot i. l’amor a un pardal, el gat sempre és gat igual
6200569 - 448822323
La granota que volia fer-se tan gran com un bou
Sàpigues bé quan mesures i viu d’acord amb la teva mida
6200569 - 448410424
Nus
6200569 - 448410481

Asset Publisher

6200569 - 449037594
L'ase revestit amb pell de lleó
Si com a lleó vols espantar, les orelles hauràs d'amagar
6200569 - 449037176
La guineu, el llop i el cavall
L'amistat pot acabar-se ràpidament
6200569 - 449036412
El gos i el llop
Un llop canvia un bon apat per la llibertat.
6200569 - 448944140
El colom i la formiga
Amb un colom que vola no s'omple la cassola.
6200569 - 448943790
La gallina dels ous d'or
Si tot ho vols, tot ho perds.
6200569 - 448942362
La lletera
Qui no somia en tenir una vida millor?

Asset Publisher

An error occurred while processing the template.
The following has evaluated to null or missing:
==> imatgeJson  [in template "10901#10934#415529031" at line 58, column 30]

----
Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)??
----

----
FTL stack trace ("~" means nesting-related):
	- Failed at: #if imatgeJson.has("uuid") && imatgeJ...  [in template "10901#10934#415529031" at line 58, column 25]
----
1<#assign DlAppServiceUtil = staticUtil["com.liferay.document.library.kernel.service.DLAppServiceUtil"]/> 
2<#assign JSONFactoryUtil = staticUtil["com.liferay.portal.kernel.json.JSONFactoryUtil"]/> 
3<#assign DLFileEntryLocalServiceUtil = staticUtil["com.liferay.document.library.kernel.service.DLFileEntryLocalServiceUtil"]/> 
4<#assign DlAppServiceUtil = staticUtil["com.liferay.document.library.kernel.service.DLAppServiceUtil"] /> 
5<#assign portletId = themeDisplay.getPortletDisplay().getId() /> 
6<#assign cont=0> 
7<#assign veureMesText = languageUtil.get(locale, "publisher.veuremes")> 
8<#assign veureMenysText = languageUtil.get(locale, "publisher.veuremenys")> 
9 
10<div class="destacatsSup container radius-container py-4 ${themeDisplay.portletDisplay.id}"> 
11	<div class="row"> 
12        <#list entries as curEntry> 
13            <#assign display=""> 
14            <#assign fila1=""> 
15            <#assign fila2=""> 
16            <#assign assetRenderer=curEntry.getAssetRenderer()/> 
17            <#assign journalArticle=assetRenderer.getAssetObject()/> 
18            <#assign document = saxReaderUtil.read(journalArticle.getContentByLocale(locale))> 
19            <#assign rootElement = document.getRootElement()>  
20            <#assign title=saxReaderUtil.createXPath("dynamic-element[@field-reference='title']/dynamic-content").selectSingleNode(rootElement).getStringValue()> 
21            <#assign url=saxReaderUtil.createXPath("dynamic-element[@field-reference='url']/dynamic-content").selectSingleNode(rootElement).getStringValue()> 
22            <#assign description=saxReaderUtil.createXPath("dynamic-element[@field-reference='description']/dynamic-content").selectSingleNode(rootElement).getStringValue()> 
23            <#assign highlightedType=saxReaderUtil.createXPath("dynamic-element[@field-reference='highlightedType']/dynamic-content").selectSingleNode(rootElement).getStringValue()> 
24            <#if url=""> 
25                <#assign url="/noticies/-/contingut/${groupId}/${journalArticle.getUrlTitle(locale)}"> 
26            </#if> 
27            <#assign imgSrc=""> 
28            <#assign imageFieldSet=saxReaderUtil.createXPath("dynamic-element[@field-reference='imageFieldSet']").selectSingleNode(rootElement)> 
29 
30            <#assign imageFieldSetNode = rootElement.selectSingleNode("dynamic-element[@field-reference='imageFieldSet']")> 
31            <#if imageFieldSetNode??> 
32            	<#assign imageNode = imageFieldSetNode.selectSingleNode("dynamic-element[@field-reference='image']")> 
33            	<#assign urlExternaNode = imageFieldSetNode.selectSingleNode("dynamic-element[@field-reference='urlExterna']")> 
34            	 
35            	<#if imageNode?? && validator.isNotNull(imageNode.getStringValue())> 
36            		<#assign imatgeJson=JSONFactoryUtil.createJSONObject(imageNode.getStringValue())> 
37            	</#if> 
38            	<#if urlExternaNode?? && validator.isNotNull(urlExternaNode.getStringValue())> 
39            		<#assign imgSrc=urlExternaNode.getStringValue()> 
40            	</#if> 
41            </#if> 
42            	 
43            <#if cont gte 8> 
44                <#assign display="d-none"> 
45            </#if> 
46            <#if cont gte 8 && cont lt 12> 
47                <#assign fila1="fila1"> 
48            </#if> 
49            <#if cont gte 12> 
50                <#assign fila2="fila2"> 
51            </#if> 
52            <div class="col-xl-3 col-md-6 col-12 mb-4 ${display} ${fila1} ${fila2}" > 
53                <div class="d-flex flex-column"> 
54                    <div class="imatge mb-2"> 
55                        <#if imgSrc!=""> 
56                            <img class="w-100 h-100" loading="lazy" src="${imgSrc}" alt="Portada ${title}"> 
57                        </#if> 
58                        <#if imatgeJson.has("uuid") && imatgeJson.has("groupId")> 
59                            <#assign imagenDlFile = DLFileEntryLocalServiceUtil.getDLFileEntryByUuidAndGroupId(imatgeJson.getString("uuid")?string,imatgeJson.getLong("groupId")?number)>                     
60                            <@adaptive_media_image["img"]  class="w-100 h-100" fileVersion=DlAppServiceUtil.getFileEntry(imagenDlFile.fileEntryId?number).getFileVersion()/> 
61                        </#if> 
62                    </div> 
63                    <a class="font-weight-bold font-18 mb-1" href="${url}">${title}</a> 
64                    <p class="line-clamp-3 mb-0"> 
65                        ${description} 
66                    </p> 
67                </div> 
68            </div> 
69            <#assign cont++> 
70		</#list> 
71	</div> 
72    <div class="mt-3 d-flex justify-content-end"> 
73        <button type="button" class="botonMesDestacats w-auto"><@liferay.language key="publisher.veuremes" /></button> 
74    </div>	 
75</div> 
76<script> 
77/* SPA FIX: DOMContentLoaded no dispara al navegar per Senna; usar readyState + Liferay.on('endNavigate') + guard per no duplicar handlers */ 
78(function () { 
79    function initVeureMes() { 
80 
81        const container = document.querySelector( 
82            '.destacatsSup.${themeDisplay.portletDisplay.id}' 
83        ); 
84 
85        if (!container) { 
86            return; 
87        } 
88 
89        const button = container.querySelector('.botonMesDestacats'); 
90 
91        if (!button) { 
92            return; 
93        } 
94 
95        if (button.dataset.veuremesBound === '1') { 
96            return; 
97        } 
98        button.dataset.veuremesBound = '1'; 
99 
100        let general = 0; 
101 
102        const fila1 = container.querySelectorAll('.fila1'); 
103        const fila2 = container.querySelectorAll('.fila2'); 
104 
105        const veureMes = 
106            "${veureMesText?js_string}"; 
107        const veureMenys = 
108            "${veureMenysText?js_string}"; 
109 
110        button.addEventListener('click', function () { 
111 
112            if (general === 0) { 
113 
114                fila1.forEach(function (element) { 
115                    element.classList.remove('d-none'); 
116                }); 
117 
118                general++; 
119 
120            } else if (general === 1) { 
121 
122                fila2.forEach(function (element) { 
123                    element.classList.remove('d-none'); 
124                }); 
125 
126                general++; 
127 
128                button.textContent = veureMenys; 
129 
130            } else { 
131 
132                fila1.forEach(function (element) { 
133                    element.classList.add('d-none'); 
134                }); 
135 
136                fila2.forEach(function (element) { 
137                    element.classList.add('d-none'); 
138                }); 
139 
140                general = 0; 
141 
142                button.textContent = veureMes; 
143            } 
144 
145        }); 
146    } 
147 
148    if (document.readyState === 'loading') { 
149        document.addEventListener('DOMContentLoaded', initVeureMes); 
150    } else { 
151        initVeureMes(); 
152    } 
153    if (window.Liferay && typeof Liferay.on === 'function') { 
154        Liferay.on('endNavigate', initVeureMes); 
155    } 
156})(); 
157</script> 
158<style> 
159		#portlet_${portletId} .portlet-content {padding-top: 10px; border-radius:8px;} 
160	 
161    .botonMesDestacats{ 
162        display: block; 
163        font-family: "Lato", sans-serif; 
164        border: 1px solid #811424; 
165        background: #fff; 
166        color: #811424; 
167        padding: 10px; 
168        font-size: 18px; 
169        margin-bottom: 15px; 
170    } 
171    .botonMesDestacats:focus{ 
172        background: #fff; 
173        color: #811424; 
174    } 
175    .botonMesDestacats:hover{ 
176        background: #811424; 
177        color: #fff; 
178        text-decoration: none; 
179    } 
180    @media (min-width: 575.99px) { 
181        .destacatsSup .imatge{height:155px;} 
182    } 
183    .destacatsSup .font-18{font-size:18px;} 
184	.destacatsSup	.line-clamp-3{ 
185		display: -webkit-box; 
186    -webkit-line-clamp: 3; 
187    -webkit-box-orient: vertical; 
188    overflow: hidden; 
189		} 
190	.btn-temporal{ 
191		background: #811424 !important; 
192    color: #fff !important; 
193    text-decoration: none !important; 
194		display: block !important; 
195    font-family: 'Lato',sans-serif !important; 
196    border: 1px solid #811424 !important; 
197    padding: 10px; 
198    font-size: 18px; 
199	}</style> 

Asset Publisher

Descobreix com són els animals de les faules

Mira els vídeos de les faules d'Isop

La Guineu i el raïm

La Guineu i el raïm

La Guineu i el raïm

La Guineu i el llenyataire

La Guineu i el llenyataire

L'àliga i l'escarbat

L'àliga i l'escarbat

La guineu que va omplir la panxa

La guineu que va omplir la panxa

La Guineu i la serp

La Guineu i la serp

L'àliga de l'ala tallada i la guineu

L'àliga de l'ala tallada i la guineu

Les granotes del pantà sec

Les granotes del pantà sec

L'àliga i els galls

L'àliga i els galls

La guineu i l'espí

La guineu i l'espí