Class ProductBrowserProvider
- Namespace
- Dynamicweb.Ecommerce.Extensibility.Provider
- Assembly
- Dynamicweb.Ecommerce.dll
Allow product selector control to select product from external sources. Inherit from this base class to implenent specific provider.
public abstract class ProductBrowserProvider
- Inheritance
-
ProductBrowserProvider
- Inherited Members
Examples
using System;
using System.Globalization;
using Dynamicweb.Core.UI;
using Dynamicweb.Core.UI.Icons;
using Dynamicweb.Ecommerce.Extensibility.Provider;
namespace Dynamicweb.Ecommerce.Examples.Extensibility.Provider;
[Dynamicweb.Extensibility.AddIns.AddInName("MyProductBrowserForOrderDiscount")]
public class ProductBrowserForOrderDiscount : ProductBrowserProvider
{
public ProductBrowserForOrderDiscount()
{
Icon = KnownIcon.Album;
IconColor = KnownColor.Pim;
}
public override bool AllowToShow(BrowserContext context)
{
Context = context;
return "formOrderDiscount_edit".Equals(context?.CallerForm, StringComparison.OrdinalIgnoreCase);
}
public override string? GetUrl()
{
if (Context is null)
return null;
string buttonLink = string.Format(CultureInfo.InvariantCulture, "/Admin/Module/eCom_Catalog/dw7/edit/EcomGroupTree.aspx?CMD=ProductsAndGroupsSelector&caller=opener.document.getElementById('{3}').{0}_some_value&id={0}&caller2={0}_some&onlygroups={1}&showSearches={2}&SetLanguageID={4}", Context.ControlId, false, false, Context.CallerForm, "");
return buttonLink;
}
}
using System;
using System.Globalization;
using Dynamicweb.Core.UI;
using Dynamicweb.Core.UI.Icons;
using Dynamicweb.Ecommerce.Extensibility.Provider;
namespace Dynamicweb.Ecommerce.Examples.Extensibility.Provider;
[Dynamicweb.Extensibility.AddIns.AddInName("MyProductBrowserForSalesDiscount")]
public class ProductBrowserForSalesDiscount : ProductBrowserProvider
{
public ProductBrowserForSalesDiscount()
{
Icon = KnownIcon.AccountBalanceWallet;
IconColor = KnownColor.Ecommerce;
}
public override bool AllowToShow(BrowserContext context)
{
Context = context;
return "Form1".Equals(context?.CallerForm, StringComparison.OrdinalIgnoreCase) && "DiscountValueProductsSelector".Equals(context.ControlId, StringComparison.OrdinalIgnoreCase);
}
public override string? GetUrl()
{
if (Context is null)
return null;
string buttonLink = string.Format(CultureInfo.InvariantCulture, "/Admin/Module/eCom_Catalog/dw7/edit/EcomGroupTree.aspx?CMD=ProductSelectors&caller=opener.document.getElementById('{1}').{0}_value&id={0}&caller2={0}&doAppend=true", Context.ControlId, Context.CallerForm);
return buttonLink;
}
}
Properties
Context
The control context.
public ProductBrowserProvider.BrowserContext? Context { get; set; }
Property Value
Icon
Gets or sets the icon.
public KnownIcon Icon { get; set; }
Property Value
IconColor
Gets or sets the icon color.
public KnownColor IconColor { get; set; }
Property Value
Methods
AllowToShow(BrowserContext)
Detect show or not button to execute products from external source.
public virtual bool AllowToShow(ProductBrowserProvider.BrowserContext context)
Parameters
contextProductBrowserProvider.BrowserContext
Returns
GetUrl()
Absolute url to browser
public abstract string? GetUrl()