Expertul soluțiilor complete de iluminat
30 de ani de performanță în furnizarea de echipamente electrice,
cu servicii integrate și suport specializat pentru parteneri.
Distribuție și vânzare materiale electrice și servicii specializate pentru clienți din diverse categorii de activitate, precum distribuție locală, materiale de construcții, retail specializat, proiecte rezidențiale, industrie și mentenanță.
Proiectare și execuție pentru iluminat public stradal și rețele electrice, iluminat arhitectural și rezidențial, clădiri de birouri și medii industriale, sisteme fotovoltaice precum și pentru tablouri electrice și instalații interioare și exterioare.
Peste 30.000 SKU disponibile, pentru toate nevoile industriei și profesioniștilor.
Oferim soluții la nivel național, cu acces rapid și eficient pentru clienții din întreaga țară.
Oferim consultanță dedicată pentru selectarea soluțiilor tehnice și comerciale potrivite.
Livrare promptă și sigură, pentru desfășurarea proiectelor fără întârzieri.
ACADEMIA ELBI
Cu scopul de a împărtăși expertiza acumulată în cei 30 de ani de activitate, a fost creată Academia ELBI. Un concept dedicat prezentării proiectelor, produselor și informațiilor relevante din domeniul electric.
Error executing template "/Designs/Swift-v2/Paragraph/CmgtIgnite_ContentBanner/2_Elbi_BorderRadius.cshtml" System.NullReferenceException: Object reference not set to an instance of an object. at CompiledRazorTemplates.Dynamic.RazorEngine_2c1335a5fefc496ca1ecc83ef73d33b2.ExecuteAsync() at RazorEngine.Templating.TemplateBase.Run(ExecuteContext context, TextWriter reader) at RazorEngine.Templating.RazorEngineCore.RunTemplate(ICompiledTemplate template, TextWriter writer, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.DynamicWrapperService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass23_0.<Run>b__0(TextWriter writer) at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter) at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, Type modelType, Object model, DynamicViewBag viewBag) 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> @using Dynamicweb.Frontend @using System.Globalization @using Dynamicweb.Ecommerce.ProductCatalog @functions { private LinkViewModel GetItemLink(ItemViewModel item) { LinkViewModel link = item.GetLink("Link") ?? new LinkViewModel(); // Dynamicweb.Frontend.LinkViewModel showOnParagraph = item.GetLink("ShowOnParagraph") ?? new Dynamicweb.Frontend.LinkViewModel(); // int showOnPageParagraphId = showOnParagraph?.PageId ?? 0; // int shopPage = showOnPageParagraphId != 0 ? showOnPageParagraphId : GetPageIdByNavigationTag("Shop"); int shopPage = GetPageIdByNavigationTag("Shop"); string linkUrl = link.Url ?? string.Empty; if (linkUrl.Contains("&groupid")) { link.Url = "/Default.aspx?ID=" + shopPage + "&groupid=" + link.Url?.Split("&groupid=")[1]; } if (linkUrl.Contains("productid")) { link.Url = "/Default.aspx?ID=" + shopPage + "&" + link.RawValue; } if (string.IsNullOrEmpty(linkUrl)) { link = new LinkViewModel() { Url = "", IsExternal = false, }; } return link; } } @{ ProductViewModelSettings productSetting = new ProductViewModelSettings { LanguageId = Dynamicweb.Ecommerce.Common.Context.LanguageID, CurrencyCode = Dynamicweb.Ecommerce.Common.Context.Currency.Code, CountryCode = Dynamicweb.Ecommerce.Common.Context.Country.Code2, ShopId = Pageview.Area.EcomShopId }; string heading = Model.Item.GetRawValueString("Heading",string.Empty); bool isStretechedLink = Convert.ToBoolean(Model.Item.GetRawValueString("StretchLink", "False")); string url = string.Empty; if (isStretechedLink) { LinkViewModel link = GetItemLink(Model.Item); //Link url = link.Url; bool isLinkToProduct = url.Contains("productid"); if (isLinkToProduct) { string productId = url.Split("&productid=")[1]; ProductViewModel productViewModel = ViewModelFactory.CreateView(productSetting, productId); string groupId = productViewModel.PrimaryOrDefaultGroup.Id; url += "&GroupID=" + groupId; url = url.Split("&productid=")[0] + "&GroupID=" + groupId + "&ProductID=" + productId; } } FileViewModel media = Model.Item.GetFile("Media") ?? new FileViewModel(); string mediaWidth = Model.Item.GetRawValueString("Width","1920"); double mediaWidthDouble = double.TryParse(mediaWidth, NumberStyles.Any, CultureInfo.InvariantCulture, out mediaWidthDouble ) ? mediaWidthDouble : 1920; string mediaRatio = Model.Item.GetRawValueString("AspectRatio","1"); double mediaRatioDouble = double.TryParse(mediaRatio, NumberStyles.Any, CultureInfo.InvariantCulture, out mediaRatioDouble ) ? mediaRatioDouble : 1; double mediaHeightDouble = Math.Floor(mediaWidthDouble / mediaRatioDouble); int mediaHeightInt = (int)Math.Floor(mediaHeightDouble); var parameters = new Dictionary<string, object>(); parameters.Add("fullwidth", true); parameters.Add("quality", 95); parameters.Add("width", mediaWidthDouble); parameters.Add("ratio", mediaRatioDouble); parameters.Add("height", mediaHeightInt); parameters.Add("cssClass", "w-100 h-100 object-fit-cover rounded-6"); parameters.Add("alt",$"{heading}"); parameters.Add("svgimage", true); string horizontalAlignment = Model.Item.GetRawValueString("HorizontalAlignment", "default"); var layoutParameters = new Dictionary<string, object>(); //layout string layout = Model.Item.GetRawValueString("Layout", "align-middle-center-text-center"); string alignment = string.Empty; switch (layout) { case "align-top-left-text-left": alignment = " text-start align-items-start align-items-start"; break; case "align-top-center-text-center": alignment = " align-items-start justify-content-center"; break; case "align-top-right-text-right": alignment = " align-items-start justify-content-end"; break; case "align-middle-left-text-left": alignment = " align-items-center justify-content-start"; break; case "align-middle-center-text-center": alignment = " align-items-center justify-content-center"; break; case "align-middle-right-text-right": alignment = " align-items-center justify-content-end"; break; case "align-bottom-left-text-left": alignment = " align-items-end justify-content-start"; break; case "align-bottom-center-text-center": alignment = " align-items-end justify-content-center"; break; case "align-bottom-right-text-right": alignment = " align-items-end justify-content-end"; break; } //Advanced Configuration bool addContainer = Convert.ToBoolean(Model.Item.GetRawValueString("AddContainer", "False")); string css = addContainer ? " has-container" : string.Empty; string addContainerAttribute = addContainer? "data-swift-container" : string.Empty; string contentPadding = Model.Item.GetRawValueString("ContentPadding", "default"); string contentBackdrop = Model.Item.GetRawValueString("ContentBackdrop", "#ffffff"); bool addBackdrop = Convert.ToBoolean(Model.Item.GetRawValueString("AddBackdrop", "False")); string contentStyle = string.Empty; string contentCss = string.Empty; if (addBackdrop) { switch (contentPadding) { case "small": contentCss += " p-3"; break; case "default": contentCss += " p-4"; break; case "large": contentCss += " p-5"; break; case "extra-large": contentCss += " p-6"; break; } contentStyle += $"background-color: {contentBackdrop};"; } } <article data-dw-colorscheme="@Model?.ColorScheme?.Id" id="n@(Model.ItemId)" class="position-relative"> @if (isStretechedLink) { <a href="@url" class="stretched-link"> <span class="visually-hidden">@heading</span> </a> } <div class="banner-layout overflow-hidden"> @if (media.ToString() != "") { <div class="banner-backdrop"> @if ((media.ToString()).Contains(".mp4")) { <video autoplay muted playsinline loop class="w-100 h-100 d-block lozad" width="@(mediaWidthDouble)" height="@(mediaHeightInt)" style="object-fit: cover; align-self: center;aspect-ratio: @(mediaWidthDouble) / @(mediaHeightDouble);" data-poster="/Files/Images/Placeholders/poster-video.svg"> <source data-src="@media" type="video/mp4"> </video> } else { @RenderPartial("../Components/Ignite/CmgtIgnite_ImageOptimized.cshtml", media, parameters) } </div> } <div class="banner-content d-flex @(alignment) @(css) ignite-text-content z-2 p-4" @(addContainerAttribute)> <div class="@(contentCss)" style="@(contentStyle)"> @RenderPartial("Partials/Content/CmgtIgnite_TextContent.cshtml", Model.Item, layoutParameters) </div> </div> </div> </article>
Branduri proprii
Portofoliul ELBI include branduri proprii care răspund principalelor tendințe și cerințe ale pieței, acoperind toate segmentele de preț – de la economic la profesional.