B
Bonzai 2
Web Parts

Marketplace

Display any SharePoint list as a searchable, filterable catalog with grid or list layouts.

ListsFeature Parity: 85%

Get Marketplace Working in 3 Steps

20-30 minutes

Prerequisites

  • Bonzai 2 package installed on your site
  • A SharePoint list with items to display
1

Add the web part to your page

Edit the page, click the + button, and search for "Marketplace" in the Bonzai category.

2

Select your list

Open the property pane, select your SharePoint list from the dropdown picker.

3

Configure columns and publish

Toggle which columns to display, set layout options, and publish your page.

Dynamic Schema Discovery

Unlike traditional web parts that require specific list schemas, Marketplace automatically discovers columns from any SharePoint list. Just point it at your list and toggle which fields to display.

When to Use This Web Part

Use this when you need to...

  • Display IT service catalog or help desk offerings
  • Create an internal product or equipment inventory
  • Build a knowledge base or FAQ directory
  • Show office supplies or asset catalog
  • Display any structured list data with search and filtering

Best page locations

  • Service catalogs — IT services, HR resources, facilities
  • Inventory pages — equipment, supplies, assets
  • Directory listings — vendors, partners, resources
  • Knowledge bases — FAQs, policies, procedures

Consider alternatives when...

  • Document libraries — use Documents Rollup instead
  • News articles — use News Rollup instead
  • People/employees — use Employee Directory instead
  • Events with dates — use Events Rollup instead

Related web parts:

Documents Rollupdisplaying files from document librariesAdvanced Linkssimple link tiles without list dataLandingmanually curated content cards

Layout Templates

Marketplace supports two display layouts:

Grid (Tiles)Card-based grid with 2-5 columns per row — best for visual catalogs
List (Rows)Compact row-based layout — best for data-dense listings

Key Features

Search

Filter items by title with debounced search

Category Filtering

Auto-discovered from Choice columns

Sorting

Sort by any sortable column, ascending or descending

Create New

Button opens SharePoint new item form

Step-by-Step Configuration

1

Create or identify your SharePoint list

Marketplace works with any SharePoint list. Create a new list or use an existing one with the data you want to display.

Add a Choice column for categories — Marketplace will auto-discover it for filtering.

2

Edit your SharePoint page

Navigate to the page where you want to add the Marketplace. Click "Edit" in the top right corner.
3

Add the Marketplace web part

Click the + button in any section, type "Marketplace" in the search box, and select "Bonzai Marketplace" from the results.
4

Open the property pane

Click the pencil icon on the web part to open the property pane on the right side.
5

Set the title (optional)

Enter a descriptive title like "IT Services", "Equipment Catalog", or "Office Supplies".
6

Select your list

In the "Data Source" group, use the Marketplace List picker to select your SharePoint list. The web part will load the list schema automatically.

To use a list from a different site, enter the Site URL first, then pick the list — changing Site URL clears the current list selection.

7

Choose your layout

In "Display Settings", pick Grid (Tiles) or List (Rows). For Grid, choose how many columns per row (2-5). The columns-per-row dropdown is disabled when List layout is selected.
8

Configure column visibility

In the "Column Configuration" group, flip each field toggle to Visible or Hidden to control what appears on item cards. Title is visible by default when no columns are explicitly selected.

Toggles are generated dynamically from your list schema after a list is picked, and the group shows an "X of Y columns selected" summary.

9

Enable/disable features

In the "Features" group, toggle Enable Search, Enable Sorting, Enable Category Filters, and Show Create Button as needed.
10

Set pagination

Use the Items per Page slider (6-50, in steps of 6, default 12) to control how many items appear per page.
11

Save and publish

Click outside the property pane, then save and publish your page. Your marketplace is now live!

Common Configurations

Copy these ready-to-use configurations for common scenarios:

IT Service Catalog

Searchable IT services with categories

Best for: IT help desk, service portal
Configuration
TitleIT Services
LayoutGrid (3 columns)
Items Per Page12
Enable SearchYes
Enable Category FilterYes
Show Create ButtonNo

Office Supplies Catalog

Orderable supplies with create option

Best for: Facilities, office management
Configuration
TitleOffice Supplies
LayoutGrid (4 columns)
Items Per Page24
Enable SearchYes
Enable SortingYes
Show Create ButtonYes

Equipment Inventory

Asset tracking with list view

Best for: IT asset management, facilities
Configuration
TitleEquipment Inventory
LayoutList
Items Per Page20
Enable SearchYes
Enable SortingYes
Enable Category FilterYes

Knowledge Base

FAQ or policy directory

Best for: HR, Legal, internal documentation
Configuration
TitleKnowledge Base
LayoutList
Items Per Page15
Enable SearchYes
Enable Category FilterYes
Show Create ButtonNo

Best Practices

Add a Choice column for categories

If your list has a Choice column, Marketplace automatically discovers it and creates a filter dropdown. This is the easiest way to enable category filtering.

Use meaningful column names

Column titles are displayed in item cards. Use clear, user-friendly names like "Description" instead of internal names like "Desc1".

Configure columns for your use case

Show only the most important columns on cards. Too many columns create cluttered cards. Users can click items to see full details in SharePoint.

Pagination handles large lists

Marketplace uses SharePoint paging tokens for efficient pagination. It works well with lists containing thousands of items.

User/Person fields show display names

Person columns that you toggle on, plus Author and Editor, are expanded via $expand in the same items request to show display names. If the expansion fails (e.g. the field was deferred or permissions are missing), the value falls back to User #123 using the numeric user ID.

Modified date and author are always visible

Every item card (both Grid and List layouts) always shows the Modified date and Author display name below the fields you selected. Your column toggles only control which additional fields appear alongside the title.

Troubleshooting

Still need help? Contact Bonzai Support


Reference

Technical details for developers and advanced users.

Property Pane Configuration

The property pane is organized into four groups: Data Source,Display Settings, Features, andColumn Configuration. Column toggles in the last group are generated dynamically from the selected list's schema.

PropertyGroupControlDescription & Default
titleData SourceText fieldWeb part title displayed above the content. Default: Marketplace.
siteUrlData SourceText fieldSite URL for cross-site queries. Leave empty for the current site. Changing this clears the selected list.
listNameData SourceList PickerSharePoint list to display. Uses PropertyFieldListPicker filtered to BaseTemplate=100 (generic lists), hidden lists excluded. Stored as an object with id, title, and url.
layoutTypeDisplay SettingsDropdowngrid (Tiles) or list (Rows). Default: grid.
itemsPerRowDisplay SettingsDropdown (2-5)Columns per row for grid layout. Default: 3. Automatically disabled when layoutType is list.
itemsPerPageDisplay SettingsSliderItems per page. Min 6, max 50, step 6. Default: 12.
enableSearchFeaturesToggleShows a search box (Title-only, 300 ms debounce). Default: On.
enableSortingFeaturesToggleShows sort dropdown and direction button (ascending/descending). Default: On.
enableCategoryFilterFeaturesToggleShows one dropdown per Choice column auto-discovered from the schema. Default: On.
showCreateButtonFeaturesToggleShows "Create New" button that opens the list's NewForm in a new tab. Default: On.
displayColumnsColumn ConfigurationDynamic TogglesComma-separated list of column internal names to display. Populated automatically by toggling each field Visible/Hidden. A summary "X of Y columns selected" is shown below the toggles.

Reserved property: viewName

The viewName property exists in IMarketplaceWebPartProps and the manifest defaults but is currently not exposed in the property pane UI and not consumed by the query. It is reserved for future view-based filtering and can be safely ignored today.

List Requirements

Marketplace works with any SharePoint list (BaseTemplate 100). The only required column is the default Title field, which is used for item names and search.

Minimum Columns

ColumnTypeRequiredNotes
TitleSingle line of textYesUsed for item name and search filtering
CreatedDate/TimeNoAvailable for sorting and display
ModifiedDate/TimeNoDefault sort field when no custom sort is set
AuthorPersonNoExpanded to show display name when present

Recommended Columns (Optional)

ColumnTypePurpose
TitleSingle line of textItem name (always displayed)
DescriptionMultiple lines of textItem details
CategoryChoiceEnables category filtering dropdown
StatusChoiceItem status (Active, Inactive, etc.)
OwnerPersonResponsible person (displays name)

Features Checklist

  • Dynamic schema discovery (works with any generic list, BaseTemplate=100)
  • Grid and List layout options
  • Configurable columns per row (2-5) for grid layout
  • Title-only search with 300 ms debounce (uses OData substringof)
  • Category filtering (auto-discovered from Choice columns with defined choices)
  • Sorting by any sortable field (ascending/descending), default Modified desc
  • Pagination with SharePoint paging tokens (@odata.nextLink), with previous/next history
  • Clear Filters button (appears only when a search text or category filter is active)
  • Create New button (opens the list's NewForm in a new tab)
  • Click-to-view (opens the item's DispForm in a new tab)
  • Always-visible Modified date and Author display name on each item
  • User/Person field expansion via $expand for selected user fields plus Author/Editor
  • Cross-site data source support via siteUrl
  • Responsive grid (CSS grid-template-columns)
  • Theme Manager integration (loadBonzaiTheme) and Fluent UI controls
  • Resilient query fallbacks (retries with Modified desc sort, then with simplified select/expand)

Data Source

Marketplace queries SharePoint lists through the /_api/web/lists REST endpoint using SPHttpClient. It fetches the list schema (fields, form URLs,ItemCount) and then uses targeted $select plus$expand for User fields. Pagination is handled with SharePoint's@odata.nextLink token; a local history of tokens is kept so the previous button also works. The schema is cached per siteUrl|listName and cleared when either property changes.

Total counts come from the list's ItemCount when no filters are applied. When a search or category filter is active, the exact filtered count is not available, so the pagination label shows an estimate using the + suffix (for example, 1-12 of 12+).

Migration from Classic Bonzai

The Marketplace web part in Bonzai 2 provides similar functionality to the Classic Bonzai Marketplace, with modernized architecture using React and SPFx. Key improvements include dynamic schema discovery, SharePoint paging tokens for large lists, and automatic User field expansion.