We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 10638
    • 57 Posts
    Hi, I am interested in some custom eCommerce development work. In saying this, if you feel the following can be achieved better through writing a completely new eCommerce snippet / plugin for MODx, then I am all ears.

    If you also believe what I am asking for could be achieved with ShopKeeper, Foxycart or TreasureChest (plus any additional additional work), then I’d also like to know more.


    The following are the key features I am looking for.

    • Must support MODx 1.0 Evolution.

    • It has to be super easy and user-friendly. I have a lot of clients waiting for MODx to come through with these features and it is just so important that this be really easy to use for them! This means, super easy to add products with different options and super easy to manage orders. (ok might have gone a bit overboard with the supers there, but you get idea) rolleyes

    • move to progressive enhancement (shopping cart must work with javascript disabled)

    • super easy (secured) check-out process. Enter your email and a password and bam! you’re set to fill in your postal address and choose your payment type. Credit card fields immediately viewable before the user, they can enter them in and the order is processed, or they can choose from the other payment types listed below.
    • integration of payment gateways including, Paypal & eWay (eway.com.au) initially. Must be coded / documented well enough so that other people can easily add their own payment gateways.

    • invoice system (user can log in and view past invoices, WebLoginPE perhaps?)

    • add customers into modx user database (simply email + password), ability for customers to access their invoices by logging into their accounts.

    • downloadable products
    • unlimited product options

    • order management including viewing past orders, paid / unpaid orders, ability to delete orders.

    • integrate easily with maxigallery & ditto. If someone wants to sell individual photos out of their ditto gallery, then this eCommerce system must support it. If someone wants to sell a product on any page within the website, this system must be able to support that.
    Foxycart forum - http://forum.foxycart.com/comments.php?DiscussionID=1090&page=2 )


    • custom setup tax according to Australian tax rules (for a run down of what the deal is with the rules pertaining to how we have to invoice people, visit this thread on the
    • ability to set international shipping rates for different countries
    • ability to drop the GST tax for orders outside of Australia

    • modify price, weight, or code with options


    • full Google Analytics ecommerce support
    • native MODx support - everything must happen within MODx (bar dealing with external payment sites). However if you believe what I am asking for could be done with Foxycart, then I’d like to hear more.

    • clean separation of presentation layer

    • clear, brief instructions on how to set everything up.



    Thanks for taking the time to read through this, and thanks to all who respond.
      • 15001
      • 697 Posts
      Hi,

      Implementing all would be huge work.

      I’m currently working on a new version for TreasureChest and can bring some infos about what would be possible with TreasureChest and what not.

      • Must support MODx 1.0 Evolution.
      I still use MODx 0.9.7, but I assume that TreasureChest supports the MODx 1.0.

      • It has to be super easy and user-friendly. I have a lot of clients waiting for MODx to come through with these features and it is just so important that this be really easy to use for them! This means, super easy to add products with different options and super easy to manage orders. (ok might have gone a bit overboard with the supers there, but you get idea)
      With TreasureChest it is really.
      For the product catalog, the most difficult part are options that must be written as <select> lists with <option> tags inside. This can however be quickly learned or improved.

      • move to progressive enhancement (shopping cart must work with javascript disabled)
      From my experience with TreasureChest’s code, I think that would probably not be easy.
      Currently, the cart is displayed in a jQuery Javascript iframed thickbox.
      I’m currently working on TreasureChest 1.1 which will accept the display an alternative cart layout directly on the product or catalog page, potentially also without Javascript. But concerning TreasureChest, Javascript will remain required for other features.

      • super easy (secured) check-out process. Enter your email and a password and bam! you’re set to fill in your postal address and choose your payment type. Credit card fields immediately viewable before the user, they can enter them in and the order is processed, or they can choose from the other payment types listed below.
      The checkout step is very easy with TreasureChest and no need to collect postal address for buyers having a PayPal account. TreasureChest retrieves the buyer data (like postal address) automatically and updates the database. The orders with the postal adress are visible in TreasureChest’s sales manager.
      The connexion to PayPal is secured by SSL (https:// protocol).
      TreasureChest 1.1 will also offer ciphering of the cart checkout form.

      • integration of payment gateways including, Paypal & eWay (eway.com.au) initially. Must be coded / documented well enough so that other people can easily add their own payment gateways.
      It currently uses PayPal Standard Payments.
      Adding new payment gateways in TreasureChest is not that easy.
      Maybe possible, but I’ve not studied this seriously enough yet.

      Shopkeeper might also be more suited for that.

      • invoice system (user can log in and view past invoices, WebLoginPE perhaps?)
      It could probably be implemented. Depends on your budget.

      • add customers into modx user database (simply email + password), ability for customers to access their invoices by logging into their accounts.
      Same as above.

      • downloadable products
      Not possible yet with TreasureChest.

      • unlimited product options
      Depends on what you mean.
      I’m not a PayPal expert, but I think that PayPal only permits two options lists per product: os0 and os1.
      The number of options for each of the two option lists is not limited as far as I know.
      TreasureChest implements these two option lists per product.

      Priced options are not implemented yet, but could be.

      • order management including viewing past orders, paid / unpaid orders, ability to delete orders.
      TreasureChest’s sales manager allows to view past orders and change their status (product was delivered or not). It is also possible to delete orders.

      • integrate easily with maxigallery & ditto. If someone wants to sell individual photos out of their ditto gallery, then this eCommerce system must support it.

      Not sure what you mean by ditto gallery. I know ditto and MaxiGallery.
      Integration of TreasureChest with Ditto and other snippets is possible.
      TreasureChest accepts loading a picture for each product.
      This is done through phpThumb.
      Several views of a product can also be offered through MaxiGallery instead of using the product view.
      However, if you need this, MaxiGallery-->Product in the store, it could be more difficult since each TreasureChest product is based on a MODx document.
      Custom snippet development could facilitate the "MaxiGallery picture --> Shop product" migration. Depends on your budget.

      If someone wants to sell a product on any page within the website, this system must be able to support that.
      Foxycart forum - http://forum.foxycart.com/comments.php?DiscussionID=1090&page=2 )
      Not a JSON expert and the thread is quite long to read. Not time now, sorry.

      • custom setup tax according to Australian tax rules (for a run down of what the deal is with the rules pertaining to how we have to invoice people, visit this thread on the

      Do you mean the thread linked above?

      • ability to set international shipping rates for different countries
      Not yet available in TreasureChest but could be implemented.
      Depends on your budget.

      • ability to drop the GST tax for orders outside of Australia
      Not available yet for TreasureChest. Maybe per-country priced options could be used for this.

      • modify price, weight, or code with options
      • full Google Analytics ecommerce support
      Difficult.

      • native MODx support - everything must happen within MODx (bar dealing with external payment sites). However if you believe what I am asking for could be done with Foxycart, then I’d like to hear more.
      Yes, this is the case with TreasureChest.

      • clean separation of presentation layer
      TreasureChest implementation is not perfect but quite clean however concerning this aspect.

      • clear, brief instructions on how to set everything up.
      This lacks now. There’s however the official documentation on treasurechestcart.com and Terry Barth’s notes on TreasureChest.
      The quality of the documentation for the setup might also depend on your budget.
      Everyone has to earn his bread.

      Regards.

      Julien
        • 26931
        • 2,314 Posts
        • downloadable products
        Not possible yet with TreasureChest.
        -> http://wagadam.com/en/shop/modx/downloadable-products-for-treasurechest
        Dp4Tc is a snippet for Modx Evolution that completes TreasureChest and FileDownloadPe features by allowing to sell downloadable products
          • 19980 ☆ A M B ☆
          • 275 Posts
          hi,
          this will be more expensive than bying a new licence of ready shooping cart php solution with full things integrated.

          Can advise some if needed, sorry but making such a big engine would not only require a lot of time than bugfixing and than cost.

          Thanks.
            modx and ecommerce pro
            • 15001
            • 697 Posts
            @sharkbait:

            Wow! I ignored the existence of Dp4Tc for downloadable product.
            Fantastic that such component already exists.
              • 33982 ☆ A M B ☆
              • 476 Posts
              From the requirements you’ve listed above, Foxy Cart can pull these things off. There will need to be custom work done for MODx to have the history viewing for past product purchases, but definitely all doable.
                Precision Web Development ... SmashStack.com
                • 24449
                • 81 Posts
                Hi,

                We’ve been working on a shop system entirely in MODx. Its not really organised enough to be released to the community yet but you can see an early version at http://www.loonyrecords.com and a slightly later version at http://www.nigelwingrove.com (NSFW). Some screenshots of the backend at http://www.zombietuesday.com/shopgal.html. All of it is designed to be themed with chunks, so the look represented there is just what we did for those sites.

                Regarding your features:

                • Must support MODx 1.0 Evolution.

                (tick)


                • It has to be super easy and user-friendly. I have a lot of clients waiting for MODx to come through with these features and it is just so important that this be really easy to use for them! This means, super easy to add products with different options and super easy to manage orders. (ok might have gone a bit overboard with the supers there, but you get idea)

                Its super easy once its set up. The set up hassle is the reason I haven’t released it. I can do it in a couple of days but it wouldn’t make sense to anyone sane - yet! Once its running the shop can be managed through the web forms that we have in admin-only areas. It does all its user stuff using WebLogin (just the normal one).


                • move to progressive enhancement (shopping cart must work with javascript disabled)

                This is certainly possible, although most of our sites have modal boxes and a few wizzy features it is really the snippets that do the work. It would work fine with just webforms and the PHP.


                • super easy (secured) check-out process. Enter your email and a password and bam! you’re set to fill in your postal address and choose your payment type. Credit card fields immediately viewable before the user, they can enter them in and the order is processed, or they can choose from the other payment types listed below.
                • integration of payment gateways including, Paypal & eWay (eway.com.au) initially. Must be coded / documented well enough so that other people can easily add their own payment gateways.


                Currently it supports PayPal and Sagepay. I’m working on more as and when clients need them. It gets your cart together and passes it over to PayPal (etc) to do all the bits that need security, which neatly avoids me having a server full of CC numebers and what not. Its fairly seamless but it does mean you get the PayPal brand on the checkout, not your own but for small sites I almost see that as an advantage - I’m much happier giving my details to PayPal than to some guy in some place that may or may not ship my product.


                • invoice system (user can log in and view past invoices, WebLoginPE perhaps?)

                We have this to some extent. Its mostly implemented to handle downloadable content but there is no reason it couldn’t do order tracking etc. Like I say, I just use vanilla WebLogin, since PE wound me up!


                • add customers into modx user database (simply email + password), ability for customers to access their invoices by logging into their accounts.

                We actually just finished a site that uses the PayPal IPN data to auto-create WebLogin/MODx users and email people to say "Thanks for ordering from <Blah>. Your username and password is <auto generated from your name in your PayPal details>". They can then login and get their downloads, view their history, etc.


                • downloadable products

                (tick)


                • unlimited product options

                Product options can be specified with a comma separated list. So far I have only bothered to allow a max of two options per product but thats just because I couldn’t be bothered to do the DB stuff properly (and we haven’t needed more than that). The fun (but completed) bit was making the options alter the download - so you get a different download depending on your options.


                • order management including viewing past orders, paid / unpaid orders, ability to delete orders.

                All the data is there. None of our clients have wanted complicated, formated displays of this but it would be pretty easy to do. One thing I really took the time to log was failed carts, since thats probably of most interest to maximising your success with a shop.


                • integrate easily with maxigallery & ditto. If someone wants to sell individual photos out of their ditto gallery, then this eCommerce system must support it. If someone wants to sell a product on any page within the website, this system must be able to support that.
                Foxycart forum - http://forum.foxycart.com/comments.php?DiscussionID=1090&page=2 )

                There’s no reason why it couldn’t support this with a little effort. We tend to work the other way and have galleries per product but products built in to gallery/blog display might be fun. I haven’t used MaxiGallery, since I prefer AutoGallery wink


                • custom setup tax according to Australian tax rules (for a run down of what the deal is with the rules pertaining to how we have to invoice people, visit this thread on the
                • ability to set international shipping rates for different countries
                • ability to drop the GST tax for orders outside of Australia
                • modify price, weight, or code with options

                I haven’t got too far into this. Since it hands off the payment details to PayPal we tend to set up tax and postage in our clients’ PayPal settings. We did some interesting postage options for NigelWingrove.com but didn’t go as far as calculating weights or sizes for packages. No reason you couldn’t do it. I worked out HOW to do it but there wasn’t the budget for me to spend the extra day implementing it and it would have created a data entry nightmare as his staff weighed every magazine and put the values in the DB.


                • full Google Analytics ecommerce support

                I’ve not used this and I leave such things to Martyn but I should probably look it up...


                • native MODx support - everything must happen within MODx (bar dealing with external payment sites). However if you believe what I am asking for could be done with Foxycart, then I’d like to hear more.

                Its all MODx. One of our reasons for doing this rather than using FoxyCart was not wanting to have to enter all our formatting stuff twice... (The other one was having to pay $15+ t FoxyCart to aggregate a cart of products, then another $15+ to PayPal Pro - FoxyCart didn’t support standard paypal when we looked - to do the payment...)


                • clean separation of presentation layer

                Its all chunks. Take a look at how AutoGallery works and its much the same, but as a sample this is one page from NigelWingrove.com:

                {{ShowCart}}
                {{GreyBoxIncludes}}
                [!setter?arg=cat!]
                <p>[!PotenStore?action=ShowItems&chunk=StoreItemChunk&buybuttonchunk=BuyButtonChunk&admin=AdminItemButtons!]
                <br style="clear:left;" /></p>
                <p>[!MemberCheck?groups=admins&chunk=AdminAddItemButton!]</p>
                


                Where StoreItemChunk looks like this:

                <div style="border:1px dashed #ccc;padding:10px;margin:0 auto;position: relative;margin-bottom:5px;">
                
                <h3><a name="[+URLcode+]">[+name+]</a></h3>
                
                <div style="position: relative;float:left;width:122px;"><a href="#" onclick="Modalbox.show('justimage?img=[+img+]', {title: this.title}); Modalbox.resizeToContent();" title="[+name+]"><img src="[+img+]" width="120px"  align="left" /></a></div>
                
                <div style="float:left;width:280px;padding-left:5px;">[+summary+]</div>
                
                <br class="clearfloat" />
                <div><p>Price <span style="Color:red;font-weight:bold;">£[+price+]</span> | In category : [+cat+]</p></div>
                <div><p>[+buybutton+]</p></div>
                
                </div>
                


                Martyn and I like working this way since any time he touches snippets it goes nearly as badly as when I touch divs... wink


                • clear, brief instructions on how to set everything up.

                I’d be the first to admit that this is the big problem at the minute. Its sort of grown up with each project we do and it really needs to be tidied up and documented so it can be of use to other people, but I need to find the time to get it done.

                Anyway, I have no idea if this is of any use to you. If nothing else it might be of interest to know that things like this CAN be done entirely in MODx (so Nyaaa to anyone that says MODx isn’t a good development platform tongue). Obviously we are happy to do an install for you and let you run with it. The cost of that might be less than the cost of developing your own solution? We’d also be happy to talk about collaborations with people to make this more neatly packaged but we are a bit rammed trying to get enough paying work in at the minute.



                Ramsay
                http://www.zombietuesday.com