Produits et services
Chargement en cours...
Chargement en cours...
Chargement en cours...
152 produits disponibles
Chargement en cours...
Une erreur s'est produite lors du traitement du gabarit.
The following has evaluated to null or missing: ==> cpd.getURL("fr_FR") [in template "20099#20135#146274" at line 35, column 83] ---- 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: friendlyUrl = themeDisplay.getURLPort... [in template "20099#20135#146274" at line 35, column 33] - Reached through: #assign-container [in template "20099#20135#146274" at line 31, column 13] ----
1<#import "${templatesPath}/UTIL" as util>
2<#import "${templatesPath}/UTIL_COMMERCE" as util_commerce>
3
4<#assign
5 CPDefinitionLocalService=serviceLocator.findService("com.liferay.commerce.product.service.CPDefinitionLocalService")
6 CPInstanceLocalService=serviceLocator.findService("com.liferay.commerce.product.service.CPInstanceLocalService")
7>
8
9<#if entries?has_content>
10 <div class="minium-product-tiles">
11 <#list entries as cpCatalogEntry>
12 <#assign
13 cpDefinitionId=cpCatalogEntry.getCPDefinitionId()
14 cpSkus=cpCatalogEntry.getCPSkus()
15 quantityInputId=renderResponse.getNamespace() + cpDefinitionId + "Quantity"
16 cpd=CPDefinitionLocalService.getCPDefinition(cpDefinitionId)
17 >
18
19 <#if cpSkus?? && (cpSkus?size > 0)>
20 <#assign
21 cpSku=cpSkus[0]!""
22 cpInstanceId=cpSku.CPInstanceId
23 cpi=CPInstanceLocalService.getCPInstance(cpInstanceId)
24 >
25 <#else>
26 <script>
27 console.log("${cpDefinitionId}");
28 </script>
29 </#if>
30
31 <#assign
32 cProductClassNameId=util.getClassNameId("com.liferay.commerce.product.model.CProduct")
33 assetEntry=util_commerce.getAssetEntry(cpDefinitionId)
34
35 friendlyUrl=themeDisplay.getURLPortal() + "/p/" + cpd.getURL("fr_FR")
36
37 categoriesNames=util_commerce.getCategoriesNames(cpDefinitionId)
38 isFormation=util_commerce.contains(categoriesNames,"Formations")
39 isPublication=util_commerce.contains(categoriesNames,"Publications")
40 isOutil=util_commerce.contains(categoriesNames,"Outils")
41 isPrestation=util_commerce.contains(categoriesNames,"Prestations")
42 >
43
44 <div class="minium-product-tiles__item">
45 <div class="catalog-card-page col-lg-6 col-md-6 col-sm-6 col-xl-4 col-xs-12">
46 <div class="card">
47 <#list assetEntry.getCategories() as cat>
48 <#if cat.isRootCategory()>
49 <div class="etiquette">
50 <span class="${cat.name?lower_case}">${cat.name}</span>
51 </div>
52 </#if>
53 </#list>
54 <div class="product-image-container">
55 <a href="${friendlyUrl}">
56 <img class="product-image lozad" data-src="${cpCatalogEntry.defaultImageFileUrl}"></img>
57 <noscript>
58 <img class="product-image" src="${cpCatalogEntry.defaultImageFileUrl}"></img>
59 </noscript>
60 </a>
61 </div>
62
63 <div class="product-expand">
64 <p class="card-subtitle product-sku">UGS : default</p>
65 <div class="card-title">
66 <a href="${friendlyUrl}">${cpCatalogEntry.name}</a>
67 </div>
68 <div class="bouton-detail ">
69 <a class="btn btn-primary text-white" href="${friendlyUrl}">Détails</a>
70 </div>
71 </div>
72
73 <#--
74 <div class="product-footer">
75 <div class="product-actions">
76 <div class="product-price">
77 <span class="commerce-price">
78 <@liferay_commerce["price"]
79 CPDefinitionId=cpDefinitionId
80 CPInstanceId=cpi.getCPInstanceId()
81 />
82 </span>
83 <span class="commerce-subscription-info"> </span>
84 </div>
85
86 <div class="autofit-row">
87 <div class="autofit-col">
88 <@liferay_commerce["quantity-input"]
89 CPDefinitionId=cpDefinitionId
90 useSelect=false
91 value=1
92 />
93 </div>
94 <div class="autofit-col autofit-col-expand">
95 <div id="yokh">
96 <@liferay_commerce_cart["add-to-cart"]
97 CPDefinitionId=cpDefinitionId
98 CPInstanceId=cpi.getCPInstanceId()
99 elementClasses="btn-block
100 btn-primary text-truncate"
101 taglibQuantityInputId=quantityInputId
102 />
103 </div>
104 </div>
105 </div>
106 </div>
107
108 <div class="product-subactions">
109 <div class="autofit-row">
110 <div class="autofit-col autofit-col-expand">
111 <div class="product-list-info-compare">
112 <div class="commerce-compare-product-container">
113 <form
114 action="https://qualif-terresinovia.adventiel.com/produits-et-services?p_p_id=com_liferay_commerce_product_content_web_internal_portlet_CPCompareContentPortlet&p_p_lifecycle=1&p_p_state=normal&p_p_mode=view&_com_liferay_commerce_product_content_web_internal_portlet_CPCompareContentPortlet_javax.portlet.action=editCompareProduct&p_auth=ZXcvwU6r&p_p_auth=CjzMppmb"
115 class="form "
116 data-fm-namespace="_com_liferay_commerce_product_content_web_internal_portlet_CPCompareContentPortlet_"
117 id="_com_liferay_commerce_product_content_web_internal_portlet_CPCompareContentPortlet_mkhn_Fm"
118 method="post"
119 name="_com_liferay_commerce_product_content_web_internal_portlet_CPCompareContentPortlet_mkhn_Fm" >
120 <input class="field form-control" id="_com_liferay_commerce_product_content_web_internal_portlet_CPCompareContentPortlet_formDate" name="_com_liferay_commerce_product_content_web_internal_portlet_CPCompareContentPortlet_formDate" type="hidden" value="1549531302847">
121 <input class="field form-control" id="_com_liferay_commerce_product_content_web_internal_portlet_CPCompareContentPortlet_redirect" name="_com_liferay_commerce_product_content_web_internal_portlet_CPCompareContentPortlet_redirect" type="hidden" value="/produits-et-services">
122 <input class="field form-control" id="_com_liferay_commerce_product_content_web_internal_portlet_CPCompareContentPortlet_cpDefinitionId" name="_com_liferay_commerce_product_content_web_internal_portlet_CPCompareContentPortlet_cpDefinitionId" type="hidden" value="166472">
123 <div class="form-group form-inline input-checkbox-wrapper">
124 <label for="_com_liferay_commerce_product_content_web_internal_portlet_CPCompareContentPortlet_166472Compare">
125 <input class="field" id="_com_liferay_commerce_product_content_web_internal_portlet_CPCompareContentPortlet_166472Compare" name="_com_liferay_commerce_product_content_web_internal_portlet_CPCompareContentPortlet_166472Compare" onclick="this.form.submit();" type="checkbox">
126 Comparer
127 </label>
128 </div>
129 <input class="field form-control" id="_com_liferay_commerce_product_content_web_internal_portlet_CPCompareContentPortlet_checkboxNames" name="_com_liferay_commerce_product_content_web_internal_portlet_CPCompareContentPortlet_checkboxNames" type="hidden" value="166472Compare">
130 </form>
131 </div>
132 </div>
133 </div>
134 </div>
135 </div>
136 </div>
137 -->
138 </div>
139 </div>
140 </div>
141 </#list>
142 </div>
143</#if>