[Catalyst] Integrating multi-levelled meta-shopping-cart using Catalyst

Jason Galea lists at eightdegrees.com.au
Sun Oct 30 23:39:40 GMT 2011

Hi Alec,

yes, this can be done with Catalyst. I'm currently developing similar
functionality a couple of applications.
The complexity will depend on the similarity of functionality between the
individual stores.


> =95 More than 1 eCommerce store setup on this one Catalyst site
> =95 Each store has it's own account, self managed by them with a certain
> payment-gateway (i.e. PayPal)

I have taken the approach of implementing the base "app" which is used as a
Catalyst Model.
On each request the app identifies the store by the host name being used
and loads that store's config file from which it can access the location of
site templates, payment gateway details, and other custom config details.
For the templates I have a directory containing the "base" templates and
each store can have a directory containing templates which override base.
Using chained actions or an auto action you can then set the
stash->{additional_template_paths} to a list of these template directories.
The TT view will then search those directories for the templates to be used.

 I imagine you would want all stores to use the same database so user
records, product records etc would need to include a store id. One of my
products has a common product table and a store_product table which maps
products to a store as not all stores have all products. Using DBIx::Class
you can configure your ResultSets (or db interface classes) to
automatically include the store id in queries which need it.

> Use case:
> =95 Customer wants to purchase multiple items, from multiple stores

> System functionality required:
> =95 Integrate the various store's carts into one [separated into groups,
> with a total collated into the one receipt]

as above, your basket would need to identify which store a product belongs
to and I image this would continue through to order and sales records.

> System functionality preferred (but not required):
> =95 Integration with multiple payment gateways (with a minimum of
> dialogues presented to the customer)

each payment gateway could have it's own Catalyst "checkout" action and the
customer is sent through the appropriate action based on customer choices
and the store config.

If you were looking for pre-built solutions this might not help so much but
I hope it gives you an idea of the possible solutions.



Can this be done with Catalyst? - If so, can you point me in the right
> direction?
> Thanks for all suggestions,
> Alec Taylor
> _______________________________________________
> List: Catalyst at lists.scsys.co.uk
> Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst
> Searchable archive:
> http://www.mail-archive.com/catalyst@lists.scsys.co.uk/
> Dev site: http://dev.catalyst.perl.org/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.scsys.co.uk/pipermail/catalyst/attachments/20111031/ee520=

More information about the Catalyst mailing list