Bienvenue dans l'espace Outwell Kids Corner
Les enfants s'amusent davantage… Reculez, maman et papa, et faites place à Garçon Chauve-Souris et Fille Papillon… il est temps de tirer le meilleur parti de la vie en plein air.
Chez Outwell, nous sommes passionnés par le camping en famille – cette section est donc entièrement dédiée aux enfants. Activités sur le camping, recettes de campfire, équipements de camping pour enfants, livre de coloriage – ici, vous trouverez tout ce dont vous avez besoin pour camper en famille avec les enfants et nos meilleurs conseils pour divertir les enfants au camping.
Téléchargez le Livre de Coloriage Outwell Kids ci-dessous – un divertissement parfait pour les petits sur le camping ou pendant le trajet vers votre prochaine destination de camping.
Découvrez les trois recettes amusantes à faire avec les enfants en camping par nos amis de 'Get Out with the Kids'.
Découvrez les meilleurs conseils de Julia Bradbury pour camper en famille ou laissez-vous inspirer par la liste de matériel essentiel pour les enfants de nos experts en camping familial.
Livre de Coloriage Outwell Kids
Un divertissement parfait pour les petits sur le camping ou pendant le trajet vers votre prochaine destination de camping.
Exception in template (Designs/Outwell/Paragraph/FeaturedProductsRibbonItem.cshtml): System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.ffcecbdafbd.Execute()
at RazorEngine.Templating.TemplateBase.RazorEngine.Templating.ITemplate.Run(ExecuteContext context) in c:\Users\abbottm\Documents\GitHub\RazorEngine\src\Core\RazorEngine.Core\Templating\TemplateBase.cs:line 126
at RazorEngine.Templating.TemplateService.Run(ITemplate template, DynamicViewBag viewBag) in c:\Users\abbottm\Documents\GitHub\RazorEngine\src\Core\RazorEngine.Core\Templating\TemplateService.cs:line 608
at RazorEngine.Templating.TemplateService.Parse(String razorTemplate, Object model, DynamicViewBag viewBag, String cacheName) in c:\Users\abbottm\Documents\GitHub\RazorEngine\src\Core\RazorEngine.Core\Templating\TemplateService.cs:line 439
at RazorEngine.Razor.Parse[T](String razorTemplate, T model, DynamicViewBag viewBag, String cacheName) in c:\Users\abbottm\Documents\GitHub\RazorEngine\src\Core\RazorEngine.Core\Razor.cs:line 290
at Dynamicweb.Rendering.Template.RenderRazorTemplate()
@using Dynamicweb.Extensibility;
@using Dynamicweb.Frontend;
@using Dynamicweb.Rendering;
@using Dynamicweb.Analytics;
@using Dynamicweb.Ecommerce.Common;
@using Dynamicweb.Ecommerce.Orders;
@using OaseOutdoors.Components.Shared.Paragraphs.FeaturedProductsRibbon.ModelBuilders
@using OaseOutdoors.Services.EcomUrlService.Initialization
@using OaseOutdoors.Services.ImageService.Enums
@using OaseOutdoors.Services.StaticResourceService.Initialization
@inherits ViewModelTemplate<ParagraphViewModel>
@{
var viewModelService = new FeaturedProductsRibbonViewModelBuilder();
var staticResourceService = ServiceLocator.Current.GetStaticResourceService();
var viewModel = viewModelService.GetViewModel(Model);
var urlService = ServiceLocator.Current.GetEcomUrlService();
var area = PageView.Current().Area;
var contextCart = Context.Cart;
var relewiseCss = "";
if (viewModel.RelewiseIsActive)
{
relewiseCss = "is-relewise";
}
}
<section id="featuredProducts" class="featured-products container-ribbon ribbon @relewiseCss" data-module="featured-products">
<div class="container">
@if (!string.IsNullOrEmpty(viewModel.Headline))
{
<h2 class="header1">@viewModel.Headline</h2>
}
<div class="featured-products__container">
@if (viewModel.RelewiseIsActive)
{
<div class="loading"><img src="/static/dist/img/loading.gif" /></div>
}
@foreach (var product in viewModel.ProductListRelewise)
{
var productUrl = urlService.GetUrl(product.GroupId, product.Id);
<article itemscope itemtype="https://schema.org/Product" class="product-item">
<a itemprop="url" href="@productUrl">
<div class="product-item__header">
@if (!string.IsNullOrEmpty(product.OutletcampingSplash))
{
var statustext = product.OutletcampingSplash;
<div class="product-item__labelstatusRibbon">
@if (statustext.Length > 8)
{
<div class="product-item__labelstatus-2Ribbon">
<span>@statustext</span>
</div>
}
@if (statustext.Length >= 6 && statustext.Length <= 8)
{
<div class="product-item__labelstatus-3Ribbon">
<span>@statustext</span>
</div>
}
@if (statustext.Length >= 4 && statustext.Length <= 6)
{
<div class="product-item__labelstatus-4Ribbon">
<span>@statustext</span>
</div>
}
@if (statustext.Length < 4)
{
<div class="product-item__labelstatus-5Ribbon">
<span>@statustext</span>
</div>
}
</div>
}
<figure>
<img src="@product.MainImage.SetWidth(500).SetHeight(300).SetCrop(CropType.KeepAspectRatio).SetCompression(50).GetCrop()" itemprop="image" content="@product.MainImage" alt="">
</figure>
@if (!string.IsNullOrEmpty(product.CollectionLogo))
{
var collogo = product.CollectionLogo;
collogo = collogo.ToString().Replace(".jpg", ".png");
<div class="product-item__collection">
<figure class="lazy" data-src-sm="@collogo" data-alt="Outwell @product.Name">
<noscript><img src="@collogo" itemprop="image" content="@collogo" alt="Outwell @product.Name"></noscript>
</figure>
</div>
}
@if (!string.IsNullOrEmpty(product.LabelText) && !string.IsNullOrEmpty(product.LabelColor))
{
<div class="product-item__labelRibbon">
<p>@product.LabelText</p>
</div>
}
</div>
<div class="product-item__body">
<div class="product-item__headline">
@if (!string.IsNullOrEmpty(product.Name))
{
<h3 class="header3" itemprop="name">@product.Name</h3>
}
</div>
<div class="product-item__information" itemprop="description">
@{
var ProductDescription = "";
if (!string.IsNullOrEmpty(product.LongDescription))
{
ProductDescription = product.LongDescription;
}
if (!string.IsNullOrWhiteSpace(ProductDescription) && ProductDescription.Length > 80)
{
ProductDescription = ProductDescription.Substring(0, 80) + "...";
}
}
@ProductDescription
</div>
<div class="product-item__bulletpoints">
<ul>
@if (!string.IsNullOrWhiteSpace(product.Bullet1))
{
<li>@product.Bullet1</li>
}
@if (!string.IsNullOrWhiteSpace(product.Feature1))
{
<li>@product.Feature1</li>
}
@if (!string.IsNullOrWhiteSpace(product.Feature2))
{
<li>@product.Feature2</li>
}
@if (!string.IsNullOrWhiteSpace(product.Feature3))
{
<li>@product.Feature3</li>
}
</ul>
</div>
@{
var productIsPreorder = false;
var availableAgain = product.AvailableAgain;
availableAgain = string.IsNullOrWhiteSpace(availableAgain) ? "1900-01-01" : availableAgain;
DateTime availableAgainDateOut;
if (DateTime.TryParse(Convert.ToDateTime(availableAgain).ToString(), out availableAgainDateOut))
{
availableAgain = Convert.ToDateTime(availableAgain).ToString("dd/MM/yy");
string minDate = Convert.ToDateTime("1900-01-01").ToString("dd/MM/yy");
productIsPreorder = availableAgain.Equals(minDate) ? false : true;
}
}
@if (product.Stock > 0 && !productIsPreorder)
{
<div class="product__availability product__availability--instock">
@Translate("InStock", "In stock")
</div>
}
else if (productIsPreorder)
{
<div class="product__availability product__availability--instock">
@Translate("Preorder", "Preorder")
</div>
}
else
{
<div class="product__availability">
@Translate("SoldOut", "Sold out")
</div>
}
<div class="product-item__RRPPrice">
@if (!string.IsNullOrEmpty(product.Price))
{
<span itemprop="priceCurrency" content="@product.CurrencySymbol">
@product.CurrencySymbol
</span>
<span itemprop="price" content="@product.UnformatedPrice">
@product.Price
</span>
if (@product.Price != @product.BeforePrice)
{
<p><span>@Translate("RRP", "RRP") : @product.CurrencySymbol @product.BeforePrice</span></p>
}
}
else
{
@Translate("SeeMore", "See more")
}
</div>
@{
var productId = product.Id;
var productName = product.Name;
var productNumber = product.ProductNumber;
var productCurrency = product.Currency;
var productUnformatedPrice = product.UnformatedPrice;
var productVariant = "";
var productVariants = product.ProductFieldValues;
foreach (var FieldValue in productVariants)
{
if (FieldValue.ProductField.SystemName == "VariantNumbers")
{
productVariant = FieldValue.Value.ToString();
}
}
var productStock = product.Stock;
var productCartCmd = "CartCmd" + productId;
var productKey = "Key" + productId;
var productOrderContext = "OrderContext" + productId;
var productRedirect = "Redirect" + productId;
OrderLine productOrderLine = null;
if (contextCart != null)
{
foreach (var orderline in contextCart.OrderLines)
{
if (orderline.ProductId == productId)
{
productOrderLine = orderline;
}
}
}
var productCartContext = "";
object cartContextObj = null;
if (area.Item.TryGetValue("CartContext", ref cartContextObj))
{
string cartContext = cartContextObj.ToString();
if (!string.IsNullOrWhiteSpace(cartContext))
{
productCartContext = cartContext;
}
}
if (productStock > 0 && string.IsNullOrEmpty(productVariant))
{
<div class="product-item__quickbuy">
<div class="product__button">
<form method="get" data-id="@productId" data-number="@productNumber" data-name="@productName.Replace("\"", "\'")" data-quantity="1" data-price="@productUnformatedPrice" data-currency="@productCurrency" data-brand="@product.BrandName" data-url="@productUrl">
<input type="hidden" name="CartCmd" id="@productCartCmd" value="@(productOrderLine != null && string.IsNullOrEmpty(productVariant) ? "incorderline" : "add")" />
<input type="hidden" name="Key" id="@productKey" value="@(productOrderLine != null ? productOrderLine.Id : "")" @(productOrderLine != null && string.IsNullOrEmpty(productVariant) ? "" : "disabled") />
<input type="hidden" name="OrderContext" id="@productOrderContext" value="@productCartContext" />
<input type="hidden" name="Redirect" id="@productRedirect" value="/WebServices/MiniCart.ashx?productId=@productId&areaId=@area.ID" disabled />
<input class="form-control" autocomplete="off" type="text" name="name" placeholder="Your name here">
<input class="form-control" autocomplete="off" type="text" name="phone" placeholder="Your phone here">
<input class="form-control" autocomplete="off" type="text" name="email" placeholder="Your email here">
<button type="submit" class="btn btn--big @(!string.IsNullOrEmpty(productVariant) ? "btn--disabled" : "")" @(productStock > 0 ? "" : "disabled") data-added-msg="@(Translate("AddedToCart", "Added to cart"))">
<span class="btn__icon">
<img src="/static/dist/img/outwell/quickbuy-icon.png" alt="" />
</span>
</button>
</form>
</div>
</div>
}
}
</div>
</a>
<div class="product-item__favorite" data-module="cookiefavorite">
<svg class="heart" viewBox="-2 -2 35 35" data-product="@product.ProductNumber">
<path class="heartfill" style="fill: #ffffff; stroke: #646464; stroke-width: 2px;" d="M23.6,0c-3.4,0-6.3,2.7-7.6,5.6C14.7,2.7,11.8,0,8.4,0C3.8,0,0,3.8,0,8.4c0,9.4,9.5,11.9,16,21.2 c6.1-9.3,16-12.1,16-21.2C32,3.8,28.2,0,23.6,0z" />
</svg>
</div>
</article>
}
@foreach (var product in viewModel.ProductList)
{
var productUrl = urlService.GetUrl(product.GroupId, product.Id);
<article itemscope itemtype="https://schema.org/Product" class="product-item">
<a itemprop="url" href="@productUrl">
<div class="product-item__header">
@if (!string.IsNullOrEmpty(product.OutletcampingSplash))
{
var statustext = product.OutletcampingSplash;
<div class="product-item__labelstatusRibbon">
@if (statustext.Length > 8)
{
<div class="product-item__labelstatus-2Ribbon">
<span>@statustext</span>
</div>
}
@if (statustext.Length >= 6 && statustext.Length <= 8)
{
<div class="product-item__labelstatus-3Ribbon">
<span>@statustext</span>
</div>
}
@if (statustext.Length >= 4 && statustext.Length <= 6)
{
<div class="product-item__labelstatus-4Ribbon">
<span>@statustext</span>
</div>
}
@if (statustext.Length < 4)
{
<div class="product-item__labelstatus-5Ribbon">
<span>@statustext</span>
</div>
}
</div>
}
@{
var imgSrc = product.MainImage.SetWidth(500).SetHeight(300).SetCrop(CropType.KeepAspectRatio).SetCompression(50).GetCrop();
var imgClass = "";
if (Pageview.Device == 0 && product.Image062.ToString() != "")
{
var imgHoverSrc = product.Image062.SetWidth(500).SetHeight(300).SetCrop(CropType.KeepAspectRatio).SetCompression(50).GetCrop();
imgClass = "orig";
<figure class="lazy hover" data-src-sm="@imgHoverSrc" data-alt="Outwell">
<noscript><img src="@imgHoverSrc" itemprop="image" content="@imgHoverSrc" alt="Outwell"></noscript>
</figure>
}
}
<figure class="lazy @imgClass" data-src-sm="@imgSrc" data-alt="Outwell">
<noscript><img src="@imgSrc" itemprop="image" content="@imgSrc" alt="Outwell"></noscript>
</figure>
@if (!string.IsNullOrEmpty(product.CollectionLogo))
{
var collogo = product.CollectionLogo;
collogo = collogo.ToString().Replace(".jpg", ".png");
<div class="product-item__collection">
<figure class="lazy" data-src-sm="@collogo" data-alt="Outwell @product.Name">
<noscript><img src="@collogo" itemprop="image" content="@collogo" alt="Outwell @product.Name" )"></noscript>
</figure>
</div>
}
@if (!string.IsNullOrEmpty(product.LabelText) && !string.IsNullOrEmpty(product.LabelColor))
{
<div class="product-item__labelRibbon">
<p>@product.LabelText</p>
</div>
}
</div>
<div class="product-item__body">
<div class="product-item__headline">
@if (!string.IsNullOrEmpty(product.Name))
{
<h3 class="header3" itemprop="name">@product.Name</h3>
}
</div>
<div class="product-item__information" itemprop="description">
@{
var ProductDescription = "";
if (!string.IsNullOrEmpty(product.LongDescription))
{
ProductDescription = product.LongDescription;
}
if (!string.IsNullOrWhiteSpace(ProductDescription) && ProductDescription.Length > 80)
{
ProductDescription = ProductDescription.Substring(0, 80) + "...";
}
}
@ProductDescription
</div>
<div class="product-item__bulletpoints">
<ul>
@if (!string.IsNullOrWhiteSpace(product.Bullet1))
{
<li>@product.Bullet1</li>
}
@if (!string.IsNullOrWhiteSpace(product.Feature1))
{
<li>@product.Feature1</li>
}
@if (!string.IsNullOrWhiteSpace(product.Feature2))
{
<li>@product.Feature2</li>
}
@if (!string.IsNullOrWhiteSpace(product.Feature3))
{
<li>@product.Feature3</li>
}
</ul>
</div>
@{
var productIsPreorder = false;
var availableAgain = product.AvailableAgain;
availableAgain = string.IsNullOrWhiteSpace(availableAgain) ? "1900-01-01" : availableAgain;
DateTime availableAgainDateOut;
if (DateTime.TryParse(Convert.ToDateTime(availableAgain).ToString(), out availableAgainDateOut))
{
availableAgain = Convert.ToDateTime(availableAgain).ToString("dd/MM/yy");
string minDate = Convert.ToDateTime("1900-01-01").ToString("dd/MM/yy");
productIsPreorder = availableAgain.Equals(minDate) ? false : true;
}
}
@if (product.Stock > 0 && !productIsPreorder)
{
<div class="product__availability product__availability--instock">
@Translate("InStock", "In stock")
</div>
}
else if (productIsPreorder)
{
<div class="product__availability product__availability--instock">
@Translate("Preorder", "Preorder")
</div>
}
else
{
<div class="product__availability">
@Translate("SoldOut", "Sold out")
</div>
}
<div class="product-item__RRPPrice">
@if (!string.IsNullOrEmpty(product.Price))
{
<span itemprop="priceCurrency" content="@product.CurrencySymbol">
@product.CurrencySymbol
</span>
<span itemprop="price" content="@product.UnformatedPrice">
@product.Price
</span>
if (@product.Price != @product.BeforePrice)
{
<p><span>@Translate("RRP", "RRP") : @product.CurrencySymbol @product.BeforePrice</span></p>
}
}
else
{
@Translate("SeeMore", "See more")
}
</div>
@{
var productId = product.Id;
var productName = product.Name;
var productNumber = product.ProductNumber;
var productCurrency = product.Currency;
var productUnformatedPrice = product.UnformatedPrice;
var productVariant = "";
var productVariants = product.ProductFieldValues;
foreach (var FieldValue in productVariants)
{
if (FieldValue.ProductField.SystemName == "VariantNumbers")
{
productVariant = FieldValue.Value.ToString();
}
}
var productStock = product.Stock;
var productCartCmd = "CartCmd" + productId;
var productKey = "Key" + productId;
var productOrderContext = "OrderContext" + productId;
var productRedirect = "Redirect" + productId;
OrderLine productOrderLine = null;
if (contextCart != null)
{
foreach (var orderline in contextCart.OrderLines)
{
if (orderline.ProductId == productId)
{
productOrderLine = orderline;
}
}
}
var productCartContext = "";
object cartContextObj = null;
if (area.Item.TryGetValue("CartContext", ref cartContextObj))
{
string cartContext = cartContextObj.ToString();
if (!string.IsNullOrWhiteSpace(cartContext))
{
productCartContext = cartContext;
}
}
if (productStock > 0 && string.IsNullOrEmpty(productVariant))
{
<div class="product-item__quickbuy">
<div class="product__button">
<form method="get" data-id="@productId" data-number="@productNumber" data-name="@productName.Replace("\"", "\'")" data-quantity="1" data-price="@productUnformatedPrice" data-currency="@productCurrency" data-brand="@product.BrandName" data-url="@productUrl">
<input type="hidden" name="CartCmd" id="@productCartCmd" value="@(productOrderLine != null && string.IsNullOrEmpty(productVariant) ? "incorderline" : "add")" />
<input type="hidden" name="Key" id="@productKey" value="@(productOrderLine != null ? productOrderLine.Id : "")" @(productOrderLine != null && string.IsNullOrEmpty(productVariant) ? "" : "disabled") />
<input type="hidden" name="OrderContext" id="@productOrderContext" value="@productCartContext" />
<input type="hidden" name="Redirect" id="@productRedirect" value="/WebServices/MiniCart.ashx?productId=@productId&areaId=@area.ID" disabled />
<input class="form-control" autocomplete="off" type="text" name="name" placeholder="Your name here">
<input class="form-control" autocomplete="off" type="text" name="phone" placeholder="Your phone here">
<input class="form-control" autocomplete="off" type="text" name="email" placeholder="Your email here">
<button type="submit" class="btn btn--big @(!string.IsNullOrEmpty(productVariant) ? "btn--disabled" : "")" @(productStock > 0 ? "" : "disabled") data-added-msg="@(Translate("AddedToCart", "Added to cart"))">
<span class="btn__icon">
<img src="/static/dist/img/outwell/quickbuy-icon.png" alt="" />
</span>
</button>
</form>
</div>
</div>
}
}
</div>
</a>
<div class="product-item__favorite" data-module="cookiefavorite">
<svg class="heart" viewBox="-2 -2 35 35" data-product="@product.ProductNumber">
<path class="heartfill" style="fill: #ffffff; stroke: #646464; stroke-width: 2px;" d="M23.6,0c-3.4,0-6.3,2.7-7.6,5.6C14.7,2.7,11.8,0,8.4,0C3.8,0,0,3.8,0,8.4c0,9.4,9.5,11.9,16,21.2 c6.1-9.3,16-12.1,16-21.2C32,3.8,28.2,0,23.6,0z" />
</svg>
</div>
</article>
}
@foreach (var product in viewModel.ProductListRaptor)
{
var productUrl = urlService.GetUrl(product.GroupId, product.Id);
<article itemscope itemtype="https://schema.org/Product" class="product-item">
<a itemprop="url" href="@productUrl" data-raptorrecommendation="productId:@product.ProductNumber">
<div class="product-item__header">
@if (!string.IsNullOrEmpty(product.OutletcampingSplash))
{
var statustext = product.OutletcampingSplash;
<div class="product-item__labelstatusRibbon">
@if (statustext.Length > 8)
{
<div class="product-item__labelstatus-2Ribbon">
<span>@statustext</span>
</div>
}
@if (statustext.Length >= 6 && statustext.Length <= 8)
{
<div class="product-item__labelstatus-3Ribbon">
<span>@statustext</span>
</div>
}
@if (statustext.Length >= 4 && statustext.Length <= 6)
{
<div class="product-item__labelstatus-4Ribbon">
<span>@statustext</span>
</div>
}
@if (statustext.Length < 4)
{
<div class="product-item__labelstatus-5Ribbon">
<span>@statustext</span>
</div>
}
</div>
}
<figure>
<img src="@product.MainImage.SetWidth(500).SetHeight(300).SetCrop(CropType.KeepAspectRatio).SetCompression(50).GetCrop()" itemprop="image" content="@product.MainImage" alt="">
</figure>
@if (!string.IsNullOrEmpty(product.CollectionLogo))
{
var collogo = product.CollectionLogo;
collogo = collogo.ToString().Replace(".jpg", ".png");
<div class="product-item__collection">
<figure class="lazy" data-src-sm="@collogo" data-alt="Outwell @product.Name">
<noscript><img src="@collogo" itemprop="image" content="@collogo" alt="Outwell @product.Name" )"></noscript>
</figure>
</div>
}
@if (!string.IsNullOrEmpty(product.LabelText) && !string.IsNullOrEmpty(product.LabelColor))
{
<div class="product-item__labelRibbon">
<p>@product.LabelText</p>
</div>
}
</div>
<div class="product-item__body">
<div class="product-item__headline">
@if (!string.IsNullOrEmpty(product.Name))
{
<h3 class="header3" itemprop="name">@product.Name</h3>
}
</div>
<div class="product-item__information" itemprop="description">
@{
var ProductDescription = "";
if (!string.IsNullOrEmpty(product.LongDescription))
{
ProductDescription = product.LongDescription;
}
if (!string.IsNullOrWhiteSpace(ProductDescription) && ProductDescription.Length > 80)
{
ProductDescription = ProductDescription.Substring(0, 80) + "...";
}
}
@ProductDescription
</div>
<div class="product-item__bulletpoints">
<ul>
@if (!string.IsNullOrWhiteSpace(product.Bullet1))
{
<li>@product.Bullet1</li>
}
@if (!string.IsNullOrWhiteSpace(product.Bullet2))
{
<li>@product.Bullet2</li>
}
@if (!string.IsNullOrWhiteSpace(product.Bullet3))
{
<li>@product.Bullet3</li>
}
@if (!string.IsNullOrWhiteSpace(product.PackSize))
{
<li>@Translate("Pack size", "Pack size"): @product.PackSize</li>
}
@if (!string.IsNullOrWhiteSpace(product.Weightsale))
{
<li>@Translate("Weight", "Weight"): @product.Weightsale</li>
}
</ul>
</div>
@{
var productIsPreorder = false;
var availableAgain = product.AvailableAgain;
availableAgain = string.IsNullOrWhiteSpace(availableAgain) ? "1900-01-01" : availableAgain;
DateTime availableAgainDateOut;
if (DateTime.TryParse(Convert.ToDateTime(availableAgain).ToString(), out availableAgainDateOut))
{
availableAgain = Convert.ToDateTime(availableAgain).ToString("dd/MM/yy");
string minDate = Convert.ToDateTime("1900-01-01").ToString("dd/MM/yy");
productIsPreorder = availableAgain.Equals(minDate) ? false : true;
}
}
@if (product.Stock > 0 && !productIsPreorder)
{
<div class="product__availability product__availability--instock">
@Translate("InStock", "In stock")
</div>
}
else if (productIsPreorder)
{
<div class="product__availability product__availability--instock">
@Translate("Preorder", "Preorder")
</div>
}
else
{
<div class="product__availability">
@Translate("SoldOut", "Sold out")
</div>
}
<div class="product-item__RRPPrice" itemprop="offers" itemscope itemtype="https://schema.org/Offer">
@if (!string.IsNullOrEmpty(product.Price))
{
<span itemprop="priceCurrency" content="@product.CurrencySymbol">
@product.CurrencySymbol
</span>
<span itemprop="price" content="@product.UnformatedPrice">
@product.Price
</span>
if (@product.Price != @product.BeforePrice)
{
<p><span>@Translate("RRP", "RRP") : @product.CurrencySymbol @product.BeforePrice</span></p>
}
}
else
{
@Translate("SeeMore", "See more")
}
</div>
@{
var productId = product.Id;
var productName = product.Name;
var productNumber = product.ProductNumber;
var productCurrency = product.Currency;
var productUnformatedPrice = product.UnformatedPrice;
var productVariant = "";
var productVariants = product.ProductFieldValues;
foreach (var FieldValue in productVariants)
{
if (FieldValue.ProductField.SystemName == "VariantNumbers")
{
productVariant = FieldValue.Value.ToString();
}
}
var productStock = product.Stock;
var productCartCmd = "CartCmd" + productId;
var productKey = "Key" + productId;
var productOrderContext = "OrderContext" + productId;
var productRedirect = "Redirect" + productId;
OrderLine productOrderLine = null;
if (contextCart != null)
{
foreach (var orderline in contextCart.OrderLines)
{
if (orderline.ProductId == productId)
{
productOrderLine = orderline;
}
}
}
var productCartContext = "";
object cartContextObj = null;
if (area.Item.TryGetValue("CartContext", ref cartContextObj))
{
string cartContext = cartContextObj.ToString();
if (!string.IsNullOrWhiteSpace(cartContext))
{
productCartContext = cartContext;
}
}
if (productStock > 0 && string.IsNullOrEmpty(productVariant))
{
<div class="product-item__quickbuy">
<div class="product__button">
<form method="get" data-id="@productId" data-number="@productNumber" data-name="@productName.Replace("\"", "\'")" data-quantity="1" data-price="@productUnformatedPrice" data-currency="@productCurrency" data-brand="@product.BrandName" data-url="@productUrl">
<input type="hidden" name="CartCmd" id="@productCartCmd" value="@(productOrderLine != null && string.IsNullOrEmpty(productVariant) ? "incorderline" : "add")" />
<input type="hidden" name="Key" id="@productKey" value="@(productOrderLine != null ? productOrderLine.Id : "")" @(productOrderLine != null && string.IsNullOrEmpty(productVariant) ? "" : "disabled") />
<input type="hidden" name="OrderContext" id="@productOrderContext" value="@productCartContext" />
<input type="hidden" name="Redirect" id="@productRedirect" value="/WebServices/MiniCart.ashx?productId=@productId&areaId=@area.ID" disabled />
<input class="form-control" autocomplete="off" type="text" name="name" placeholder="Your name here">
<input class="form-control" autocomplete="off" type="text" name="phone" placeholder="Your phone here">
<input class="form-control" autocomplete="off" type="text" name="email" placeholder="Your email here">
<button type="submit" class="btn btn--big @(!string.IsNullOrEmpty(productVariant) ? "btn--disabled" : "")" @(productStock > 0 ? "" : "disabled") data-added-msg="@(Translate("AddedToCart", "Added to cart"))">
<span class="btn__icon">
<img src="/static/dist/img/outwell/quickbuy-icon.png" alt="" />
</span>
</button>
</form>
</div>
</div>
}
}
</div>
</a>
<div class="product-item__favorite" data-module="cookiefavorite">
<svg class="heart" viewBox="-2 -2 35 35" data-product="@product.ProductNumber">
<path class="heartfill" style="fill: #ffffff; stroke: #646464; stroke-width: 2px;" d="M23.6,0c-3.4,0-6.3,2.7-7.6,5.6C14.7,2.7,11.8,0,8.4,0C3.8,0,0,3.8,0,8.4c0,9.4,9.5,11.9,16,21.2 c6.1-9.3,16-12.1,16-21.2C32,3.8,28.2,0,23.6,0z" />
</svg>
</div>
</article>
}
</div>
</div>
@*relewise tag for tracking*@
@if (viewModel.RelewiseIsActive)
{
<div class="relewise-recommendations-ribbon" data-relewise-service="@viewModel.RelewiseRecommendationService" data-relewise-number="@viewModel.RelewiseNumberOfItems" data-relewise-price="@viewModel.RelewiseMinPrice" data-relewise-user="@VisitorCookie.Current.VisitorID" data-relewise-language="@Pageview.Area.Culture" data-relewise-currency="@Pageview.Area.EcomCurrencyId" data-relewise-area="@Pageview.Area.ID" data-relewise-type="" data-relewise-dataid="@Pageview.Area.Item["RelewiseDataId"]" data-relewise-apikey="@Pageview.Area.Item["RelewiseApiKey"]" data-relewise-serverurl="@Pageview.Area.Item["RelewiseServerUrl"]"></div>
}
</section>