burnbright/silverstripe-shop

This package is abandoned and no longer maintained. The author suggests using the silvershop/core package instead.

Provides an ecommerce product catalog, shopping cart, and order management system

Maintainers

Package info

github.com/silvershop/silvershop-core

Homepage

Documentation

Type:silverstripe-vendormodule

pkg:composer/burnbright/silverstripe-shop

Statistics

Installs: 5 129

Dependents: 15

Suggesters: 0

Stars: 114

Open Issues: 68


README

The SilverShop module aims to provide developers with a framework for building, and customising ecommerce-based projects. It includes facilities for customers to browse products and place orders, and for administrators to manage products and orders. We've put a strong focus on testing. You can see the build status of this project, running on MySQL, SQLite, Postgres, as well as a few different versions of PHP.

Latest Stable Version Latest Unstable Version CI Code Coverage Scrutinizer Quality Score Total Downloads

Your contributions, and feedback are welcomed and appreciated. There are many ways you can contribute to this project. A tremendous thanks to everyone that has already contributed.

Requirements

See composer.json for exact set of dependencies.

  • For a SilverStripe 4.x and 5.x compatible version, please use 3.0 or 3.1.
  • For a SilverStripe 3.x compatible version, please use a 2.x release.

Stay up to date / get in touch

Documentation

Installation Instructions

To install SilverShop using composer, run the following command:

composer require silvershop/core

Build Tasks

There are a few useful tasks that can be run via a url to help you test:

  • {yoursite.com}/dev/tasks/PopulateShopTask - will create cart, checkout, account, category and product pages
  • {yoursite.com}/dev/tasks/PopulateCartTask - will add products to the cart, and navitate you to the checkout

Configuration

You can view various configuration options in the 'example_config.yml' file.

Offsite payment gateways (e.g. PayPal Express) lose the session on return in CMS6

SilverStripe CMS6 changed the default session cookie SameSite attribute to Strict. This means the browser will not send the session cookie when the user is redirected back from an external payment provider, resulting in a new empty session and a broken checkout flow.

To fix this, set cookie_samesite to None or 'Lax' in your project's session config:

SilverStripe\Control\Session:
  cookie_samesite: None # Required for offsite payment gateways (PayPal Express etc) to preserve session on return
# or
  cookie_samesite: 'Lax' # Required for offsite payment gateways (PayPal Express etc) to preserve session on return

SameSite=None requires the cookie to be sent over HTTPS — SilverStripe enforces the Secure flag automatically when this setting is used, so no additional config is needed. This was not an issue in CMS5, which did not default to Strict.

Core Features

  • Product Catalog - Products extend Page, and can be browsed within Product Category pages.
  • Cart Page - For viewing and updating your cart.
  • Checkout - Gather delivery/billing details and anything specific to the order. Can be single-page or multi-step.
  • Online Payments - Via the omnipay module.
  • Administration - Manage the catalog and orders in the CMS.

Futher functionality is provided by add-on submodules.

Add-on Sub Modules

Don't reinvent the wheel! Get additional pre-built functionality with sub modules. All additional functional will be tagged on packgist as #silvershop