Sottotetto trasformato in spazio abitabile. Bianco e luce naturale per ampliare gli ambienti
Sottotetto trasformato in spazio abitabile. Bianco e luce naturale per ampliare gli ambienti

Sottotetto trasformato in spazio abitabile. Bianco e luce naturale per ampliare gli ambienti

Lo studio CC Ark accoglie il desiderio di una famiglia di ampliare gli spazi abitabili della propria casa, recuperando un intero piano del sottotetto e trasformandolo in un'abitazione. Il risultato è uno spazio inondato di luce che offre un'ottima qualità di vita

Uno dei punti chiave della progettazione è stato lo studio della luce naturale, con la prerogativa che l'illuminazione naturale proveniente dai lucernari riuscisse a dialogare armoniosamente con l'illuminazione artificiale. Infine si è scelto di posizionare corpi illuminanti led nei punti di giunzione delle falde, capaci di integrarsi completamente nel soffitto e di creare degli accenti di luce, con un impatto anche scenografico

Sottotetto trasformato in spazio abitabile. Bianco e luce naturale per ampliare gli ambienti

Essendo le altezze dei locali determinate dall'inclinazione delle falde, si è optato per l'uso del colore bianco come colore primario di ogni locale, per rendere gli spazi ampi e luminosi e per aumentare la percezione visiva degli ambiente. Inoltre, oltre che a offrire una superficie neutra per gli arredi, il bianco permette una maggiore riflessione e diffusione della luce naturale

Sottotetto trasformato in spazio abitabile. Bianco e luce naturale per ampliare gli ambienti

Per minimizzare le spese, si è scelto di ripensare l'arredo esistente.  La doccia, con la duplice funzione di doccia e lavanderia, trova collocazione in una nicchia già esistente nel sottotetto. La scala gode anch'essa di luce naturale, grazie all'inserimento di inserti vetrati. Il pavimento è un parquet di rovere naturale posato su tutta la metratura

Sottotetto trasformato in spazio abitabile. Bianco e luce naturale per ampliare gli ambienti

Gallery

Si è verificato un errore nell'elaborarazione del modello.
The following has evaluated to null or missing:
==> value_list[seq_index]  [in template "20101#20127#2776835" at line 127, column 62]

----
Tip: It's the final [] step that caused this error, not those before it.
----
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 key_value = value_list[seq_in...  [in template "20101#20127#2776835" at line 127, column 41]
----
1<#assign assetLinkLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetLinkLocalService") /> 
2<#assign assetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService") /> 
3<#assign journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") /> 
4<#assign groupLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.GroupLocalService") /> 
5 
6<#-- 
7Mostro il titolo del portlet qui 
8--> 
9<#assign languageId = themeDisplay.getLanguageId()> 
10<#assign propertyKey = "portletSetupTitle_"+languageId> 
11 
12<#assign title = ""> 
13<#assign counter = 1> 
14 
15<#if portletPreferences?has_content> 
16    <#list portletPreferences?keys as key> 
17     
18        <#if key == propertyKey> 
19            <#assign values = portletPreferences[key] /> 
20            <#if values?has_content> 
21                <#list values as value> 
22                    <#assign title = value> 
23                </#list> 
24            </#if> 
25        </#if> 
26     
27     </#list> 
28</#if> 
29 
30<#assign size = 0> 
31 
32<#list entries as curEntry> 
33    <#assign renderer = curEntry.getAssetRenderer() > 
34    <#assign className = renderer.getClassName() > 
35    <#if className == "com.liferay.journal.model.JournalArticle"> 
36        <#assign article = renderer.getArticle() > 
37         
38        <#assign currentArticleAssetEntryId = curEntry.getEntryId() /> 
39        <#assign currentArticleRelatedLinks = assetLinkLocalService.getDirectLinks(currentArticleAssetEntryId) /> 
40         
41        <#assign relatedDesigner = "" /> 
42         
43        <#list currentArticleRelatedLinks as related_entry> 
44         
45            <#assign relatedAssetEntryId = related_entry.getEntryId1() /> 
46             
47            <#assign relatedAssetEntry = assetEntryLocalService.getEntry(relatedAssetEntryId) /> 
48         
49            <#assign relatedGroup = groupLocalService.getGroup(relatedAssetEntry.groupId) /> 
50             
51            <#assign relatedAssetEntryPrimKey = relatedAssetEntry.getClassPK() /> 
52                 
53            <#assign relatedArticle = journalArticleLocalService.fetchLatestArticle(relatedAssetEntryPrimKey)!'' /> 
54                 
55            <#if relatedArticle?has_content> 
56                 
57                <#assign relatedArticleStructureKey = relatedArticle.getDDMStructure().getStructureKey() /> 
58                 
59                <#if relatedArticleStructureKey = "DESIGNER-PROFILE"> 
60                 
61                    <#assign size = size + 1> 
62                     
63                </#if> 
64                 
65            </#if> 
66        </#list> 
67    </#if> 
68</#list> 
69 
70<#if (size > 0) > 
71    <h2 class="portlet-title-text">${title}</h2> 
72</#if> 
73 
74<#-- un ARTICLE può essere legato a un DESIGNER, un COMPANY, un SHOWCASE --> 
75 
76<#list entries as curEntry> 
77 
78    <#assign renderer = curEntry.getAssetRenderer() > 
79    <#assign className = renderer.getClassName() > 
80    <#if className == "com.liferay.journal.model.JournalArticle"> 
81        <#assign article = renderer.getArticle() > 
82         
83        <#assign currentArticleAssetEntryId = curEntry.getEntryId() /> 
84        <#assign currentArticleRelatedLinks = assetLinkLocalService.getDirectLinks(currentArticleAssetEntryId) /> 
85         
86        <#assign relatedDesigner = "" /> 
87         
88        <#list currentArticleRelatedLinks as related_entry> 
89         
90            <#assign relatedAssetEntryId = related_entry.getEntryId1() /> 
91             
92            <#assign relatedAssetEntry = assetEntryLocalService.getEntry(relatedAssetEntryId) /> 
93         
94            <#assign relatedGroup = groupLocalService.getGroup(relatedAssetEntry.groupId) /> 
95             
96            <#assign relatedAssetEntryPrimKey = relatedAssetEntry.getClassPK() /> 
97                 
98            <#assign relatedArticle = journalArticleLocalService.fetchLatestArticle(relatedAssetEntryPrimKey)!'' /> 
99                 
100            <#if relatedArticle?has_content> 
101                 
102                <#assign relatedArticleStructureKey = relatedArticle.getDDMStructure().getStructureKey() /> 
103                 
104                <#if relatedArticleStructureKey = "DESIGNER-PROFILE"> 
105                 
106                    <#assign relatedDesigner = relatedArticle> 
107                     
108                </#if> 
109                 
110            </#if> 
111        </#list> 
112         
113        <#if relatedDesigner?has_content> 
114         
115            <#assign relatedArticleId = relatedDesigner.getArticleId() /> 
116            <#assign articleGroupId = relatedDesigner.getGroupId() > 
117            			 
118			<#assign designer = journalArticleLocalService.getArticle(articleGroupId, relatedArticleId) /> 
119			 
120			<#assign designerFriendlyURL = "" /> 
121			<#assign designerFirendlyURLMap = designer.getFriendlyURLMap() /> 
122			<#assign key_list = designerFirendlyURLMap?keys/> 
123			<#assign value_list = designerFirendlyURLMap?values/> 
124			<#list key_list as key> 
125				<#assign seq_index = key_list?seq_index_of(key) /> 
126				<#if seq_index != -1 > 
127					<#assign key_value = value_list[seq_index]/> 
128					<#if key == themeDisplay.getLocale()> 
129						<#-- assign designerFriendlyURL = stringUtil.replace(key_value, "/-/", "") --> 
130						<#assign designerFriendlyURL = key_value /> 
131					</#if> 
132				</#if> 
133			</#list> 
134						 
135			<#assign hasLinkDesigner = false /> 
136			<#if designerFriendlyURL != "" > 
137				<#assign hasLinkDesigner = articleLanguage.hasLanguageCategory(request, designer, themeDisplay.getScopeGroupId(), themeDisplay.getCompanyId(), 
138					"/arkitube", true) && articleLanguage.isFriendlyURLCorrectLanguage(request, designer, themeDisplay.getLanguageId(), 
139					designerFriendlyURL, themeDisplay.getScopeGroupId(), true, "/arkitube") /> 
140			</#if> 
141			 
142			<#assign cssClassWrappDesigner = "mb-4" /> 
143			<#if (counter < entries?size)> 
144                <#assign cssClassWrappDesigner = "mb-5" /> 
145            </#if> 
146			 
147			<div class="${cssClassWrappDesigner}"> 
148				<#if hasLinkDesigner> 
149					<a href="${assetPublisherHelper.getAssetViewURL(renderRequest, renderResponse, relatedAssetEntry, true)}"> 
150				</#if>	 
151						<@liferay_journal["journal-article"] 
152							articleId="${relatedDesigner.getArticleId()}" 
153							ddmTemplateKey="MINIMAL_DESIGNER_INFO" 
154							groupId=articleGroupId /> 
155				<#if hasLinkDesigner>			 
156					</a> 
157				</#if> 
158			</div> 
159         
160        </#if> 
161         
162    </#if> 
163	 
164	<#assign counter += 1> 
165</#list> 
0