Óptica OMB

El estudio Artspazios tomó como desafío principal para esta obra capturar la esencia única y exclusiva de OMB, una marca con una trayectoria de más de 40 años. Su enfoque se centró en crear una experiencia que trascendiera la simple compra de gafas. En lugar de solo vender un producto, construyeron una narrativa completa para el cliente a través de lo que transmite el espacio. Cada detalle de este centro óptico ubicado en la ciudad portuguesa de Viseu parece ser un reflejo de la visión de la marca. Para dar vida a esta atmósfera moderna y acogedora, utilizaron materiales como el Fibraplast Nogal Victoria en acabado Mesura, el Creta Marfil o el Azul Eo, ambos en acabado Teide. Se pueden identificar en aplicaciones como el panelado, mobiliario, mostrador o mueble expositor.

Aplicación: Panelados, mobiliario, mostrador y mueble expositor
Productos: Fibraplast Nogal Victoria Mesura, Creta Marfil Teide y Azul Eo Teide


地方
  • Viseu, Portugal
  • 2024
architects
  • Artspazios
处理模板时发生错误。
The following has evaluated to null or missing:
==> item.getLocalizations()[locale]  [in template "20097#20123#37296" at line 36, column 58]

----
Tip: It's the final [] step that caused this error, not those before it.
----
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 title = item.getLocalizations...  [in template "20097#20123#37296" at line 36, column 41]
----
1<#assign articleService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService")> 
2 
3<section class="finsa-carrusel-miniaturas-full"> 
4<div class="finsa-carrusel-miniaturas"> 
5   <div class="finsa-carrusel-miniaturas-main owl-carousel owl-theme"> 
6        <#if designImage.getSiblings()?has_content> 
7        	<#list designImage.getSiblings() as cur_designImage> 
8        		<#if (cur_designImage.getData())?? && cur_designImage.getData() != ""> 
9        			 
10        			<div class="item"> 
11                        <img class="finsa-item-main-img" alt="${cur_designImage.getAttribute("alt")}" src="${cur_designImage.getData()}" /> 
12                        <p class="finsa-item-main-text"> 
13                            ${cur_designImage.designText.getData()} 
14                        </p> 
15                    </div> 
16        		</#if> 
17        	</#list> 
18        </#if> 
19   </div> 
20   <div class="finsa-secondary-wrapper"> 
21        <#if designImage.getSiblings()?has_content> 
22        	<#list designImage.getSiblings() as cur_designImage> 
23        		<#if (cur_designImage.getData())?? && cur_designImage.getData() != ""> 
24        			<div id="carruselTab${cur_designImage?index+1}" <#if (cur_designImage?index > 0)> class="d-none" </#if>> 
25                     <ul class="finsa-carrusel-miniaturas-secondary owl-carousel owl-theme"> 
26                        <#if cur_designImage.diseno?has_content && cur_designImage.diseno.getSiblings()?has_content> 
27                        	<#list cur_designImage.diseno.getSiblings() as cur_designImage_diseno> 
28                        	    <#assign decoByCode = decorativoDataHolder.getDecorativosByCode()> 
29                        	    <#assign transByCode = transformadosDataHolder.getTransformadosByCode()> 
30                        	    <#assign soporteByCode = techDataHolder.getSoportesByCode()> 
31                        	    <#assign code = cur_designImage_diseno.getData()?lower_case> 
32                        	     
33                        	    <#assign item = ""> 
34                        	    <#if decoByCode[code]?has_content> 
35                        	        <#assign item = decoByCode[code]> 
36                        	        <#assign title = item.getLocalizations()[locale].getNombre()> 
37                        	        <#assign itemDescription = item.getLocalizations()[locale].getDescripcion()> 
38                        	    <#elseif transByCode[code]?has_content> 
39                        	        <#assign item = transByCode[code]> 
40                        	        <#assign title = item.getLocalizations()[locale].getNombre()> 
41                        	        <#assign itemDescription = item.getLocalizations()[locale].getDescripcion()> 
42                        	    <#elseif soporteByCode[code]?has_content> 
43                        	        <#assign item = soporteByCode[code]> 
44                        	        <#assign title = item.getLocalizations()[locale].getWebName()> 
45                        	        <#assign itemDescription = item.getLocalizations()[locale].getWebDescription()> 
46                        	    </#if> 
47                        	     
48                        	    <#if itemDescription?has_content && (itemDescription?length > 50)> 
49                        	        <#assign itemDescription = itemDescription[0..50] + "..."> 
50                        	    </#if> 
51                        	     
52                        	    <#if item?has_content> 
53                        	        <li class="finsa-carrusel-miniaturas-secondary__slide"> 
54                                       <div class="finsa-carrusel-miniaturas-secondary__container"> 
55                                          <img class="finsa-carrusel-miniaturas-secondary__img" src="${item.getBinarios().getImagenSelector()!"#"}" alt=""> 
56                                          <h3 class="finsa-carrusel-miniaturas-secondary__title">${title}</h3> 
57                                          <p class="finsa-carrusel-miniaturas-secondary__text">${itemDescription?replace("\\n", "<br>")}</p> 
58                                       </div> 
59                                       <a class="finsa-carrusel-miniaturas-secondary__link" href="/${themeDisplay.getLocale().toString()?split('_')[0]}/fp/${item.getLocalizations()[locale].getFriendlyURL()!""}"> 
60                                          ${languageUtil.get(locale, "view-design")} 
61                                          <svg width="6" height="13" viewBox="0 0 6 13" fill="none" xmlns="http://www.w3.org/2000/svg"> 
62                                             <path d="M5.17957 6.52344L1 12.0464" stroke="#CE0E2D" stroke-linecap="round" stroke-linejoin="round"/> 
63                                             <path d="M1.00012 1L5.17969 6.52301" stroke="#CE0E2D" stroke-linecap="round" stroke-linejoin="round"/> 
64                                          </svg> 
65                                       </a> 
66                                    </li> 
67                        	    </#if> 
68 
69                        	</#list> 
70                        </#if> 
71                         
72                         
73                         
74                     </ul> 
75                  </div> 
76        		</#if> 
77        	</#list> 
78        </#if> 
79       
80       
81 
82	 </div> 
83	 </div> 
84</section> 
85<script> 
86    if (!$(".page-editor")[0]){ 
87       item = $('.finsa-carrusel-miniaturas-secondary__slide') 
88       $(item).css("cursor", "pointer") 
89    	$(item).on("click", function (e) { 
90    		link = $(this).find('a').attr('href') 
91    		window.location = link; 
92    	}); 
93
94</script> 
处理模板时发生错误。
The following has evaluated to null or missing:
==> item.getLocalizations()[locale]  [in template "20097#20123#37328" at line 21, column 34]

----
Tip: It's the final [] step that caused this error, not those before it.
----
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 title = item.getLocalizations...  [in template "20097#20123#37328" at line 21, column 17]
----
1<#assign articleService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService")> 
2<section class="finsa-carrusel-soporte"> 
3   <div class=" finsa-carrusel-soporte__carrusel owl-carousel owl-theme"> 
4   <#if soporte?has_content && soporte.getSiblings()?has_content> 
5        <#assign decoByCode = decorativoDataHolder.getDecorativosByCode()> 
6	    <#assign transByCode = transformadosDataHolder.getTransformadosByCode()> 
7	    <#assign soporteByCode = techDataHolder.getSoportesByCode()> 
8	     
9    	<#list soporte.getSiblings() as cur_soporte> 
10    	    <#assign code = cur_soporte.getData()?lower_case> 
11 
12    		<#assign item = ""> 
13    	    <#if decoByCode[code]?has_content> 
14    	        <#assign item = decoByCode[code]> 
15    	        <#assign title = item.getLocalizations()[locale].getNombre()> 
16    	    <#elseif transByCode[code]?has_content> 
17    	        <#assign item = transByCode[code]> 
18    	        <#assign title = item.getLocalizations()[locale].getNombre()> 
19    	    <#elseif soporteByCode[code]?has_content> 
20    	        <#assign item = soporteByCode[code]> 
21    	        <#assign title = item.getLocalizations()[locale].getWebName()> 
22    	    </#if> 
23    	     
24    	    <#if item?has_content> 
25        	     <div class="finsa-carrusel-soporte__item item"> 
26                 <img class="finsa-carrusel-soporte-img" src="${item.getBinarios().getImagenDecorativoBase()!"#"}" alt=""> 
27                 <h3 class="finsa-carrusel-soporte-title"> 
28                 ${title} 
29                 </h3> 
30                 <div class="finsa-carrusel-soporte-button-wrapper"> 
31                    <a href="/${(themeDisplay.getLocale().toString()?split('_')[0])}/fp/${item.getLocalizations()[locale].getFriendlyURL()!""}" class="finsa-button finsa-button--dark"> 
32                    ${languageUtil.get(locale, "view-product")} 
33                    </a> 
34                 </div> 
35                </div> 
36    	    </#if> 
37    	</#list> 
38    </#if> 
39     
40       
41   </div> 
42</section> 
43<script> 
44    if (!$(".page-editor")[0]){ 
45       item = $('.finsa-carrusel-soporte__item') 
46       $(item).css("cursor", "pointer") 
47    	$(item).on("click", function (e) { 
48    		link = $(this).find('a').attr('href') 
49    		window.location = link; 
50    	}); 
51
52</script> 

more-works

Diseño, tecnología, flexibilidad y variedad de gamas.

Aquí tienes otros ejemplos del sector retail para inspirarte en distintas aplicaciones de productos derivados de madera: horizontales, verticales o estructurales.