PHPackages                             dynamic/silverstripe-products - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. dynamic/silverstripe-products

ActiveSilverstripe-vendormodule[Utility &amp; Helpers](/categories/utility)

dynamic/silverstripe-products
=============================

Create a product catalog in SilverStripe

2.0.0(1y ago)22.9k4[1 issues](https://github.com/dynamic/silverstripe-products/issues)1BSD-3-ClausePHP

Since Oct 30Pushed 1y ago5 watchersCompare

[ Source](https://github.com/dynamic/silverstripe-products)[ Packagist](https://packagist.org/packages/dynamic/silverstripe-products)[ RSS](/packages/dynamic-silverstripe-products/feed)WikiDiscussions 2 Synced 1mo ago

READMEChangelog (8)Dependencies (6)Versions (13)Used By (1)

SilverStripe Products
=====================

[](#silverstripe-products)

A module to display a product catalog in your website.

[![Build Status](https://camo.githubusercontent.com/a17b3e6649619145b2df428a405827869795f03663d67c4f9ae83f03a35b06cd/68747470733a2f2f7472617669732d63692e6f72672f64796e616d69632f73696c7665727374726970652d70726f64756374732e7376673f6272616e63683d6d6173746572)](https://travis-ci.org/dynamic/silverstripe-products)[![Scrutinizer Code Quality](https://camo.githubusercontent.com/00473fedcbd5817f96d900deec3586eda3340005db2e3f15f1509e8d49c07010/68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f64796e616d69632f73696c7665727374726970652d70726f64756374732f6261646765732f7175616c6974792d73636f72652e706e673f623d6d6173746572)](https://scrutinizer-ci.com/g/dynamic/silverstripe-products/?branch=master)[![Build Status](https://camo.githubusercontent.com/2ea5dc9eaf0c9e72085471db1946740be8181fb8cb13f2d05249bca279572ee4/68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f64796e616d69632f73696c7665727374726970652d70726f64756374732f6261646765732f6275696c642e706e673f623d6d6173746572)](https://scrutinizer-ci.com/g/dynamic/silverstripe-products/build-status/master)[![codecov](https://camo.githubusercontent.com/ee044328e4e2f48595e56bde625494a62e3703d96c56408edad4ca63b8654ad5/68747470733a2f2f636f6465636f762e696f2f67682f64796e616d69632f73696c7665727374726970652d70726f64756374732f6272616e63682f6d61737465722f67726170682f62616467652e737667)](https://codecov.io/gh/dynamic/silverstripe-products)

[![Latest Stable Version](https://camo.githubusercontent.com/78104574086b8982332204bc8703095d074e167973ad9cfc9c02fd27e4736cfa/68747470733a2f2f706f7365722e707567782e6f72672f64796e616d69632f73696c7665727374726970652d70726f64756374732f762f737461626c65)](https://packagist.org/packages/dynamic/silverstripe-products)[![Total Downloads](https://camo.githubusercontent.com/b07c30bea757304a7be21668c98565704e889824cb68c87b8f374eddd1574505/68747470733a2f2f706f7365722e707567782e6f72672f64796e616d69632f73696c7665727374726970652d70726f64756374732f646f776e6c6f616473)](https://packagist.org/packages/dynamic/silverstripe-products)[![Latest Unstable Version](https://camo.githubusercontent.com/b50c15e1e9f99256c4861775bdbb1a534f38b69efb7832c9b095f732139c26a9/68747470733a2f2f706f7365722e707567782e6f72672f64796e616d69632f73696c7665727374726970652d70726f64756374732f762f756e737461626c65)](https://packagist.org/packages/dynamic/silverstripe-products)[![License](https://camo.githubusercontent.com/72befa9074bacdca75ae4b31c4480966c51471f65486024c63bc31e799c55ae8/68747470733a2f2f706f7365722e707567782e6f72672f64796e616d69632f73696c7665727374726970652d70726f64756374732f6c6963656e7365)](https://packagist.org/packages/dynamic/silverstripe-products)

Overview
--------

[](#overview)

Products are created as pages in your website, and can be organized by Product Categories. Product files, such as the included Brochures, can be attached to products. With the Product File Collection page, you can display a filterable list of all brochures across the system.

Instructions to create custom product files are included below.

Requirements
------------

[](#requirements)

- SilverStripe ^4.0
- dynamic/silverstripe-collection ^2.0
- symbiote/silverstripe-gridfieldextensions ^3.0
- bummzack/sortablefile ^2.0

Installation
------------

[](#installation)

```
composer require dynamic/silverstripe-products

```

Usage
-----

[](#usage)

### Upgrading to 1.1.0

[](#upgrading-to-110)

Upgrading from 1.0.x to 1.1.0 will require running the following task as the Product's image upload now supports `mp4` video files for upload.

`sake dev/tasks/product-image-relation-update-task`

### Related Products

[](#related-products)

If you'd like to add the ability to include related products on a product page, you can apply the `RelatedProductsDataExtension` to `Product`.

In `config.yml`:

```
Dynamic\Products\Page\Product:
  extensions:
    - Dynamic\Products\Extension\RelatedProductsDataExtension

```

Related products can be added to any page type on your website, such as a `BlogPost`.

### Custom Product Files

[](#custom-product-files)

SilverStripe Products includes a Brochure object, which is an example of a Product File that can be assigned to products. You can create additional product file types per the following example:

```
use Dynamic\Products\Extension\ProductFileDataExtension;

class SpecSheet extends ProductFile
{
	private static $table_name = 'SpecSheet';

	private static $extensions = [ProductFileDataExtension::class];
}

```

Then, create a DataExtension and apply it to `Product`. Include the relation to the new product file:

```
private static $many_many = [
	'SpecSheets' => SpecSheet::class,
];

private static $many_many_extraFields = [
	'SpecSheets' => [
		'SortOrder' => 'Int',
	]
];

```

License
-------

[](#license)

See [License](license.md)

Maintainers
-----------

[](#maintainers)

- Dynamic

Bugtracker
----------

[](#bugtracker)

Bugs are tracked in the issues section of this repository. Before submitting an issue please read over existing issues to ensure yours is unique.

If the issue does look like a new bug:

- Create a new issue
- Describe the steps required to reproduce your issue, and the expected outcome. Unit tests, screenshots and screencasts can help here.
- Describe your environment as detailed as possible: SilverStripe version, Browser, PHP version, Operating System, any installed SilverStripe modules.

Please report security issues to the module maintainers directly. Please don't file security issues in the bugtracker.

Development and contribution
----------------------------

[](#development-and-contribution)

If you would like to make contributions to the module please ensure you raise a pull request and discuss with the module maintainers.

###  Health Score

37

—

LowBetter than 83% of packages

Maintenance30

Infrequent updates — may be unmaintained

Popularity24

Limited adoption so far

Community17

Small or concentrated contributor base

Maturity65

Established project with proven stability

 Bus Factor1

Top contributor holds 70.5% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~174 days

Recently: every ~70 days

Total

12

Last Release

474d ago

Major Versions

1.1.2 → 2.0.0-beta12023-10-30

1.1.x-dev → 2.0.02024-11-01

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/867942?v=4)[Dynamic](/maintainers/dynamic)[@dynamic](https://github.com/dynamic)

---

Top Contributors

[![jsirish](https://avatars.githubusercontent.com/u/1163643?v=4)](https://github.com/jsirish "jsirish (31 commits)")[![muskie9](https://avatars.githubusercontent.com/u/870751?v=4)](https://github.com/muskie9 "muskie9 (12 commits)")[![jinjie](https://avatars.githubusercontent.com/u/2721195?v=4)](https://github.com/jinjie "jinjie (1 commits)")

---

Tags

hacktoberfestsilverstripesilverstripecatalogproduct

### Embed Badge

![Health badge](/badges/dynamic-silverstripe-products/health.svg)

```
[![Health](https://phpackages.com/badges/dynamic-silverstripe-products/health.svg)](https://phpackages.com/packages/dynamic-silverstripe-products)
```

###  Alternatives

[dynamic/silverstripe-locator

SilverStripe Locator Module. Show locations on a map. Search by geoposition.

2113.2k1](/packages/dynamic-silverstripe-locator)[bummzack/page-blocks

Modular content-blocks for SilverStripe pages

135.3k](/packages/bummzack-page-blocks)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
