This old building needed renovation to increase comfort, to increase space and to adapt to the needs of the new tenants. The architects' proposal is part of a Direct Recycling project that reflects on how architectural design can offer a recycling experience
House by the sea in Spain. A container as an expansion and the luxury of the lagoon view
A small fishing house in the front line on a salt lake in the south of Spain was the perfect place to experience a new life, fulfilling the dream of the new owners, to live by the sea. The project envisages a low cost expansion thanks to the use of a container
- #Europe>
- #Spain>
- #Architectures>
- #Villa>
- #Building extension>
- #Architecture>
The house is located in a fishing village in the lagoon of Mar Menor.in a location with the climatic conditions typical of the marine environment of the Mediterranean Sea and characterised by the presence of lots of sunshine
The architects' idea was to put a container at the centre of the project. So, this reused container was perforated on several sides and customised with new spaces such as a shower overlooking the lagoon and a skylight reconfiguring the interior lighting. The new volume was manufactured in a closed shop before being transferred and positioned over the pre-existing building and is covered in an orange insulating layer that makes it unique and original
Exposed concrete, under-floor heating, bent sheet metal and polycarbonate are the elements that characterise the expressive materiality of this house, where luxury does not lie in the refined finishes but in the strength of the views
Gallery
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>