Skip to content

Product tables and order forms Pro

Pro: show products as a searchable, sortable table so a buyer can order forty lines without opening forty pages.

Updated August 26, 2026

A saved view is a query plus a presentation: which products, which columns, whether shoppers can search, sort, page and tick multiple lines. Build it once under StoreMaster → Product tables and place it anywhere with a shortcode.

[storemaster_table view="0198a1b2-c3d4-7e5f-8a9b-0c1d2e3f4a5b"]

Choosing the products

Filter by category, tag, product type, stock and sale status, or name specific products to include or exclude.

One source is worth calling out: previously ordered. It builds the view from the signed-in customer’s own order history, which turns a table into a reorder form — the single fastest path for a repeat trade buyer. It combines with the other constraints rather than replacing them.

Columns

Image, name, SKU, price, availability, categories, tags, description, weight, dimensions, rating, lead time, a quantity box and a buy control. You choose which appear, in which order, and you can override any heading.

The price column shows the price that shopper would pay: it comes from the same pricing pipeline as the product page, so a trade customer sees their trade price in the table without you configuring anything twice.

The order form

Turn on multi-add and each row gains a checkbox and a quantity box, with a single Add selected to basket button.

Every line goes through exactly the same validation a single add-to-cart does — quantity rules, access, stock, purchasability. When a line fails:

  • it is named, so the buyer knows which one and why;
  • the other lines are added anyway, unchanged;
  • nothing is silently adjusted. A buyer who asks for 7 of something sold in sixes is told, not quietly given 6 or 12.

Products with choices to make — variations, for instance — show a link to the product page rather than a buy button, because the real form and its validation live there.

Search, sort and paging

All three are plain links and a plain form, so they work with JavaScript off, they are crawlable, and a filtered table can be linked to.

Two tables on one page do not interfere: each namespaces its own query parameters.

Accessibility

A real <table> with a caption stating what it contains and how many rows, column headers scoped correctly, sortable headers announcing their direction, and a labelled checkbox per row naming its product. The buy button’s accessible name includes the product, so a screen-reader user hears "Add Trade Bracket" rather than forty buttons all called "Add".

Still stuck? Email [email protected].