Cabinets d'architecture et de design
Ils ont signé des projets extraordinaires, contribuant à l'expansion de l'art architectural sous toutes ses formes. Découvrez les cabinets d'architecture et de design du monde entier et explorez les projets qu'ils ont réalisés. Découvrez les Archistars qui ont apporté une contribution significative au monde de l'architecture. Dans cette section, vous pouvez découvrir les différentes équipes de cabinets, leurs projets et, si vous le souhaitez, les contacter !
The following has evaluated to null or missing: ==> lastPublishArticle.displayDate [in template "20101#20127#2766430" at line 77, column 46] ---- Tip: It's the step after the last dot 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: #elseif lastPublishArticle.displayDat... [in template "20101#20127#2766430" at line 77, column 37] ----
1<#-- Asset cards WRelated People RANDOM -->
2
3<#assign assetLinkLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetLinkLocalService") />
4<#assign assetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService") />
5<#assign journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") />
6<#assign groupLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.GroupLocalService") />
7<#assign rnd = staticUtil["com.liferay.portal.kernel.security.RandomUtil"] >
8
9<#if entries?has_content>
10<#-- <#assign indexes = rnd.nextInts(entries?size, 40) />-->
11 <div>
12 <#list entries as curEntry>
13 <#-- <#list indexes as index>-->
14 <#-- <#assign curEntry = entries[index] />-->
15 <div class="grid-card-content d-flex flex-nowrap">
16 <#assign renderer = curEntry.getAssetRenderer() >
17 <#assign className = renderer.getClassName() >
18 <#if className == "com.liferay.journal.model.JournalArticle">
19 <#assign article = renderer.getArticle() >
20
21 <div class="card-element main-card" style="color: inherit; position: relative;">
22 <@liferay_journal["journal-article"]
23 articleId="${article.getArticleId()}"
24 ddmTemplateKey="BOX_DESIGNER_PROFILE_MINIMAL"
25 groupId=article.getGroupId()
26 />
27 <div class="d-flex d-lg-block d-xl-flex justify-content-between">
28 <a class="profile" target="_blank" href="${assetPublisherHelper.getAssetViewURL(renderRequest, renderResponse, curEntry, true)}">${languageUtil.get(locale, "profile")}</a>
29
30 <#assign fields = renderer.getDDMFormValuesReader().getDDMFormValues().getDDMFormFieldValues() />
31 <#list fields as field>
32 <#if field.getName() == "Email">
33 <#assign email = field.getValue().getString(locale) >
34 <span class="border-custom request-info" data-email=${email}>
35 <button style="font-size:17px;" class="message last">${languageUtil.get(locale, "message")}</button>
36 </span>
37 </#if>
38 </#list>
39 </div>
40 </div>
41
42 <#assign currentArticleAssetEntryId = curEntry.getEntryId() />
43 <#assign currentArticleRelatedLinks = assetLinkLocalService.getDirectLinks(currentArticleAssetEntryId) />
44
45 <#assign lastPublishArticle = "" >
46 <#assign relatedArticles = []>
47 <#assign relatedVideos = [] />
48
49 <#list currentArticleRelatedLinks as related_entry>
50
51 <#assign relatedAssetEntryId = related_entry.getEntryId2() />
52
53 <#assign relatedAssetEntry = assetEntryLocalService.getEntry(relatedAssetEntryId) />
54
55 <#assign relatedGroup = groupLocalService.getGroup(relatedAssetEntry.groupId) />
56
57 <#assign relatedAssetEntryPrimKey = relatedAssetEntry.getClassPK() />
58
59 <#assign relatedArticle = journalArticleLocalService.fetchLatestArticle(relatedAssetEntryPrimKey)!'' />
60
61 <#if relatedArticle?has_content>
62
63 <#assign relatedArticleStructureKey = relatedArticle.getDDMStructure().getStructureKey() />
64 <#assign relatedArticleStatus = relatedArticle.getStatus() />
65
66 <#-- <#if (relatedArticleStatus != 7)> -->
67 <#if (relatedArticleStatus == 0) && hasCorrectLanguage(relatedAssetEntry, themeDisplay.getLanguageId(), themeDisplay.getCompanyId())>
68 <#if relatedArticleStructureKey = "ARKITUBE-CONTENT" && isPublishedOnSite(relatedAssetEntry, themeDisplay.getCompanyId())>
69
70 <#assign relatedVideos = relatedVideos + [ relatedArticle ] />
71
72 <#elseif relatedArticleStructureKey = "ARTICLE-CONTENT">
73
74 <#assign relatedArticlePublishDate = relatedArticle.displayDate!0 />
75 <#if !lastPublishArticle?has_content>
76 <#assign lastPublishArticle = relatedArticle />
77 <#elseif lastPublishArticle.displayDate?long < relatedArticlePublishDate?long >
78 <#assign relatedArticles = relatedArticles + [ lastPublishArticle ]>
79 <#assign lastPublishArticle = relatedArticle />
80 <#else>
81 <#assign relatedArticles = relatedArticles + [ relatedArticle ]>
82 </#if>
83 </#if>
84
85 </#if>
86
87 </#if>
88
89 </#list>
90
91 <#-- primo elemento -->
92 <#if lastPublishArticle?has_content>
93 <div class="card-element related-card">
94 <#assign relatedArticleId = lastPublishArticle.getArticleId() />
95 <#assign articleGroupId = lastPublishArticle.getGroupId() >
96 <#assign thisEntry = assetEntryLocalService.getEntry("com.liferay.journal.model.JournalArticle", lastPublishArticle.getResourcePrimKey())>
97
98 <a href="${assetPublisherHelper.getAssetViewURL(renderRequest, renderResponse, thisEntry, true)}">
99
100 <@liferay_journal["journal-article"]
101 articleId="${relatedArticleId}"
102 ddmTemplateKey="ARTICLE_CONTENT_LIST_MINIMAL"
103 groupId=lastPublishArticle.getGroupId()
104 />
105 </a>
106 </div>
107 </#if>
108
109 <#assign relatedIndexes = rnd.nextInts(relatedArticles?size, 2) />
110 <#list [0, 1] as index>
111
112 <div class="card-element related-card">
113
114 <#if relatedIndexes[index]?? && relatedArticles[relatedIndexes[index]]??>
115
116 <#assign relatedArticle = relatedArticles[relatedIndexes[index]] />
117 <#assign relatedArticleId = relatedArticle.getArticleId() />
118 <#assign articleGroupId = relatedArticle.getGroupId() >
119 <#assign thisEntry = assetEntryLocalService.getEntry("com.liferay.journal.model.JournalArticle", relatedArticle.getResourcePrimKey())>
120
121 <a href="${assetPublisherHelper.getAssetViewURL(renderRequest, renderResponse, thisEntry, true)}">
122
123 <@liferay_journal["journal-article"]
124 articleId="${relatedArticleId}"
125 ddmTemplateKey="ARTICLE_CONTENT_LIST_MINIMAL"
126 groupId=relatedArticle.getGroupId()
127 />
128
129 </a>
130
131 </#if>
132
133 </div>
134
135 </#list>
136
137 <#assign relatedVideo = "" />
138 <#if (relatedVideos?size > 0) >
139 <#assign relatedIndex = rnd.nextInt(relatedVideos?size) />
140 <#assign relatedVideo = relatedVideos[relatedIndex] />
141 </#if>
142
143 <#if relatedVideo?? && relatedVideo?has_content >
144 <#assign mobileClass = "d-block" />
145 <#else>
146 <#assign mobileClass = "d-none" />
147 </#if>
148
149 <div class="card-element related-card related-card-video d-lg-block ${mobileClass}">
150
151 <#if relatedVideo?? && relatedVideo?has_content >
152
153 <#assign relatedArticleId = relatedVideo.getArticleId() />
154 <#assign articleGroupId = relatedVideo.getGroupId() >
155 <#assign thisEntryArkitube = assetEntryLocalService.getEntry("com.liferay.journal.model.JournalArticle", relatedVideo.getResourcePrimKey())>
156 <a href="${assetPublisherHelper.getAssetViewURL(renderRequest, renderResponse, thisEntryArkitube, true)}">
157
158
159 <@liferay_journal["journal-article"]
160 articleId="${relatedArticleId}"
161 ddmTemplateKey="ARKITUBE_DETAIL_MINIMAL"
162 groupId=articleGroupId
163 />
164 </a>
165
166 </#if>
167
168 </div>
169
170 </#if>
171 </div>
172 </#list>
173 </div>
174</#if>
175
176<#function hasCorrectLanguage assetEntry languageId companyId>
177
178 <#assign groupLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.GroupLocalService")>
179 <#assign assetVocabularyLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetVocabularyLocalService")>
180
181 <#assign groupGlobal = groupLocalService.getCompanyGroup(companyId)>
182 <#assign vocabLanguageId = (assetVocabularyLocalService.fetchGroupVocabulary(groupGlobal.getGroupId(), "Language").vocabularyId)!0>
183 <#assign categories = assetEntry.categories />
184
185 <#list categories as category>
186
187 <#if category.vocabularyId == vocabLanguageId>
188
189 <#if category.name == languageId>
190
191 <#return true />
192
193 </#if>
194
195 </#if>
196
197 </#list>
198
199 <#return false />
200
201</#function>
202
203<#function isPublishedOnSite assetEntry companyId>
204
205 <#assign groupLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.GroupLocalService")>
206 <#assign assetVocabularyLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetVocabularyLocalService")>
207
208 <#assign groupGlobal = groupLocalService.getCompanyGroup(companyId)>
209 <#assign vocabLanguageId = (assetVocabularyLocalService.fetchGroupVocabulary(groupGlobal.getGroupId(), "PublishOnSite").vocabularyId)!0>
210 <#assign categories = assetEntry.categories />
211
212 <#list categories as category>
213
214 <#if category.vocabularyId == vocabLanguageId>
215
216 <#if category.name == "arkitectureonweb">
217
218 <#return true />
219
220 </#if>
221
222 </#if>
223
224 </#list>
225
226 <#return false />
227
228</#function>
L'inspiration naît des idées merveilleuses des cabinets d'architecture et de design du monde entier
Le paysage international regorge de nombreux talents : des architectes célèbres, hommes et femmes, qui, grâce à leur savoir-faire et à leurs approches culturelles et stylistiques brillantes, ont rendu chaque projet architectural unique et fonctionnel. Des Archistars comme Renzo Piano, Fuksas, Zaha Hadid, qui ont inspiré et continuent d'inspirer des milliers de concepteurs.
![Banner 1200x160](/documents/34806/3328608/banner+nero+1200+x160.jpg/36e0f3ff-a9ed-ee3e-1422-6a432a6583dd?t=1655986613864)