I NOSTRI TEST
Dati semplici per un'analisi complessa
Le analisi Wellmicro® sono eseguite mediante la forma più evoluta di metagenomica, ovvero lo Shotgun Sequencing che prevede il sequenziamento dell'intero genoma di tutti gli organismi presenti in un campione. Il campionamento non è invasivo. Il report è intuitivo e viene generato dall'elaborazione dei dati con le più innovative analisi bioinformatiche. L'analisi Wellmicro® permette di conoscere la composizione del tuo microbiota valutandone il possibile impatto sullo stato di salute della persona.
An error occurred while processing the template.
The following has evaluated to null or missing: ==> curCPCatalogEntry.getUrl() [in template "20097#20123#42467" at line 19, column 26] ---- 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 Url = curCPCatalogEntry.getUrl() [in template "20097#20123#42467" at line 19, column 13] ----
1<#-- --- WM-ADT-ProductPlus ver. 1.6 --- -->
2<#-- ------ copyright ACSoftware ------ -->
3<#-- -- written by Mattia Giovinazzo -- -->
4
5<#assign portal_url = themeDisplay.getPortalURL() />
6<#assign is_signed_in = themeDisplay.isSignedIn()/>
7<#assign RoleService = serviceLocator.findService("com.liferay.portal.kernel.service.RoleLocalService") />
8<#assign UserLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.UserLocalService")>
9<#assign usrRole = RoleService.getRole(companyId, "PRO_USER").getRoleId() />
10<#assign usrRoleAdmin = RoleService.getRole(companyId, "Administrator").getRoleId() />
11<#assign usrRoleFarmacia = RoleService.getRole(companyId, "FARMACIA").getRoleId() />
12<#assign usrRoleCentroMedico = RoleService.getRole(companyId, "CENTRO_MEDICO").getRoleId() />
13
14<div class="row product-shop">
15 <#if entries?has_content>
16 <#list entries as curCPCatalogEntry>
17 <#assign Image=curCPCatalogEntry.getDefaultImageFileUrl() />
18 <#assign Name=curCPCatalogEntry.getName() />
19 <#assign Url=curCPCatalogEntry.getUrl() />
20 <#assign Description=curCPCatalogEntry.getShortDescription() />
21 <#assign ItemId=curCPCatalogEntry.getCPDefinitionId() />
22 <#assign Skus=curCPCatalogEntry.getCPSkus() />
23 <#list Skus as sku>
24 <#assign sku = sku.getSku() />
25 </#list>
26 <#if sku != "GTP_VG_REP_MET">
27 <div class="<#if UserLocalService.hasRoleUser(usrRole, themeDisplay.getUserId()) || UserLocalService.hasRoleUser(usrRoleAdmin, themeDisplay.getUserId()) || UserLocalService.hasRoleUser(usrRoleCentroMedico, themeDisplay.getUserId()) || UserLocalService.hasRoleUser(usrRoleFarmacia, themeDisplay.getUserId())>col-md-3<#else>col-md-4</#if>">
28 <div class="wm-CardShop">
29 <div class="card ico v-center aniHover">
30
31 <div class="content-top">
32 <span class="card-top">
33 <img class="card-img" title="" alt="" src="${Image}" />
34 </span>
35 <h3 class="card-title">${Name}</h3>
36 </div>
37
38 <span class="card-box">
39 <div class="card-desc">${Description} </div>
40 <div class="mt-auto">
41
42 <div class="price">
43 <@liferay_commerce["price"]
44 CPDefinitionId=curCPCatalogEntry.getCPDefinitionId()
45 CPInstanceId=curCPCatalogEntry.CPSkus[0].getCPInstanceId()
46 showDiscount=true
47 /> <sup>*</sup>
48 <div class="price-info">*spese di spedizione incluse</div>
49 </div>
50
51 <span class="button-container">
52 <a data-senna-off="true" class="button-vm" href="${portal_url}/p/${Name}" title="RICHIESTA ANALISI">RICHIESTA ANALISI</a>
53 </span>
54 </div>
55 </span>
56
57 </div>
58 </div>
59
60 </div>
61 <#else>
62 <#if UserLocalService.hasRoleUser(usrRole, themeDisplay.getUserId()) || UserLocalService.hasRoleUser(usrRoleAdmin, themeDisplay.getUserId()) || UserLocalService.hasRoleUser(usrRoleCentroMedico, themeDisplay.getUserId()) || UserLocalService.hasRoleUser(usrRoleFarmacia, themeDisplay.getUserId())>
63 <div class="col-md-3">
64 <div class="wm-CardShop">
65 <div class="card ico v-center aniHover">
66 <div class="content-top">
67 <span class="card-top">
68 <img class="card-img" title="" alt="" src="${Image}" />
69 </span>
70 <h3 class="card-title">${Name}</h3>
71 </div>
72
73 <span class="card-box">
74
75 <div class="card-desc">${Description}</div>
76 <div class="mt-auto">
77
78 <div class="price">
79 <@liferay_commerce["price"]
80 CPDefinitionId=curCPCatalogEntry.getCPDefinitionId()
81 CPInstanceId=curCPCatalogEntry.CPSkus[0].getCPInstanceId()
82 showDiscount=true
83 /> <sup>*</sup>
84 <div class="price-info">*spese di spedizione incluse</div>
85 </div>
86
87 <span class="button-container">
88 <a data-senna-off="true" class="button-vm" href="${portal_url}/p/${Name}" title="RICHIESTA ANALISI">RICHIESTA ANALISI</a>
89 </span>
90 </div>
91 </span>
92
93 </div>
94 </div>
95
96 </div>
97 </#if>
98 </#if>
99
100 </#list>
101 </#if>
102</div>
103
104<style>
105.card-desc .row {
106display:block;
107margin:0;
108}
109.card-desc .col-md-6 {
110max-width:100%!important;
111}
112.card-desc .pr-md-3, .pl-md-3 {
113padding:0!important;
114}
115</style>
116<script>
117AUI().use('aui-base', function(A) {
118if (A.one('.product-shop')) {
119var boxMax = 0;
120 var descMax = 0;
121 A.one('.product-shop').all('.content-top').each(
122 function(node) {
123var boxHeight = node.height();
124if(boxHeight > boxMax){
125boxMax = boxHeight;
126}
127 }
128 );
129 A.one('.product-shop').all('.content-top').each(
130 function(node) {
131node.setStyle('height', boxMax);
132}
133 );
134 A.one('.product-shop').all('.card-desc').each(
135 function(node) {
136var boxHeight = node.innerHeight();
137if(boxHeight > descMax){
138descMax = boxHeight;
139}
140 }
141 );
142 A.one('.product-shop').all('.card-desc').each(
143 function(node) {
144node.setStyle('height', descMax);
145}
146 );
147 }
148 });
149</script>