One of the key points of the design was the use of natural light, with the condition that the natural lighting coming from the skylights could harmoniously blend with the artificial lighting. Finally, it was decided that LED lighting elements should be positioned at the meeting points of the pitches, capable of integrating completely into the ceiling and creating accents of light with a scenic impact
Attic transformed into living space. White and natural light to expand the rooms
CC Ark studio responded to a family's desire to expand the living spaces in their home by renovating an entire attic floor and transforming it into a home. The result is a space flooded with light that offers an excellent quality of life
- #Europe>
- #Italy>
- #Building recovery>
- #Residence>
- #Penthouse>
- #Wood>
- #Plaster>
- #Interior>
- #Interior Design>
Since the heights of the rooms were determined by the inclination of the pitches, we opted for the use of white as the primary color in each room, to make the spaces large and bright and to increase the visual perception of the environment. In addition, as well as creating a neutral surface for the furniture, white offers greater reflection and diffusion of natural light
To minimize expenses, it was decided that the existing furniture should be redesigned. The shower with the dual function of both as a shower and laundry room is located in an existing alcove in the attic. The staircase also enjoys natural light, thanks to the inclusion of glass panels. The floor is a natural oak parquet laid on the whole floor area
Gallery
Article by Alessia Raponi
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>