2nd floor

Design by sieger design

Facebook
Twitter
E-Mail
My Favorites
Learn more

Integrating the bathroom into the overall living space

We no longer consider the bathroom a separate, isolated room, but instead an open, cozy seamless space. With 2nd floor, sieger design and Duravit pay tribute to this idea. 2nd floor uses simple means to design an elegant, inviting room and has become a Design Classic.

 
 
 
 
 
 
 
 
 
 
 
 

TML Warnings

1 warning(s) detected
LayoutLine Nr.Tag TypeTag IDDBContextMessage
premium/website (html)2Script(none)premium8a8a818d4527e09c014528ac55d203ec.us-en.5TypeError executing tmlscript: TypeError: Cannot call method "toLowerCase" of null
At line 0, column 0
Expression:


let isInactiveLine = String(Packages.java.net.InetAddress.getLocalHost().getHostName()).indexOf("staging") > -1;

_standardProtocol = V.getProtocol();
if (isInactiveLine) {
console.log(">>>> _standardProtocol:", _standardProtocol, " -> requestUrl", request.requestURL);
}

this.console = new V.Logger({ disabled: !true });
this.__st = new Date();

// read the CONFIG_DEVELOP_MODE value from meta item mapping and map it to a item available everywhere
this.developMode = (CONFIG_DEVELOP_MODE == true) || false;

// are we on live server?
this.isLive = String(Packages.java.net.InetAddress.getLocalHost().getHostName()).indexOf("wga") > -1;

this.util = WGA.createObject("utils:util");

// override developMode temporarly for testing purposes
if (request.getParameter("release") != null) {
setSessionVar("_svDevelopMode", false);
} else if (request.getParameter("develop") != null) {
setSessionVar("_svDevelopMode", true);
}
if (isDefined("_svDevelopMode")){
this.developMode = _svDevelopMode;
}

if (developMode) {
// console.log("\033\143");
//console.log("Page: " + request.requestURL + ((request.queryString) ? "?"+request.queryString : "") );

// just for developing content modules - TODO: remove
// WGA.callAction("wga:connect");

// clear WebTML cache
// var wgadb = db(meta("db", "dbkey"));
// wgacore.getWebTMLCache().clearForDatabase(wgadb.getDbReference());
}
if (CONFIG_FORCE_NOCACHE) {
var wgadb = db(meta("db", "dbkey"));
wgacore.getWebTMLCache().clearForDatabase(wgadb.getDbReference());
}

var pdbState = V.require("product:controller:premium", "lib-duravit-common").getSetting("last_updated");
this.pdbTimestamp = WGA.format(pdbState.updated_at, "yyyy-MM-dd-kkmm");
this.cpTimestamp = db("contentpool").getLastChanged().getTime();
this.serverName = request.getServerName();
//log.info("pdbState: " + pdbState.guid + " :: " + pdbState.key + " :: " + pdbState.updated_at + " :: frm: " + WGA.format(pdbState.updated_at, "yyyy-MM-dd-kkmm") );

WGA.callAction("views:back-navi"); // ??? <-- really?

usePremium = true;

var keywordsList = this.metaList("keywords");
keywords = WGA.createList();

for (var i=0; i < keywordsList.size(); i++) {
var currentKeyword = keywordsList.get(i);
if (hasLabel('premium.keywords.' + currentKeyword)) {
keywords.add( label('premium.keywords.' + currentKeyword) );
} else {
keywords.add( currentKeyword );
}
}

//If no description is set, fallback to labels dependant on toplevel page(Inspirieren, Produkte,...)
description = meta("description");
if(!description) {
var rootName = context("root").meta("pagename");
if(rootName && hasLabel("premium.description." + rootName)) {
description = label("premium.description." + rootName);
}
}

//Build custom titles for certain pages
if (!_title && !productNodeId) {
_title = (BROWSERTITLE || TITLE) + " | Duravit";
}
// // Build custom titles for Product Detail#
// productNodeId = request.getParameter("product");
// if (productNodeId) {
// product = ProductX.getProduct(productNodeId, {isPremium: true}, null, !true);
// pcon = V.require("product:controller:premium", "lib-duravit-common");
// if (product) {
// seriesName = pcon.getContentSeries(seriesid);
// if (seriesName && seriesName.size() > 0) {
// seriesName = seriesName.get(0).TITLE;
// }
// _title = seriesName + " " + product.name + " #" + product.externalnr + " | Duravit";
// description = "Duravit " + seriesName + " " + product.name + " " + label("premium.artnr") + " " + product.externalnr + ": " + product.description + ". " + label("premium.allinformationshere");
// }
//
// }

if (meta("area") == "duravit.me") {
_bodyClass = PAGENAME || AREA;
if (_bodyClass == "home") _bodyClass = "intro";
if (_bodyClass == "imprint") _bodyClass = "pure imprint";

// Special
if (DOCTYPE == "article") _bodyClass += " article";

if (_bodyClass == _meworld) _bodyClass = AREA.replace(".","");

if (PAGENAME === "countdown" || DOCTYPE === "newsletter") _bodyClass = "intro";
}
if (PAGENAME && meta("area") !== "duravit.me") {
_bodyClass = PAGENAME;
}

themeColorClass = util.getThemeColorClassFromAncestors(this.content());

if (themeColorClass) {
_bodyClass = _bodyClass ? _bodyClass + " " + themeColorClass : "" + themeColorClass;
}

try {
var langBehaviour = Packages.de.innovationgate.wgpublisher.lang.LanguageBehaviourTools.retrieve(db());

this.primaryLang = langBehaviour.getPrimaryLanguage(db(), request);
this.fallbackLang = langBehaviour.getFallbackLanguage(primaryLang, db());
} catch(e) {
this.primaryLang = LANGUAGE;
this.fallbackLang = "";
}

let noredir = request.getParameter("noredir");

if (noredir != "true" && !_svNoRedir) {
//this._redirCode = WGA.design("lib-duravit-common").callAction("actions:redirect", true);
this._redirCode = "";
} else {
this._redirCode = "";
}

if (CONTENTTYPE == 'me-teaserpage' && _meworld == 'me-elegance') {
_noBgImg = true;
}

// og:image for facebook
// 'og_image'-URL-parameter determines special content-module-img, which shall be used as fb-pic
_ogImageUrl = WGA.request.getParameter("og_image");
if (!_ogImageUrl) {
// If no special content-module-img was determined by URL-param, use either first stage-pic or fallback-img
let stages = itemList("includes_stage-aggregator_module"),
cmModel = WGA.createObject("model:contentmodules"),
ogImg;

if (stages && stages.size() > 0) {
let ctx,
firstStage;

firstStage = stages.get(0);
ctx = context("docid:" + firstStage, false);

if (ctx) {
ogImg = cmModel.getFirstResultSettingValue("image_100", ctx.content());
}
} else {
ogImg = cmModel.getFirstResultSettingValue("image_100", content());
}

if (!ogImg) {
_ogImageUrl = WGA.Server.baseURL + "/premium/file/assets/fb_duravit.png";
} else {
_ogImageUrl = WGA.Server.baseURL + ogImg;
}
_ogImageUrl += "?derivate=width~1440";
}

// LTR / RTL setting
this.isRtlLang = WGA.createObject("utils:util").isRtlLanguage();
noMarginPage = false;
if (item("noMarginPage") || DOCTYPE === "webspecial-main") {
noMarginPage = true;
}
webspecial = false;
if (DOCTYPE.indexOf("webspecial") > -1) {
webspecial = true;
}
referenceSite = false;
if ((DOCTYPE.indexOf("reference-list") > -1) || (DOCTYPE == "reference")) {
referenceSite = true;
}
// if (webspecial) {
this.isMobile = Utils.detectMobile();
// }

// personalisation
// if (!saveObject) {
// saveObject = WGA.createObject("controller:save-in-db");
// }
// saveObject.saveInDb(keywords);

//Canonical Link
/**
* checks if page has canonical-links, return WGA-Page-String or null
*/
canonicalLink = WGA.createObject("canonical:controller").getLink();

Render time page: 974 ms - series :: 8a8a818d4527e09c014528ac55d203ec

Node: duravit-live1-wga202.dmz.duravit.de / DM: false / PDB: 2018-07-06-0249