Bundles of Joy - What's New in Mothership

New arrivals

Hello! First of all we'd like to say sorry for being quiet lately. We have been hard at work on new features and developments for the platform and we're excited to roll them out in the near future.

Those of you who have been keeping your installations up to date may have noticed a couple new features already, so I'm going to take a moment to talk about them.


First up, it is now possible to create 'bundles'. What is a bundle, you ask? A bundle in Mothership-land is a selection of products grouped together which, when sold, has a discount applied. So basically, this allows for 'two for one' or '£10 off' deals.

So how does it work? Well if you navigate to the Discounts tab in the admin panel, there's a new button that says 'Add a new bundle'. Click this and you'll be presented with a simple form where you can enter basic details, such as the name, price and image for the bundle. You can also set limitations, such as between which dates the discount is valid, and whether or not it can be used in conjunction with discount codes.

Finally, you will need to set products against the bundle. This works almost identically to assigning a product to a page, with the exception that you can also set the quantity required for the discount to be applied.

To add this to pages, we have also added a field, so you simply add the following to your page type class:

$factory->add($factory->getField('bundle', 'bundle')->setFieldOptions([

'constraints' => [

new \Symfony\Component\Validator\Constraints\NotBlank,


'label' => 'Bundle to sell',


Then add this to your view file to render the product selector:

{{ render(controller(


{'bundle': content.bundle.bundle} ))


Now customers will be able to purchase your bundles! If they decide that they want to remove one of their items, the discount will be removed from the discount. However, if they decide to re-add that item (or any other item that would complete the bundle), the discount is re-applied. Simple!

View the pull request here.

User profiles

A smaller development, but something that we at Mothership have personally wanted, is the concept of 'user profiles'. It would be nice to be able to put a little bio about ourselves next to our blog posts (I'll come back to this later). However, fields that we want might be not consistent with users of other sites. What if you want to store specific details about a customer, such as their favourite colour? It would be madness to make that the default, but for your site, it might be useful.

To get around this, we took a similar approach to what Mothership does with pages and products. You can now set a 'type' against them, which determines a set of extra fields. This is what allows clothing products to have a field specifically for size, or a product page to have a gallery on it.

By default, customers will not have a type set against them when they sign up. However, if the user is edited via the admin panel, a type can be assigned. One user type comes packaged with this update - the 'Team member'. This will allow developers to create 'Meet the team' pages where team members can be loaded in, complete with job title, biography and a photo.

View the pull request here

Mothership Carousel

Last but not least in our recently released developments is our new carousel jQuery plugin. Good carousel plugins aren't hard to come by, but we wanted to build one which we know would work well with Mothership and and in line with our ethos - something that is simple to implement and simple to use.

More in-depth documentation can be found on Github, but essentially to use the plugin you can call .carousel() on your element, and pass it an object with the relevant options:

$('#carousel').carousel({ allowZoom: true });

On the horizon

EPoS is still coming!

We've been talking about it for quite some time, but I can assure you that EPoS is nearly ready for us to open source. There are a few kinks we want to work out before release, but there is no way we will be quiet about its release. If you want to know why you should be excited, check out our video of it in action at Union Music Store in Lewes, UK. Having an open source EPoS solution that works with your website is going to be a big deal and we are really excited about it.

A new lick of paint

This isn't so much about the platform but we are revamping the Mothership website. In our excitement to release Mothership to the world, we quickly whipped up a website to promote it. However, we want the website to be representative of the product, and it deserves better than a glorified development blog.

So that's yer lot, be sure to follow us on Twitter and Facebook if you don't already, and we'll keep you updated with any new developments!


Comment on this blog post