So I've been thinking about this recently, and here's some thoughts.
The store products would be most flexible if they are individual documents because products need the following things:
- Multiple Attributes (and TV's provide this)
- Site Search (and ajaxSearch provides this)
- Site Search with TV's (and ajaxSearch provides this)
- Templating (phx + Ditto provides this)
- User roles (show this item to only this person) or even phx
- if user is Gold Member, show prices with 10% discount)
- MODx natively provides user roles
- FDM would be a nice option
- Ditto, jot, and MaxiGallery (very powerful, made for documents)
But I still think setting up the products shouldn't be defined. Some might want to use a module, some a seperate db, some Docs. (I would prefer modx documents most of the time BECAUSE of the meta)
As for the events, I agree with Jason when he says 'IMHO, all of the events should be class functions that can be simply overridden in derivative classes.' When I say events, I mean events like eForm has them. They are functions/classes you call onAddtoCart, onRemovefromCart, etc. When I say events, I mean functions you can call like eForm to modify the default behavior.
on a side note, I'm thinking PureEdit (
www.pureedit.com) would be a good MODx module option for db stuff where you don't want the doc meta stuff.