Publicador de activos

Publicador de activos

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

Publicador de activos

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

Publicador de activos

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?

Publicador de activos

Se ha producido un error al procesar la plantilla.
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> 

Publicador de activos

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í