Friday 17/04/2026

Asset Publisher

An error occurred while processing the template.
The following has evaluated to null or missing:
==> saxReaderUtil.read(journalArticle.getContent())  [in template "20101#20129#35915" at line 6, column 25]

----
Tip: If the failing expression is known to be 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: #assign document = saxReaderUtil.read...  [in template "20101#20129#35915" at line 6, column 5]
----
1<#assign assetRenderer=entry.getAssetRenderer() /> 
2<#assign className = assetRenderer.getClassName()/> 
3<#assign bannerContent=""/> 
4<#if className="com.liferay.journal.model.JournalArticle"> 
5    <#assign journalArticle = assetRenderer.getArticle() /> 
6    <#assign document = saxReaderUtil.read(journalArticle.getContent())/> 
7    <#assign rootElement = document.getRootElement() /> 
8     <#list rootElement.elements()  as dynamicElement> 
9        <#if "banner_content" = dynamicElement.attributeValue("name")> 
10            <#assign bannerContent=dynamicElement.element("dynamic-content").getText()/> 
11	    </#if> 
12    </#list> 
13</#if> 
14<marquee scrolldelay="200" onmouseover="this.stop();" onmouseout="this.start();"> 
15    <p>${bannerContent}</p> 
16</marquee> 

Language Selector

Home

Asset Publisher

An error occurred while processing the template.
The following has evaluated to null or missing:
==> saxReaderUtil.read(journalArticle.getContent())  [in template "20101#20129#42622" at line 16, column 33]

----
Tip: If the failing expression is known to be 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: #assign document = saxReaderUtil.read...  [in template "20101#20129#42622" at line 16, column 13]
----
1<#-- 
2Widget templates can be used to modify the look of a 
3specific application. 
4 
5Please use the left panel to quickly add commonly used variables. 
6Autocomplete is also available and can be invoked by typing "${". 
7--> 
8<#if entries?has_content> 
9	<#assign index=0/>	 
10	<#list entries as curEntry> 
11	    <#assign renderer=curEntry.getAssetRenderer() /> 
12	    <#assign className = renderer.getClassName()/> 
13	    <#assign video_link=""/> 
14	    <#if className="com.liferay.journal.model.JournalArticle"> 
15            <#assign journalArticle = renderer.getArticle() /> 
16            <#assign document = saxReaderUtil.read(journalArticle.getContent())/> 
17            <#assign viewURL = assetPublisherHelper.getAssetViewURL(renderRequest, renderResponse, curEntry) /> 
18	       <#assign smallImage=journalArticle.getSmallImageURL()/> 
19	       <#assign rootElement = document.getRootElement() /> 
20            <#list rootElement.elements()  as dynamicElement> 
21             <#if "video_link" = dynamicElement.attributeValue("name")> 
22                <#assign video_link=dynamicElement.element("dynamic-content").getText()/> 
23	        </#if> 
24                
25            </#list> 
26            <#if index==0> 
27    	        <div class="phim_tu_lieu mb-25"> 
28			        <div class="video-post-area"> 
29			            <div class="single-video-post"> 
30			                <img src="${renderer.getThumbnailPath(renderRequest)}" alt="${curEntry.getTitle(locale)}"> 
31			                <div class="videobtn"> 
32			                    <h4> 
33			                        <a data-fancybox="" href="${video_link}">${curEntry.getTitle(locale)}</a> 
34			                    </h4> 
35			                </div> 
36			            </div> 
37			        </div> 
38			    </div> 
39    	     </#if> 
40    	     <#if index == 1> 
41    	        <div class="row gutters_025 mt-2"> 
42    	            <div class="col-3"> 
43    	                <div class="img_sub"> 
44                	         <a data-fancybox   class="gallery" href="${video_link}"> 
45                	                <img src="${renderer.getThumbnailPath(renderRequest)}" alt="${curEntry.getTitle(locale)}"> 
46                	           </a> 
47                	     </div> 
48                	 </div> 
49    	     </#if> 
50    	     <#if index gt 1> 
51    	        <div class="col-3"> 
52    	                <div class="img_sub"> 
53                	         <a data-fancybox   class="gallery" href="${video_link}"> 
54                	                <img src="${renderer.getThumbnailPath(renderRequest)}" alt="${curEntry.getTitle(locale)}"> 
55                	           </a> 
56                	     </div> 
57                </div> 
58    	     </#if> 
59    		<#assign index=index+1/> 
60	     
61	 
62		</#if> 
63	</#list> 
64</#if> 

Asset Publisher

An error occurred while processing the template.
The following has evaluated to null or missing:
==> saxReaderUtil.read(journalArticle.getContent())  [in template "20101#20129#43122" at line 19, column 41]

----
Tip: If the failing expression is known to be 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: #assign document = saxReaderUtil.read...  [in template "20101#20129#43122" at line 19, column 21]
----
1<#-- 
2Widget templates can be used to modify the look of a 
3specific application. 
4 
5Please use the left panel to quickly add commonly used variables. 
6Autocomplete is also available and can be invoked by typing "${". 
7--> 
8<div class="lien_ket_website"> 
9    <div class="form-group"> 
10        <select onchange="if (this.value) window.location.href=this.value"> 
11            <option>-- Chọn liên kết --</option> 
12            <#if entries?has_content> 
13            <#list entries as entry> 
14        	    <#assign link_address=""/> 
15        		<#assign assetRenderer=entry.getAssetRenderer() /> 
16                <#assign className = assetRenderer.getClassName()/> 
17                <#if className="com.liferay.journal.model.JournalArticle"> 
18                    <#assign journalArticle = assetRenderer.getArticle() /> 
19                    <#assign document = saxReaderUtil.read(journalArticle.getContent())/> 
20                    <#assign rootElement = document.getRootElement() /> 
21                    <#list rootElement.elements()  as dynamicElement> 
22                        <#if "link_address" = dynamicElement.attributeValue("name")> 
23                            <#assign link_address=dynamicElement.element("dynamic-content").getText()/> 
24            	        </#if> 
25            	         
26                    </#list> 
27                    <option value="${link_address}">${entry.getTitle(locale)}</option> 
28                </#if> 
29                
30            	</#list> 
31            	 
32            </#if> 
33        </select> 
34    </div> 
35</div> 

Navigation Menu

Asset Publisher

An error occurred while processing the template.
The following has evaluated to null or missing:
==> saxReaderUtil.read(journalArticle.getContent())  [in template "20101#20129#37538" at line 16, column 61]

----
Tip: If the failing expression is known to be 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: #assign document = saxReaderUtil.read...  [in template "20101#20129#37538" at line 16, column 41]
----
1<div class="zone_box"> 
2    <div class="khung_box_bt"> 
3        <div class="content"> 
4            <div id="right-banners"> 
5                <#if entries?has_content> 
6                         
7                                <#list entries as entry> 
8                                    <#assign banner_name=""/> 
9                                    <#assign banner_image=""/> 
10                                    <#assign banner_address=""/> 
11                                    <#assign bannerUrl=""/> 
12                                    <#assign assetRenderer=entry.getAssetRenderer() /> 
13                                    <#assign className = assetRenderer.getClassName()/> 
14                                    <#if className="com.liferay.journal.model.JournalArticle"> 
15                                        <#assign journalArticle = assetRenderer.getArticle() /> 
16                                        <#assign document = saxReaderUtil.read(journalArticle.getContent())/> 
17                                        <#assign rootElement = document.getRootElement() /> 
18                                            <#list rootElement.elements()  as dynamicElement> 
19                                                <#if "banner_name" = dynamicElement.attributeValue("name")> 
20                                                    <#assign banner_name=dynamicElement.element("dynamic-content").getText()/> 
21                                                </#if> 
22                                                <#if "banner_image" = dynamicElement.attributeValue("name")> 
23                                                    <#assign banner_image=dynamicElement.element("dynamic-content").getText()/> 
24                                                    <#assign imgJson = jsonFactoryUtil.createJSONObject(banner_image)> 
25                                                    <#assign bannerUrl = "/documents/"+ imgJson.groupId +"/" +imgJson.fileEntryId +"/"+ imgJson.name +"/"+imgJson.uuid > 
26                                                </#if> 
27                                                <#if "banner_address" = dynamicElement.attributeValue("name")> 
28                                                    <#assign banner_address=dynamicElement.element("dynamic-content").getText()/> 
29                                                </#if> 
30                                            </#list> 
31                                            <div class="swiper-slide"> 
32                                                <a href="${banner_address}" title="${banner_name}" target="_blank"> 
33                                                    <img src="${bannerUrl}">         
34                                             
35                                                </a> 
36                                            </div> 
37                                        </#if> 
38                                </#list> 
39                                 
40                         
41                    </#if> 
42            </div> 
43                 
44        </div> 
45         
46    </div> 
47     
48</div>