Breadcrumb

todos los productos script

Kategorije -

Kategorije -

Kategorije -

Дошло је до грешке приликом обраде темплејта.
The following has evaluated to null or missing:
==> categoriesUtil  [in template "20096#20121#69524" at line 81, column 60]

----
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: #assign entries = categoriesUtil.getC...  [in template "20096#20121#69524" in macro "treeview_item" at line 81, column 41]
	- Reached through: @treeview_item cssClassTreeItem="tree...  [in template "20096#20121#69524" at line 20, column 41]
	- Reached through: @liferay_ui.panel collapsible=true cs...  [in template "20096#20121#69524" at line 9, column 9]
	- Reached through: @liferay_ui["panel-container"] extend...  [in template "20096#20121#69524" at line 2, column 1]
----
1<#assign frequencyVisible = portletPreferences['frequenciesVisible'][0]?boolean/> 
2<@liferay_ui["panel-container"] 
3	extended=true 
4	id="${namespace + 'facetAssetCategoriesPanelContainer'}" 
5	markupView="lexicon" 
6	persistState=true 
7>	 
8	<#assign vocabularyNames = assetCategoriesSearchFacetDisplayContext.getVocabularyNames() /> 
9	<@liferay_ui.panel 
10		collapsible=true 
11		cssClass="search-facet search-facet-display-vocabulary" 
12		id="${namespace + 'facetAssetCategoriesPanel'}" 
13		markupView="lexicon" 
14		persistState=true 
15		title="subcategory" 
16
17		<#if vocabularyNames?has_content> 
18			<ul class="treeview treeview-light treeview-nested treeview-vocabulary-display" role="tree"> 
19				<#list vocabularyNames as vocabularyName> 
20					<@treeview_item 
21						cssClassTreeItem="tree-item-vocabulary" 
22						frequencyVisible=false 
23						id=vocabularyName 
24						termDisplayContexts=assetCategoriesSearchFacetDisplayContext.getBucketDisplayContexts(vocabularyName) 
25					/> 
26				</#list> 
27			</ul> 
28		</#if> 
29	</@> 
30</@> 
31<#macro treeview_item 
32	count = 0 
33	cssClassTreeItem = "" 
34	frequency = 0 
35	id = "" 
36	frequencyVisible = true 
37	name = "" 
38	selectable = false 
39	selected = false 
40	termDisplayContexts = "" 
41
42	<li class="treeview-item ${(count > 2 && !selected)?then('d-none', '')}" role="none" style=""> 
43		<#if name?has_content> 
44			<div 
45				class="treeview-link ${cssClassTreeItem}" 
46
47				<span class="c-inner" tabindex="-2"> 
48					<span class="autofit-row">						 
49						<span class="autofit-col autofit-col-expand"> 
50							<div class="input-check freq-${frequency}"> 
51								<label> 
52									<input 
53										autocomplete="off" 
54										${selected?then("checked", "")} 
55										class="input-filled ${(frequency != 0)?then('facet-term', '')}" 
56										data-term-id=${id} 
57										disabled="${(frequency != 0)?then('false', 'true')}" 
58										onChange="if (!isResponsive()) Liferay.Search.FacetUtil.changeSelection(event);" 
59										type="checkbox" 
60									/> 
61									<span class="category-label"> 
62										<span class="category-label-text"> 
63											${name} 
64										</span> 
65										<span class="category-label-frequency"> 
66											(${frequency}) 
67										</span> 
68									</span> 
69								</label> 
70							</div> 
71						</span> 
72			 
73					</span> 
74				</span> 
75			</div> 
76		</#if> 
77 
78		<#if termDisplayContexts?has_content> 
79			<div class="collapse show" id="${namespace}treeItem${id}"> 
80				<ul id="${namespace}subcategoryList" class="treeview-group" role="group"> 
81					<#assign entries = categoriesUtil.getCategoryItemsByParent(getterUtil.getLong(termDisplayContexts[0].getFilterValue()), locale, termDisplayContexts, frequencyVisible)/> 
82					<#list entries as termDisplayContext> 
83						<@treeview_item 
84							cssClassTreeItem="tree-item-category" 
85							frequency=termDisplayContext.getFrequency() 
86							frequencyVisible=termDisplayContext.isFrequencyVisible() 
87							id=termDisplayContext.getFilterValue() 
88							name=htmlUtil.escape(termDisplayContext.getBucketText()) 
89							selectable=true 
90							selected=termDisplayContext.isSelected() 
91							count = termDisplayContext?index 
92						/> 
93					</#list> 
94				</ul> 
95			</div> 
96			<#if (entries?size > 3) > 
97				<a id="${namespace}view_more" class="view-more" href="javascript:${namespace}viewMore()"> ${languageUtil.get(locale, 'view-more')}</a> 
98			</#if> 
99		</#if> 
100	</li> 
101</#macro> 
102 
103<@liferay_aui.script> 
104	function ${namespace}viewMore() { 
105		var subcategoryList = document.getElementById("${namespace}subcategoryList"); 
106		var lis = subcategoryList.getElementsByClassName("treeview-item"); 
107		for (var i = 0; i < lis.length; i++) { 
108			lis[i].classList.remove('d-none'); 
109
110		document.getElementById("${namespace}view_more").classList.add("d-none"); 
111
112</@> 

Kategorije -

Brend
Vidi više

Kategorije -

Kategorije -

Custom Facet

Дошло је до грешке приликом обраде темплејта.
The following has evaluated to null or missing:
==> cyclicaCommerceUtil  [in template "20096#20121#69514" at line 29, column 97]

----
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: #assign countryTitle = htmlUtil.escap...  [in template "20096#20121#69514" at line 29, column 57]
	- Reached through: @clay.button cssClass="${(entry.getFr...  [in template "20096#20121#69514" at line 22, column 49]
	- Reached through: @liferay_ui.panel collapsible=true cs...  [in template "20096#20121#69514" at line 7, column 9]
	- Reached through: @liferay_ui["panel-container"] extend...  [in template "20096#20121#69514" at line 1, column 1]
----
1<@liferay_ui["panel-container"] 
2	extended=true 
3	id="${namespace + 'facetAssetCategoriesPanelContainer'}" 
4	markupView="lexicon" 
5	persistState=true 
6
7	<@liferay_ui.panel 
8		collapsible=true 
9		cssClass="search-facet" 
10		id="${namespace + 'facetAssetCategoriesPanel'}" 
11		markupView="lexicon" 
12		persistState=true 
13		title="${customFacetDisplayContext.getDisplayCaption()}" 
14
15		<#if entries?has_content> 
16			<input class="country-input" id="${namespace}countryFilter" type="text" onClick="${namespace}showOptions()" onkeyup="${namespace}search()" placeholder="${languageUtil.get(locale, 'search-a-country')}"/> 
17			<ul id="${namespace}countryList" style="display:none" class="list-unstyled"> 
18				<#assign count = 0 /> 
19				<#list entries as entry> 
20					<#assign count = entry?index /> 
21					<li class="treeview-item facet-value ${(count > 2 && !entry.isSelected())?then('d-none', '')}"> 
22						<@clay.button 
23							cssClass="${(entry.getFrequency() != 0)?then('facet-term', '')} ${(entry.isSelected())?then('facet-term-selected', 'facet-term-unselected')} " 
24							data\-term\-id="${entry.getFilterValue()}" 
25							displayType="link" 
26							disabled="${(entry.getFrequency() != 0)?then('false', 'true')}" 
27							onClick="if (!isResponsive()) Liferay.Search.FacetUtil.changeSelection(event); else { $(this).toggleClass('facet-term-selected').toggleClass('facet-term-unselected')}" 
28
29							<#assign countryTitle = htmlUtil.escape(cyclicaCommerceUtil.getCountryByLetterCode(companyId, entry.getBucketText()).getTitle(locale)) /> 
30							<#if entry.isSelected()> 
31								<strong> 
32									${countryTitle} 
33								</strong> 
34							<#else> 
35								${countryTitle} 
36							</#if> 
37							<#if entry.isFrequencyVisible()> 
38								<small class="term-count"> 
39									(${entry.getFrequency()}) 
40								</small> 
41							</#if> 
42						</@clay.button> 
43					</li> 
44				</#list> 
45			</ul> 
46			<#if (entries?size > 3) > 
47				<a id="${namespace}view_more" class="view-more" href="javascript:${namespace}viewMore()"> ${languageUtil.get(locale, 'view-more')}</a> 
48			</#if> 
49		</#if> 
50	</@> 
51</@> 
52 
53 
54<@liferay_aui.script> 
55 
56	function ${namespace}showOptions(){ 
57		var countryList = document.getElementById("${namespace}countryList"); 
58		countryList.style.display = ""; 
59
60 
61	function ${namespace}search() { 
62		var text = document.getElementById("${namespace}countryFilter").value.toUpperCase(); 
63		var countryList = document.getElementById("${namespace}countryList"); 
64		var lis = countryList.getElementsByClassName("treeview-item"); 
65		for (var i = 0; i < lis.length; i++) { 
66			var txtValue = lis[i].textContent || lis[i].innerText; 
67			if (normalizeText(txtValue).includes(normalizeText(text))){ 
68				console.log(lis[i].classList.contains('d-none') == true); 
69				if(lis[i].classList.contains('d-none') == true){ 
70					lis[i].style.cssText = "display: block !important"; 
71				} else{ 
72					lis[i].style.display = ""; 
73
74			} else{ 
75				lis[i].style.display = "none"; 
76
77			if (text == ""){ 
78				lis[i].style.display = ""; 
79
80
81
82	 
83	function normalizeText(s) { 
84		var accent_map = {'á':'a', 'é':'e', 'è':'e', 'í':'i','ó':'o','ú':'u','Á':'a', 'É':'e', 'è':'e', 'Í':'i','Ó':'o','Ú':'u'}; 
85		if (!s) { return ''; } 
86		var ret = ''; 
87		for (var i = 0; i < s.length; i++) { 
88			ret += accent_map[s.charAt(i)] || s.charAt(i); 
89
90		return ret.toUpperCase(); 
91
92 
93	function ${namespace}viewMore() { 
94		var countryList = document.getElementById("${namespace}countryList"); 
95		var lis = countryList.getElementsByClassName("treeview-item"); 
96		for (var i = 0; i < lis.length; i++) { 
97			lis[i].classList.remove('d-none'); 
98
99		document.getElementById("${namespace}view_more").classList.add("d-none"); 
100
101</@> 

Botón ver resultados para la grid responsive

Banner repuestos EN