Cretan Mythos Ekstra Jomfru Olivenolie Økologisk 1 L

10030-1000-Oeko

Ekstra Jomfru Olivenolie, Økologisk, Koldpresset

Olivenolien har en guldgrøn nuance og en mild smag. Den er meget let krydret med en blød eftersmag. Den har en vidunderlig grøn frugtagtig aroma, som mange forbinder med nyslået græs, men der er også en antydning af grønne pærer, artiskok og umodne mandler, hvilket skyldes olivensorten "Koroneiki", der anvendes i denne ekstraordinære olivenolie.

Den er ideel til bagning, dips, pestoer og milde salater, men det er også en god olie at bruge til stegning, gryderetter og friture, så længe temperaturen ikke kommer over 190 grader.

Du kan med fordel benytte denne lækre Cretan Mythos koldpresset olivenolie, når du skal udforske det græske køkken.

 

Vi kan anbefale at prøve en græsk lasagne - opskriften finder du her.

175,00 DKK InStock
Error executing template "Designs/Swift/Paragraph/Swift_ProductAddToCart.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
   at CompiledRazorTemplates.Dynamic.RazorEngine_4252e2754b994dcbb72a746e9a5f77bd.Execute() in D:\dynamicweb.net\Solutions\FlexMedia\flexmediarapidoempty.dw9.dynamicweb-cms.com\Files\Templates\Designs\Swift\Paragraph\Swift_ProductAddToCart.cshtml:line 36
   at RazorEngine.Templating.TemplateBase.RazorEngine.Templating.ITemplate.Run(ExecuteContext context, TextWriter reader)
   at RazorEngine.Templating.RazorEngineService.RunCompile(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag)
   at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass16_0.<RunCompile>b__0(TextWriter writer)
   at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter)
   at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template)
   at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template)
   at Dynamicweb.Rendering.Template.RenderRazorTemplate()

1 @inherits Dynamicweb.Rendering.ViewModelTemplate<Dynamicweb.Frontend.ParagraphViewModel> 2 @using Dynamicweb.Ecommerce.ProductCatalog 3 @using Dynamicweb.Core.Encoders 4 @using Dynamicweb.Ecommerce.CustomerExperienceCenter.Favorites 5 @using Dynamicweb.Ecommerce 6 7 8 @{ 9 ProductViewModel product = null; 10 if (Dynamicweb.Context.Current.Items.Contains("ProductDetails")) 11 { 12 product = (ProductViewModel)Dynamicweb.Context.Current.Items["ProductDetails"]; 13 } 14 else if (Pageview.Page.Item["DummyProduct"] != null && Pageview.IsVisualEditorMode) 15 { 16 var pageViewModel = Dynamicweb.Frontend.ContentViewModelFactory.CreatePageInfoViewModel(Pageview.Page); 17 ProductListViewModel productList = pageViewModel.Item.GetValue("DummyProduct") != null ? pageViewModel.Item.GetValue("DummyProduct") as ProductListViewModel : new ProductListViewModel(); 18 19 if (productList?.Products is object) 20 { 21 product = productList.Products[0]; 22 } 23 } 24 25 string anonymousUsersLimitations = Pageview.AreaSettings.GetRawValueString("AnonymousUsers", ""); 26 bool anonymousUser = Pageview.User == null; 27 bool isErpConnectionDown = !Dynamicweb.Core.Converter.ToBoolean(Dynamicweb.Context.Current.Items["IsWebServiceConnectionAvailable"]); 28 bool hideAddToCart = anonymousUsersLimitations.Contains("cart") && anonymousUser || Pageview.AreaSettings.GetBoolean("ErpDownHideAddToCart") && isErpConnectionDown; 29 hideAddToCart = Pageview.IsVisualEditorMode ? false : hideAddToCart; 30 31 32 } 33 34 <text> 35 36 @foreach (var orderline in Dynamicweb.Ecommerce.Common.Context.Cart.OrderLines) 37 { 38 39 } 40 41 42 43 </text> 44 45 @if (product is object && !hideAddToCart) { 46 string horizontalAlign = Model.Item.GetRawValueString("HorizontalAlignment", ""); 47 horizontalAlign = horizontalAlign == "center" ? "justify-content-center" : horizontalAlign; 48 horizontalAlign = horizontalAlign == "end" ? "justify-content-end" : horizontalAlign; 49 horizontalAlign = horizontalAlign == "full" ? "" : horizontalAlign; 50 51 bool favoritesSelector = !string.IsNullOrEmpty(Model.Item.GetString("ShowAddToFavorites")) ? Model.Item.GetBoolean("ShowAddToFavorites") : false; 52 bool quantitySelector = !string.IsNullOrEmpty(Model.Item.GetString("ShowQuantitySelector")) ? Model.Item.GetBoolean("ShowQuantitySelector") : false; 53 bool unitsSelector = !string.IsNullOrEmpty(Model.Item.GetString("ShowUnitsSelector")) ? Model.Item.GetBoolean("ShowUnitsSelector") : false; 54 bool hideInventory = !string.IsNullOrEmpty(Model.Item.GetString("HideInventory")) ? Model.Item.GetBoolean("HideInventory") : false; 55 bool hideStockState = !string.IsNullOrEmpty(Model.Item.GetString("HideStockState")) ? Model.Item.GetBoolean("HideStockState") : false; 56 57 58 59 string buttonSize = Model.Item.GetRawValueString("ButtonSize", "regular"); 60 string inputSize = string.Empty; 61 62 switch (buttonSize) 63 { 64 case "small": 65 inputSize = " input-group-sm"; 66 buttonSize = " btn-sm"; 67 break; 68 case "regular": 69 buttonSize = string.Empty; 70 break; 71 case "large": 72 inputSize = " input-group-lg"; 73 buttonSize = " btn-lg"; 74 break; 75 } 76 77 string iconPath = "/Files/icons/"; 78 string url = "/Default.aspx?ID=" + (GetPageIdByNavigationTag("CartService")); 79 if (!url.Contains("LayoutTemplate")) 80 { 81 url += url.Contains("?") ? "&LayoutTemplate=Swift_MiniCart.cshtml" : "?LayoutTemplate=Swift_MiniCart.cshtml"; 82 } 83 84 85 86 87 88 89 // ShippingViewModel ship = (ShippingViewModel)Dynamicweb.Context.Current.Items["ProductDetails"]; 90 // var reserveMode = Dynamicweb.Ecommerce.Frontend.Cart.ProductReserve.Mode; 91 92 // var ship = Dynamicweb.Ecommerce.Frontend; 93 // var reserveMode2 = Dynamicweb.Ecommerce.Frontend.Cart.ProductReserve.Mode; 94 95 96 // IEnumerable<Shipping> Shipping = Dynamicweb.Ecommerce.Services.Shippings.GetShippingsWithoutRegions(true); 97 98 99 100 101 102 103 104 105 @* Get custom fields *@ 106 107 bool isList = true; 108 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request.QueryString["ProductID"])){isList=false;} 109 <small style="display: none;">isList:@isList</small> 110 111 var Shippings = Dynamicweb.Ecommerce.Services.Shippings.GetShippingsWithoutRegions(true); 112 113 Dictionary<string, FieldValueViewModel> fields = product.ProductFields; 114 115 List<FieldOptionValueViewModel> PickUpOptions = (List<FieldOptionValueViewModel>)fields["PickUpOptions"]?.Value; 116 bool AddToCartFromList = true; 117 bool HasPickUpOptions = false; 118 string AddButtonDisabled=""; 119 120 if(PickUpOptions.Count()>0){ 121 // if it has a pickup option then you need to click to the product detail page 122 AddToCartFromList = false; 123 HasPickUpOptions = true; 124 AddButtonDisabled=" disabled=\"disabled\""; 125 <small style="display: none;">Count:@PickUpOptions.Count()</small> 126 } 127 foreach (var field in PickUpOptions) { 128 <small style="display: none;" t=po>Name:@field.Name Value:@field.Value</small> 129 } 130 foreach (var shi in Shippings){ 131 <small style="display: none;">ShipID:@shi.Id</small> 132 } 133 134 135 136 bool NotToBuy = false; 137 138 foreach (var field in fields) { 139 if (field.Value.SystemName == "NotToBuy"){ 140 NotToBuy = field.Value?.Value.ToString() == "True" ? true : false; 141 } 142 @* 143 if (field.Value.SystemName == "custom"){ 144 custom = field.Value?.Value != null ? field.Value.Value.ToString() : ""; 145 } 146 *@ 147 } 148 149 150 <small style="display: none;">AddToCartFromList:@AddToCartFromList NotToBuy:@NotToBuy</small> 151 @* -- *@ 152 153 154 bool isLazyLoadingForProductInfoEnabled = Dynamicweb.Core.Converter.ToBoolean(Dynamicweb.Context.Current.Items["IsLazyLoadingForProductInfoEnabled"]); 155 156 157 158 159 160 if(NotToBuy){product.StockLevel = 0;} 161 162 string disableAddToCart = (product.StockLevel <= 0) ? "disabled" : ""; 163 bool isNeverOutOfStock = product.NeverOutOfstock; 164 disableAddToCart = isNeverOutOfStock && !isLazyLoadingForProductInfoEnabled ? "" : disableAddToCart; 165 166 string whenVariantsExist = Model.Item.GetRawValueString("WhenVariantsExist", "hide"); 167 168 string flexFill = Model.Item.GetRawValueString("HorizontalAlignment", "") == "full" ? "flex-fill" : ""; 169 string fullWidth = Model.Item.GetRawValueString("HorizontalAlignment", "") == "full" ? "w-100" : ""; 170 string addToCartIcon = Model.Item.GetRawValueString("Icon", iconPath + "shopping-cart.svg"); 171 string addToCartLabel = !addToCartIcon.Contains("_none") ? $"<span class=\"icon-2\">{ReadFile(addToCartIcon)}</span>" : ""; 172 addToCartLabel += !addToCartIcon.Contains("_none") && !Model.Item.GetBoolean("HideButtonText") ? " " : ""; 173 addToCartLabel += !Model.Item.GetBoolean("HideButtonText") ? $"<span class=\"d-none d-md-inline\">{Translate("Add to cart")}</span><span class=\"d-inline d-md-none\">{Translate("Add")}</span>" : ""; 174 175 176 177 178 if ((product.VariantInfo.VariantInfo == null || whenVariantsExist == "disable") && (!isList || AddToCartFromList) ) { 179 string unitId = !string.IsNullOrEmpty(Dynamicweb.Context.Current.Request.Form.Get("UnitId")) ? Dynamicweb.Context.Current.Request.Form.Get("UnitId") : product.DefaultUnitId; 180 if (string.IsNullOrEmpty(unitId) && product?.UnitOptions != null) { 181 if (product.UnitOptions.FirstOrDefault<UnitOptionViewModel>() != null) { 182 unitId = product.UnitOptions.FirstOrDefault<UnitOptionViewModel>().Id; 183 } 184 } 185 186 string minQty = product.PurchaseMinimumQuantity != 1 ? $"min=\"{product.PurchaseMinimumQuantity.ToString()}\"" : "min=\"1\""; 187 string stepQty = product.PurchaseQuantityStep > 1 ? product.PurchaseQuantityStep.ToString() : "1"; 188 string valueQty = product.PurchaseMinimumQuantity > product.PurchaseQuantityStep ? product.PurchaseMinimumQuantity.ToString() : stepQty; 189 disableAddToCart = product.VariantInfo.VariantInfo != null && string.IsNullOrEmpty(product.VariantId) ? "disabled" : disableAddToCart; 190 disableAddToCart = product.Discontinued ? "disabled" : disableAddToCart; 191 192 var reserveMode = Dynamicweb.Ecommerce.Frontend.Cart.ProductReserve.Mode; 193 194 195 196 197 198 if (unitsSelector && product.UnitOptions.Count > 0) { 199 <form method="post" action="/Default.aspx?ID=@(Pageview.Page.ID)&ProductId=@product.Id" id="UnitSelectorForm_@(product.Id)_@(product.VariantId)_@Model.ID"> 200 <input type="hidden" name="redirect" value="false"> 201 <input type="hidden" name="VariantID" value="@product.VariantId"> 202 <input type="hidden" name="UnitID" class="js-unit-id" value="@unitId"> 203 </form> 204 } 205 206 <div class="d-flex @horizontalAlign @fullWidth js-input-group item_@Model.Item.SystemName.ToLower()"> 207 <form method="post" action="@url" class="@fullWidth" style="z-index: 1"> 208 <input type="hidden" name="redirect" value="false"> 209 <input type="hidden" name="ProductId" value="@product.Id"> 210 <input type="hidden" name="ProductName" value="@HtmlEncoder.HtmlEncode(product.Name)"> 211 <input type="hidden" name="ProductVariantName" value="@product.VariantName"> 212 <input type="hidden" name="ProductCurrency" value="@Dynamicweb.Ecommerce.Common.Context.Currency.Code"> 213 <input type="hidden" name="ProductPrice" value="@PriceViewModelExtensions.ToStringInvariant(product.Price)"> 214 <input type="hidden" name="ProductReferer" value="component_ProductAddToCart"> 215 <input type="hidden" name="cartcmd" value="add"> 216 217 @if (reserveMode == Dynamicweb.Ecommerce.Frontend.Cart.ProductReserveMode.AddToCart) 218 { 219 <input type="hidden" name="GetReservedAmount" value="true"> 220 } 221 222 @if (!string.IsNullOrEmpty(product.VariantId)) 223 { 224 <input type="hidden" name="VariantId" value="@product.VariantId"> 225 } 226 227 @if (!product.NeverOutOfstock) 228 { 229 <input type="hidden" name="Stock" value="@product.StockLevel"> 230 231 <template class="js-out-of-stock-notice"> 232 <div class="modal-header"> 233 <h1 class="modal-title fs-5">@Translate("Stock limit")</h1> 234 <button b=a type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button> 235 </div> 236 <div class="modal-body"> 237 @Translate("There are not enough products in stock. The product might be sold out or discontinued. Please adjust the quantity.") 238 </div> 239 </template> 240 } 241 242 @if(HasPickUpOptions){ 243 <div class="PickUpOptionsText py-lg-2">@Translate("PickUpOptionsText")</div> 244 <div class="PickUpOptions"> 245 246 @{ 247 int PUOcnt=0; 248 foreach (var PuO in PickUpOptions){ 249 bool activShip = false; 250 foreach (var shi in Shippings){ 251 252 if(shi.Id.ToUpper()==PuO.Value.ToUpper() || PuO.Value == "CanBeSend"){ 253 activShip=true; 254 } 255 256 } 257 if(activShip){ 258 PUOcnt++; 259 string PuOValue = PuO.Value; 260 string PuOName = PuO.Name; 261 262 263 <div class="form__field-group dw-mod pb-lg-3"><input type="radio" id="PickUpOptions_@(PUOcnt)" name="EcomOrderLineFieldInput_PickUpAt" value="@PuOValue" class="form__control dw-mod" required onchange="selectedPick();" /><label for="PickUpOptions_@(PUOcnt)" class="dw-mod">@PuOName</label></div> 264 265 } 266 } 267 } 268 </div> 269 <script> 270 function selectedPick(){ 271 a=document.getElementsByName("EcomOrderLineFieldInput_PickUpAt");b=true; 272 for(i=0;i<a.length;i++){if(a[i].checked){b=false;}} 273 // c=document.getElementsByClassName("item_swift_productaddtocart")[0].getElementsByTagName("button")[0].disabled=b; 274 c=document.getElementsByClassName("item_swift_productaddtocart")[0].getElementsByClassName("js-add-to-cart-button")[0].disabled=b; 275 276 } 277 window.addEventListener('load', function(){selectedPick();}) 278 </script> 279 280 281 <style> 282 .PickUpOptions input[type="checkbox"].form__control, .PickUpOptions input[type="radio"].form__control { 283 display: inline; 284 position: absolute; 285 opacity: 0; 286 width: auto; 287 height: 0; 288 margin: 0; 289 } 290 .PickUpOptions input[type="checkbox"].form__control + label, .PickUpOptions input[type="radio"].form__control + label { 291 position: relative; 292 line-height: 17px; 293 display: inline-block; 294 } 295 .PickUpOptions input[type="checkbox"].form__control + label::before, .PickUpOptions input[type="radio"].form__control + label::before { 296 content: ""; 297 width: 17px; 298 height: 17px; 299 border: 1px #d1d1d1 solid; 300 display: inline-block; 301 margin-right: 5px; 302 vertical-align: top; 303 border-radius: 99px; 304 } 305 .PickUpOptions input[type="radio"].form__control:checked + label::after { 306 content: ""; 307 height: 7px; 308 width: 7px; 309 left: 5px; 310 top: 5px; 311 display: inline-block; 312 position: absolute; 313 background: #545454; 314 border-radius: 99px; 315 } 316 317 </style> 318 319 } 320 321 @if (stepQty != "1") 322 { 323 <template class="js-step-quantity-warning"> 324 <div class="modal-header"> 325 <h1 class="modal-title fs-5">@Translate("The quantity is not valid")</h1> 326 </div> 327 <div class="modal-body"> 328 @Translate("Please select a quantity that is dividable by") @stepQty 329 </div> 330 </template> 331 } 332 @if (product.PurchaseMinimumQuantity != 1) 333 { 334 <template class="js-min-quantity-warning"> 335 <div class="modal-header"> 336 <h1 class="modal-title fs-5">@Translate("The product could not be added to the cart")</h1> 337 </div> 338 <div class="modal-body"> 339 @Translate("The quantity is not valid. You must buy at least") @product.PurchaseMinimumQuantity 340 </div> 341 </template> 342 } 343 344 @if (quantitySelector || (!anonymousUser && product.VariantInfo.VariantInfo != null) || (!anonymousUser && favoritesSelector)) 345 { 346 <input type="hidden" id="Unit_@(product.Id)_@product.VariantId" name="UnitID" value="@unitId" /> 347 } 348 349 <div class="d-flex flex-row w-100"> 350 @if (!quantitySelector) 351 { 352 <input id="Quantity_@(product.Id)_@product.VariantId" class="swift_quantity_field" name="Quantity" value="@valueQty" type="hidden" @disableAddToCart> 353 } 354 355 356 357 @if (unitsSelector && product.UnitOptions.Count > 0 ) 358 { 359 string selectedUnitName = !string.IsNullOrEmpty(unitId) && product?.UnitOptions != null ? unitId : product.UnitOptions.FirstOrDefault<UnitOptionViewModel>().Name; 360 361 foreach (var unitOption in product.UnitOptions) 362 { 363 if (unitOption.Id == unitId) 364 { 365 selectedUnitName = unitOption.Name; 366 } 367 } 368 369 <div class="d-flex flex-column gap-2 w-100"> 370 <div class="input-group input-primary-button-group flex-nowrap@(inputSize)"> 371 @if (!anonymousUser && favoritesSelector) 372 { 373 @RenderPartial("Components/ToggleFavorite.cshtml", product) 374 } 375 376 @if (quantitySelector) 377 { 378 <input id="Quantity_@(product.Id)_@product.VariantId" name="Quantity" value="@valueQty" step="@stepQty" @minQty class="form-control swift_quantity-field" style="min-width: 60px; max-width: 100px; z-index: 1" type="number" onchange="swift.Cart.UpdateOnEnterKey(event)" onkeyup="swift.Cart.UpdateOnEnterKey(event)" @disableAddToCart> 379 } 380 381 <button b=b class="btn btn-secondary @flexFill dropdown-toggle" type="button" data-bs-toggle="dropdown" aria-expanded="false"> 382 @selectedUnitName 383 </button> 384 385 <ul class="dropdown-menu swift_unit-field"> 386 @foreach (var unitOption in product.UnitOptions) 387 { 388 var selectedUnit = unitOption.Id == unitId ? "selected" : ""; 389 390 <li> 391 <button b=c type="button" class="btn dropdown-item" data-value="@unitOption.Id" onclick="document.querySelector('#UnitSelectorForm_@(product.Id)_@(product.VariantId)_@Model.ID').querySelector('.js-unit-id').value = this.getAttribute('data-value'); 392 document.querySelector('#Unit_@(product.Id)_@product.VariantId').value = this.getAttribute('data-value'); 393 swift.PageUpdater.Update(document.querySelector('#UnitSelectorForm_@(product.Id)_@(product.VariantId)_@Model.ID'))"> 394 <span>@unitOption.Name</span> 395 <span> 396 @if (unitOption.StockLevel > 0) 397 { 398 if (!Model.Item.GetBoolean("HideInventory")) 399 { 400 <span class="small text-success">@unitOption.StockLevel @Translate("In stock")</span> 401 } 402 else 403 { 404 <span class="small text-success">@Translate("In stock")</span> 405 } 406 } 407 else 408 { 409 <span class="small text-danger">@Translate("Out of Stock")</span> 410 } 411 </span> 412 </button> 413 </li> 414 } 415 </ul> 416 </div> 417 <button b=d type="button" onclick="swift.Cart.Update(event)" class="btn btn-primary @(buttonSize) js-add-to-cart-button" style="white-space: nowrap" @disableAddToCart title="@Translate("Add to cart")" id="AddToCartButton@(product.Id)_@Pageview.CurrentParagraph.ID"> 418 @if (!Model.Item.GetBoolean("HideButtonText")) 419 { 420 <span class="text-nowrap d-flex align-items-center justify-content-center gap-2"> 421 @addToCartLabel 422 </span> 423 } 424 else 425 { 426 @addToCartLabel 427 } 428 </button> 429 </div> 430 } 431 else 432 { 433 if (!anonymousUser && favoritesSelector) 434 { 435 @RenderPartial("Components/ToggleFavorite.cshtml", product) 436 } 437 438 <div class="input-group input-primary-button-group flex-nowrap@(inputSize)"> 439 @if (quantitySelector) 440 { 441 <input id="Quantity_@(product.Id)_@product.VariantId" name="Quantity" value="@valueQty" step="@stepQty" @minQty class="form-control swift_quantity-field" style="min-width: 60px; max-width: 100px; z-index: 1" type="number" onchange="swift.Cart.UpdateOnEnterKey(event)" onkeyup="swift.Cart.UpdateOnEnterKey(event)" @disableAddToCart> 442 } 443 444 445 446 447 <button b=e type="button" onclick="swift.Cart.Update(event)" @AddButtonDisabled class="btn btn-primary @(buttonSize) @flexFill js-add-to-cart-button" style="white-space: nowrap" @disableAddToCart title="@Translate("Add to cart")" id="AddToCartButton@(product.Id)_@Pageview.CurrentParagraph.ID"> 448 @if (!Model.Item.GetBoolean("HideButtonText")) 449 { 450 <span class="text-nowrap d-flex align-items-center justify-content-center gap-2"> 451 @addToCartLabel 452 </span> 453 } 454 else 455 { 456 @addToCartLabel 457 } 458 </button> 459 </div> 460 } 461 </div> 462 </form> 463 </div> 464 } else if (isList || !AddToCartFromList) { 465 string buttonText = Translate("Select"); 466 <div class="d-flex @horizontalAlign w-100 item_@Model.Item.SystemName.ToLower()"> 467 <a class="btn btn-primary@(buttonSize) @fullWidth" title="@Translate("Select")">@buttonText</a> 468 </div> 469 470 } else if (whenVariantsExist == "modal") { 471 string buttonText = Translate("Select"); 472 string variantId = !string.IsNullOrWhiteSpace(product.VariantId) ? product.VariantId : product.DefaultVariantId; 473 474 string variantSelectorServicePageId = !string.IsNullOrEmpty(Model.Item.GetString("VariantSelectorServicePageId")) ? Model.Item.GetLink("VariantSelectorServicePageId").PageId.ToString() : ""; 475 variantSelectorServicePageId = variantSelectorServicePageId != "" ? variantSelectorServicePageId : GetPageIdByNavigationTag("VariantSelectorService").ToString(); 476 477 <div class="d-flex @horizontalAlign w-100 item_@Model.Item.SystemName.ToLower()"> 478 @if (!anonymousUser && favoritesSelector) 479 { 480 @RenderPartial("Components/ToggleFavorite.cshtml", product) 481 } 482 <form action="/Default.aspx?ID=@variantSelectorServicePageId" data-response-target-element="DynamicModalContent" data-preloader="inline" style="z-index: 1" class="@fullWidth"> 483 <input type="hidden" name="ProductID" value="@product.Id"> 484 <input type="hidden" name="VariantID" value="@variantId"> 485 <input type="hidden" name="QuantitySelector" value="@quantitySelector.ToString()"> 486 <input type="hidden" name="HideInventory" value="@hideInventory.ToString()"> 487 <input type="hidden" name="HideStockState" value="@hideStockState.ToString()"> 488 <input type="hidden" name="VariantSelectorServicePage" value="@variantSelectorServicePageId"> 489 <input type="hidden" name="ViewType" value="ModalContent"> 490 @if (isLazyLoadingForProductInfoEnabled) 491 { 492 @* If lazy loading is enabled, bypass it because we're loading a modal window, so render everything as if it was server-side *@ 493 <input type="hidden" name="getproductinfo" value="true"> 494 } 495 <button b=f type="button" onclick="swift.PageUpdater.Update(event)" class="btn btn-primary@(buttonSize) @fullWidth" title="@Translate("Select")" data-bs-toggle="modal" data-bs-target="#DynamicModal" id="OpenVariantSelectorModal@(product.Id)_@Pageview.CurrentParagraph.ID">@buttonText</button> 496 </form> 497 </div> 498 } 499 } else if (Pageview.IsVisualEditorMode) { 500 <div class="alert alert-dark m-0">@Translate("No products available")</div> 501 } 502
På lager Afsendes indenfor 3-4 hverdage

Terra Creta ligger på Vest Kreta i det anerkendte område, Kolymvari (udtales Kolymbari), hvor de har 45 medarbejdere og ca. 1.200 bønder, der leverer oliven til dem. De har fire agronomer, som uddanner bønderne. Agronomerne tager løbende prøver af oliven, så de kan vejlede bønderne om, hvordan olivenlundene skal passes, for at sikre den højeste kvalitet af oliven. Når en ny bonde uddannes, halveres deres gødning- og vandforbrug typisk på grund af agronomernes innovative og videnskabelige tilgang til dyrkning af oliven og miljøvenlig produktion.

Terra Cretas filosofi kredser om tre elementer: fair handel med deres bønder, bæredygtighed og høj kvalitet. Alle deres oliven håndhøstes, som er en mere skånsom proces, og giver en langt bedre kvalitet. Når oliven høstes, fragtes de til Terra Cretas ”state-of-the-art” olivenmølle, hvor olien udvindes samme aften. Terra Creta producerer kun ekstra jomfru olivenolie.

Denne olivenolie er et økologisk certificeret produkt (COSMOS), som betyder at olivenolien er dyrket på en bæredygtig og miljøvenlig måde, der ikke efterlader et CO2 aftryk. Det er en ekstra jomfru olivenolie, der bl.a. har vundet priser ved Singapore Taste Awards, BIOL, Domina D-IOOC i Italien og Kotinos IOOC i Grækenland. Den fås på flaske, i spray og som bag-in-box, og er designet specielt til madlavning og stegning.

Ønsker du, at læse om COSMOS certificering, finder du mere information her. 

Det er den eneste ekstra jomfru olivenolie, du kan følge online. Når man taster Lot-nummeret ind på den flaske man har, kan man få analysen af olivenolien i flasken. 

Besøg Terra Cretas produkt side her.

 

Gennemsnitlige værdier pr. 100 ml

Denne hjemmeside bruger cookies

Dette website bruger cookies til at følge din adfærd og for at forbedre brugeroplevelsen på sitet.

Du kan altid slette gemte cookies i dine browserinstillinger

Show details