We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 17931
    • 24 Posts
    Hi all

    First of all, as a newcomer, let me congratulate anyone involved in putting out MODx. Not only for their effort, but above all for the stunning results of their effort. Way to go.

    And now for something completely different. As a favour to a friend, I am trying to build a site, as an upgrade to their previous site (www.setefolhas.blogspot.com), which was - understandably, given that it is a blog - rather limited and hard to maintain.

    My background is in numerical computing (C/C++/MPI stuff), and I have rather limited knowledge in these web things, although I am pretty much fearless when it comes to coding tongue. So, after googling around for choosing the CMS, I settled for MODx. wink I managed to install it, read the docs, browse the forums and play a little with it, and I was hoping that by now I would be grasping more and actually having an idea of which tools to use/how to proceed. But it did not happen, I am still pretty clueless. So bear with me.

    The aim of the site is to sell customizable baby slings on demand. To buy one, the client must choose from the available fabrics (two) and specify a size. So the order is for an item which actually does not exist; what exists is a list of available fabrics. I am not being able to see how to do this.

    So the questions I would like to ask are the following:


    • What would be the best way to list the fabrics? In the list, each fabric should contain (at least) two fields: its name and a photo. Would Ditto be the best way?
    • To allow the client to choose the two fabrics, I would like to provide a custom sling builder, an app which would allow the client to put photos of the fabrics side-by-side in big size, so that the client gets an idea of the combination. It would provide him two drop-down menus (or something similar, preferably using the photos’ thumbnails), and he must only select the fabrics. The app must also look nice. I figure there are several ways of doing this, but what would you consider the most appropriate?
    • After choosing, how will I add the order to the cart? This question may sound naïve, but in practice it will be an order for an abstract item, one which does not exist.
    • Also, the site makes a donation for a charity if the client comes from their site. Currently, this is being made the very-much-old-school way: the client is being directly asked where he comes from. Is there a way of knowing where he comes from? Through the session? What about the session: if the client exits from the browser and returns afterwards, will he be identifiable, a la amazon.com?
    Thank you all for your attention
    João Paulo Magalhães

      • 2734
      • 165 Posts
      Hi magalhaes and welcome to MODx

      I am not the one that really has profound knowledge about MODx, but i guess you’ll have quite some coding to do if you want to implement that stuff using MODx.
      From my experience, MODx isn’t made for large lists of Items, like a Product catalog. It is much more based on a Document-Tree, not a flat structure with tons of elements. It really depends on how many different Fabrics your client has. If it’s only a few, i’d create a document for each fabric (maybe with a description, title and photo) and output them using Ditto. However, this surely is not the best and most efficient approach.
      Thankfully, MODx is quite extensible. If i were you, i’d look at the MODx Resource Repository for a solution or build one yourself. Maybe http://www.kiweecommerce.org can help you managing the Shop Part of the Site.
      I can’t give you practical tips though, because i never built a shop using MODx myself.


      Also, the site makes a donation for a charity if the client comes from their site. Currently, this is being made the very-much-old-school way: the client is being directly asked where he comes from. Is there a way of knowing where he comes from? Through the session? What about the session: if the client exits from the browser and returns afterwards, will he be identifiable, a la amazon.com?
      What do you mean by "comes from their site"? Do you want to check, from which site the user comes from? If yes, you can do it by accessing the PHP Global Variable $_SERVER["HTTP_REFERER"].
      You can identify a returning customer using cookies.


      After choosing, how will I add the order to the cart? This question may sound naïve, but in practice it will be an order for an abstract item, one which does not exist.
      I see the problem too. You’re basically combining 2 elements to a new Item, one that does not exist in the catalog. The easiest thing to do would probably be to simply add two items (the two Fabrics) to the cart, instead of one. You’ll have to make sure that one can only remove them as a package and that they appear as such in the shop (otherwise the client will get confused).

      Good luck with your project!
        • 17931
        • 24 Posts
        Banal,

        Thanks for your reply.

        From my experience, MODx isn’t made for large lists of Items, like a Product catalog.

        That would not be much of a problem, because the number of products is not large (<100 at the most). However, I’ve already installed kiwicommerce and am playing with it.

        What do you mean by "comes from their site"? Do you want to check, from which site the user comes from? If yes, you can do it by accessing the PHP Global Variable $_SERVER["HTTP_REFERER"].

        I think that solves the problem!


        You can identify a returning customer using cookies.

        OK! I’ll google around for that.

        You have given me valuable pointers - thanks!

        Yours,
        João Paulo Magalhães
          • 7231
          • 4,205 Posts
          João, bem vindo grin

          It is my understanding that you are envisioning a Wizard type application to build a sling. There is one model of sling and what changes is the fabric and I guess the size? The client chooses 2 fabrics per sling, inside and outside?

          I am thinking that a fancy form with steps would be cool having a step for selecting the fabrics then the size and etc... Since it seems that the fabrics are the key element I would set up one MODx document per fabric and set up the fields you need including a value. Then you could use Ditto to present the fabrics in the ’Wizard’. Exactly how to do this will depend greatly on your approach. One idea would be to have an pulldown type menu and some ajax to load the images. But there are quite a few alternatives as well.

          After choosing, how will I add the order to the cart? This question may sound naïve, but in practice it will be an order for an abstract item, one which does not exist.
          Actually there is only one item, the rest are only characteristics (no different from when you order a shirt and select a color and a size). The order process will need to calculate the item price based on the optionals and then add all the specs to the cart.

          To track the origin of the order you could track the referrer as banal suggested, possibly combine it with a cookie to be able to track the visitor beyond the first page they visit.
            [font=Verdana]Shane Sponagle | [wiki] Snippet Call Anatomy | MODx Developer Blog | [nettuts] Working With a Content Management Framework: MODx

            Something is happening here, but you don&#39;t know what it is.
            Do you, Mr. Jones? - [bob dylan]
            • 17931
            • 24 Posts
            Olá dev_cw wink

            It is my understanding that you are envisioning a Wizard type application to build a sling. There is one model of sling and what changes is the fabric and I guess the size? The client chooses 2 fabrics per sling, inside and outside?

            Right!

            I am thinking that a fancy form with steps would be cool having a step for selecting the fabrics then the size and etc... Since it seems that the fabrics are the key element I would set up one MODx document per fabric and set up the fields you need including a value. Then you could use Ditto to present the fabrics in the ’Wizard’. Exactly how to do this will depend greatly on your approach. One idea would be to have an pulldown type menu and some ajax to load the images. But there are quite a few alternatives as well.

            If I understood you correctly, a form will lead the user through a series of steps. If this can be done on a single page, that is what I want. Otherwise the wizard will be an annoyance.

            I have thinked about this a bit more, and maybe the attached image helps understanding what I want. Below a main area are two distinct areas, each containing the thumbnails of all the available fabrics, like in, for example, http://www.flickrleech.net . Clicking on a thumbnail will populate the region of the main area directly above the list with the corresponding image.

            Would Ditto be able to build the thumbnail area? Maybe piping it through mootools will fix this? Am I talking nonsense here? I have been consulting the docs but... well, I do not even know where to start.

            Actually there is only one item, the rest are only characteristics (no different from when you order a shirt and select a color and a size). The order process will need to calculate the item price based on the optionals and then add all the specs to the cart.

            I get it - another level of abstraction here would solve the problem: I could create a list of fabrics rather than products and sell only a single product, with many variations. Which is what happens in reality. Right? But how would you integrate such an extended list of characteristics with a single product?

            To track the origin of the order you could track the referrer as banal suggested, possibly combine it with a cookie to be able to track the visitor beyond the first page they visit.

            So, imagine that my site is A and the referrer is B. My aim is to know whenever someone goes from B to A and in the process buys a sling. This can happen in two ways: in a single session or in multiple sessions. The former seems easy to figure out, but the latter seems tricky to me. In any of the ways, the visitor may - and in most cases will - stroll through several pages before actually committing to buy. I gather from your words that in any of the cases, I need to use a cookie to track the visitor through the pages he visits. But in the second case, I need to know that he is returning, and not merely a new visitor, even if he directly types the URL to A in the browser address bar. Do cookies allow me to know this on top of the random-walk?

            Also, the multiple session gotcha may also require me to determine if the following is happening: is a user coming from B to A known to have been previously visiting A? Is this too much detective work. Is this possible?

            Again, thank you for your pointers!
            João Paulo Magalhães