We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 25663 MODX Staff
    • 12,272 Posts
    Susan and I will be cleaning it up since there’s a few inconsistencies in the way the various pages are built. In the very near future, yes!
      Ryan Thrash, MODX Co-Founder
      Follow me on Twitter at @rthrash or catch my occasional unofficial thoughts at thrash.me
      • 7455
      • 2,204 Posts
      I am also waiting for a working version (this one : http://corganics.com/store.html lookd realy nice ryan)

      I want to use it for a chineese fastfood restaurand that has delivery to order food online. www.fusionwok.com (still under construction)

      this looks realy promising

      thanks for the time and efford you all give to make this another great exaple that there are no limits to Mod-X
        follow me on twitter: @dimmy01
        • 33372
        • 1,611 Posts
        I am currently building a site using ShopX, and even in its current unfinished form it is still better than most of the eCommerce programs I’ve used before now (the fact that it’s based on MODx alone is a huge advantage).
          "Things are not what they appear to be; nor are they otherwise." - Buddha

          "Well, gee, Buddha - that wasn't very helpful..." - ZAP

          Useful MODx links: documentation | wiki | forum guidelines | bugs & requests | info you should include with your post | commercial support options
          • 3232
          • 380 Posts
          rthrash, very nice site. I will have to invest some time into this... Thanks for the example
            • 33372
            • 1,611 Posts
            So far I’m liking the way that ShopX is coming together for the site I’m doing now. I love that I can customize everything just the way I want it and not have to wade through all manner of bloat that I don’t want. I’ve already wasted enough hours of my life sorting through insane spaghetti code.

            It seems like I’m going to need to make some modifications to the overall cart logic, though. Unless I’m missing something, the way that ShopX is constructed now, products don’t have selectable options but rather fixed characteristics (size, for example), so that’s not gonna work for me. I need to change this so that people can buy say one large blue t-shirt and one small brown one without having to create separate products for each variation.

            Next comes an off-line processing interface and inventory management...

            Susan and Ryan already have customer accounts working, so package tracking should be a minor addition from there.

            It seems to me that if each person who uses ShopX adds one new module, feature, or tweak this project will very quickly become a powerful tool.

            Some other ideas/questions:

            Would saving the session info into a database table make for a more reliable system? For example, the way it is now I don’t think that it will work on most shared-SSL servers (since the SSL domain will be different from the main one, thus losing the session). I plan to get a real SSL certificate, but it’d be nice to have the option to use shared-SSL (and sometimes sessions can be flaky).

            Would a simple meta page refresh help alleviate the issue of sessions timing out? For example, they could be forwarded to a page after 20 minutes that tells them that they will be logged out in 1 minute unless they click a button to stay logged in. If they do, they go back to the cart, but if not they get forwarded to a logout page that destroys the session.

            Alternatively the page could just keep refreshing and restoring the session, but that seems like bad security policy to me. I would think that as long as we let people know what’s going on there’s no problem. What’s really bad is when the session times out right before someone clicks the finalize order button.

            I need to look into how to force https for the checkout pages in .htaccess so that it’s impossible to view those without SSL no matter what...
              "Things are not what they appear to be; nor are they otherwise." - Buddha

              "Well, gee, Buddha - that wasn't very helpful..." - ZAP

              Useful MODx links: documentation | wiki | forum guidelines | bugs & requests | info you should include with your post | commercial support options
              • 28042 ☆ A M B ☆
              • 24,524 Posts
              This is exactly what I had in mind when I first came up with the idea. I know my limitations, and this has already really stretched them. Please, please, people, take this and run with it. The potential is there, I tried to set up the skeleton of a real ecommerce system in a clean, modular fashion so that it would be easy to work with, and use the MODx system itself as much as possible. I think I succeeded in that much, anyway.

              Indeed, storing the values in the database with a cookie-based key (sort of like a custom session) would be the best way to handle this. I deal with the switch from regular http to https by passing the session_id in the url to the checkout page, then the first thing the checkout document does is run a snippet that gathers the shopx values from the old session and loads them into the new one. But as Zap says, that’s not really very robust.

                Studying MODX in the desert - http://sottwell.com
                Tips and Tricks from the MODX Forums and Slack Channels - http://modxcookbook.com
                Join the Slack Community - http://modx.org
                • 4673
                • 577 Posts
                hmmm, what can be used from osc?
                I’ve been tinkering with a "osc" Connector based on the "SMF Connector" ... still needs work but it does run basically with osc 3.0a3

                hmmmmmmm
                  Tangent-Warrior smiley
                  • 33372
                  • 1,611 Posts
                  Quote from: sottwell at Sep 25, 2006, 12:36 AM

                  This is exactly what I had in mind when I first came up with the idea. I know my limitations, and this has already really stretched them. Please, please, people, take this and run with it. The potential is there, I tried to set up the skeleton of a real ecommerce system in a clean, modular fashion so that it would be easy to work with, and use the MODx system itself as much as possible. I think I succeeded in that much, anyway.

                  Indeed, storing the values in the database with a cookie-based key (sort of like a custom session) would be the best way to handle this. I deal with the switch from regular http to https by passing the session_id in the url to the checkout page, then the first thing the checkout document does is run a snippet that gathers the shopx values from the old session and loads them into the new one. But as Zap says, that’s not really very robust.



                  You’ve done a helluva job, Susan. I don’t see any reason why this can’t mushroom into a complete system capable of handling different people’s needs. I keep learning new MODx tricks as I look over your code.

                  As far as I know, most carts now store "pseudo-sessions" in the database and pass the id either by cookie or in the query string (as you’re doing). The query string is much more reliable when switching to SSL, since if the secure server has a different domain name it can’t read the cookie. It looks to me as if it would be pretty easy to modify this (we’ll just need a couple new tables).

                  There are certainly things to learn from other cart systems, and the beauty of ShopX is that we won’t end up with a horribly deformed monster if we create modules that do a lot of these things. People can start with the core scripts and then add in only the modules they need. Less bloat, and less vulnerable to hacks as well.

                  I’m thinking about creating a "real" inventory system to work with this (depending upon whether the client tells me that they want it). By that I mean that in the back end you enter exactly which items you have in stock (three small blue t-shirts, 1 medium black t-shirt, etc.) and then have the script check actual availabilty of items when it displays them to customers and modify the inventory when items are sold. Does anyone know of another cart that has this feature so I can spec it out?

                  I guess I need to learn about data grids also - is there a good reference or tutorial that I should start with?


                    "Things are not what they appear to be; nor are they otherwise." - Buddha

                    "Well, gee, Buddha - that wasn't very helpful..." - ZAP

                    Useful MODx links: documentation | wiki | forum guidelines | bugs & requests | info you should include with your post | commercial support options
                    • 28042 ☆ A M B ☆
                    • 24,524 Posts
                    Well, I’ve got a tutorial on building an AJAX-based database management module that might be useful...

                    http://www.sottwell.com/database-module.html
                      Studying MODX in the desert - http://sottwell.com
                      Tips and Tricks from the MODX Forums and Slack Channels - http://modxcookbook.com
                      Join the Slack Community - http://modx.org
                      • 33372
                      • 1,611 Posts
                      Quote from: sottwell at Sep 25, 2006, 09:59 AM

                      Well, I’ve got a tutorial on building an AJAX-based database management module that might be useful...

                      http://www.sottwell.com/database-module.html

                      Oh yeah! I remember I was looking at that the other day. That’s just the sort of think I need to learn how to do.

                      THANKS!
                        "Things are not what they appear to be; nor are they otherwise." - Buddha

                        "Well, gee, Buddha - that wasn't very helpful..." - ZAP

                        Useful MODx links: documentation | wiki | forum guidelines | bugs & requests | info you should include with your post | commercial support options