Table of Contents

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

ProductBrowserProvider.BrowserContext

Icon

Gets or sets the icon.

public KnownIcon Icon { get; set; }

Property Value

KnownIcon

IconColor

Gets or sets the icon color.

public KnownColor IconColor { get; set; }

Property Value

KnownColor

Methods

AllowToShow(BrowserContext)

Detect show or not button to execute products from external source.

public virtual bool AllowToShow(ProductBrowserProvider.BrowserContext context)

Parameters

context ProductBrowserProvider.BrowserContext

Returns

bool

GetUrl()

Absolute url to browser

public abstract string? GetUrl()

Returns

string
To top