\r\n
\r","showSummary":null,"url":"/center-store/ahold-usa-announces-certification-private-label-coffee-and-tea","date":"2014-03-12T00:00:00","author":{"email":null,"uname":"Anonymous","firstName":null,"lastName":null,"bio":null,"title":null,"picture":null,"phone":null,"contactForm":null},"digitalEdition":null,"sponsored":false,"taggedPro":null,"teaserImage":{"id":52160,"url":"https://assets1.drugstorenews.com/styles/secondary_articles_short/s3/teaser_image_374312.jpg?itok=C_bcP76r","width":767,"height":575,"alt":null},"topics":[{"name":"News","url":"/news"},{"name":"Center Store","url":"/center-store"},{"name":"Consumables","url":"/consumables"},{"name":"Top Retailers","url":"/top-retailers"},{"name":"Ahold","url":"/ahold"}],"attachedFiles":[]},{"title":"Ahold to acquire Spar in Czech Republic","id":42705,"bundle":"article","summary":"
ZAANDAM, the Netherlands — Ahold has entered into an agreement to acquire Spar's business in the Czech Republic. The acquisition includes 50 stores of which 36 are compact hypers and 14 are supermarkets.
\r\n
\r\nThe acquisition, which has and enterprise value of CZK 5,245 million, will be funded from existing cash resources and is subject to merger clearance.
\r\n
\r","showSummary":null,"url":"/news/ahold-acquire-spar-czech-republic","date":"2014-03-11T00:00:00","author":{"email":null,"uname":"Anonymous","firstName":null,"lastName":null,"bio":null,"title":null,"picture":null,"phone":null,"contactForm":null},"digitalEdition":null,"sponsored":false,"taggedPro":null,"teaserImage":{"id":52135,"url":"https://assets1.drugstorenews.com/styles/secondary_articles_short/s3/teaser_image_374263.jpg?itok=HVeSXCG8","width":767,"height":575,"alt":null},"topics":[{"name":"News","url":"/news"},{"name":"RETAIL NEWS","url":"/retail-news"},{"name":"Ahold","url":"/ahold"}],"attachedFiles":[]},{"title":"Ahold USA hires former Save-A-Lot executive to be president of Giant/Martin's","id":42889,"bundle":"article","summary":"
CARLISLE, Pa. — Ahold USA on Monday announced that Tom Lenkevich will join the Giant/Martin's division as president, effective March 4, reporting to Bhavdeep Singh, EVP operations, Ahold USA.
","showSummary":null,"url":"/news/ahold-usa-hires-former-save-lot-executive-be-president-giantmartins","date":"2014-03-03T00:00:00","author":{"email":null,"uname":"Anonymous","firstName":null,"lastName":null,"bio":null,"title":null,"picture":null,"phone":null,"contactForm":null},"digitalEdition":null,"sponsored":false,"taggedPro":null,"teaserImage":{"id":52018,"url":"https://assets1.drugstorenews.com/styles/secondary_articles_short/s3/teaser_image_374097.jpg?itok=ltJK8c4o","width":110,"height":150,"alt":null},"topics":[{"name":"News","url":"/news"},{"name":"RETAIL NEWS","url":"/retail-news"},{"name":"Top Retailers","url":"/top-retailers"},{"name":"Ahold","url":"/ahold"}],"attachedFiles":[]},{"title":"Peapod expands reach in Massachusetts","id":42905,"bundle":"article","summary":"QUINCY, Mass. — Peapod last week announced the opening of a new fulfillment facility in Agawam, Mass., to better serve the needs of consumers from Hampshire and Hampden counties.
","showSummary":null,"url":"/news/peapod-expands-reach-massachusetts","date":"2014-03-03T00:00:00","author":{"email":null,"uname":"Anonymous","firstName":null,"lastName":null,"bio":null,"title":null,"picture":null,"phone":null,"contactForm":null},"digitalEdition":null,"sponsored":false,"taggedPro":null,"teaserImage":{"id":52009,"url":"https://assets1.drugstorenews.com/styles/secondary_articles_short/s3/teaser_image_374082.jpg?itok=Nk633GDF","width":767,"height":575,"alt":null},"topics":[{"name":"News","url":"/news"},{"name":"RETAIL NEWS","url":"/retail-news"},{"name":"Top Retailers","url":"/top-retailers"},{"name":"Ahold","url":"/ahold"}],"attachedFiles":[]}]},"title":"Ahold","contentParagraphs":null,"sections":null}; const country = "US"; const language = null; const SITE_LANGUAGE = "en"; const siteName = "Drug Store News"; const userRoles = ["anonymous"]; const userUid = 0; const indexName = "dsnews"; const title = "Ahold | Drug Store News"; window.dataLayer = window.dataLayer || []; const data = {}; data.entityTaxonomy = {}; const contentTypes = [ "article", "blog", "bulletin", "embed_page", "landing_page", "event", "image", "page", "product", "whitepaper", "video", "tags", "author_profile", "buyers_guide_listing" ]; if ( routeInfo && "bundle" in routeInfo && contentTypes.includes(routeInfo["bundle"]) ) { data.entityBundle = routeInfo.bundle; data.entityTitle = title || `${routeInfo.title} | ${siteName}`; data.entityId = routeInfo.id; data.entityName = routeInfo.author?.uname; data.entityCreated = routeInfo.created; data.sponsored = routeInfo.sponsored; data.sponsor = routeInfo.sponsoringCompany; data.entityType = "node"; data.entityLangcode = SITE_LANGUAGE; data.siteName = siteName; data.drupalLanguage = language; data.drupalCountry = country; data.userRoles = userRoles; data.userUid = userUid; data.entityTaxonomyKeys = {}; data.entityTaxonomyHierarchies = {}; data.parentNaicsCode = {}; data.isPro = false; data.algoliaIndexName = indexName; // Add taxonomy data const taxonomies = { businessTopic: "business_topic", contentType: "content_type", company: "company", marketSegment: "market_segment", }; const getHierarchy = (term, terms = []) => { terms.push({ id: term.id, name: term.name }); if (term.parentTerm != null) { getHierarchy(term.parentTerm, terms); } return terms; }; const getTerms = (term, useApiId = false) => { return { id: useApiId ? term.apiId : term.id, name: term.name }; }; const getKeys = (term) => { return { id: term.id, name: term.apiId }; }; Object.entries(taxonomies).forEach(([key, item]) => { terms = routeInfo[key]; if (terms && terms.length > 0) { data["entityTaxonomy"][item] = terms.map((term) => getTerms(term, key === "company") ); if (key !== "company") { data["entityTaxonomyKeys"][item] = terms.map(getKeys); termGroups = []; terms.forEach((term, termInd) => { termGroups[termInd] = getHierarchy(term); }); data["entityTaxonomyHierarchies"][item] = termGroups; } } }); data["entityTaxonomy"]["tags"] = routeInfo["topics"] || []; // Primary Topic is either the business topic or the top tag. if (routeInfo["businessTopic"]?.length > 0) { data["entityPrimaryTopic"] = routeInfo["businessTopic"][0]["name"]; } else { if (routeInfo["topics"]?.length > 0) { data["entityPrimaryTopic"] = routeInfo["topics"][0]["name"]; } } // Primary and secondary entityNaicsCodes come from the MarketSegment if (routeInfo.marketSegment?.length > 0) { data.entityNaicsCode = {}; data["entityNaicsCode"]["id"] = routeInfo["marketSegment"][0]["id"]; data["entityNaicsCode"]["name"] = routeInfo["marketSegment"][0]["naicsCode"]; if (routeInfo["marketSegment"][0]["parentTerm"] != null) { data["parentNaicsCode"]["id"] = routeInfo["marketSegment"][0]["parentTerm"]["id"]; data["parentNaicsCode"]["name"] = routeInfo["marketSegment"][0]["parentTerm"]["naicsCode"]; } } else { data.entityNaicsCode = []; } if (routeInfo.taggedPro) { data.isPro = routeInfo.taggedPro; } window.dataLayer.push(data); } else if (routeInfo && "vid" in routeInfo) { data.entityBundle = "tags"; data.entityTitle = routeInfo.name; data.entityId = routeInfo.id; data.entityName = routeInfo.author?.uname; data.entityCreated = routeInfo.created; data.entityType = "taxonomy_term"; data.entityLangcode = SITE_LANGUAGE; data.siteName = siteName; data.sponsored = routeInfo.sponsored; data.sponsor = routeInfo.sponsoringCompany; data.drupalLanguage = language; data.drupalCountry = country; data.userRoles = userRoles; data.userUid = userUid; data.algoliaIndexName = indexName; data["entityTaxonomy"]["tags"] = { id: routeInfo["id"], name: routeInfo["name"], }; window.dataLayer.push(data); } })();