SimpleCaddy and Content

SimpleCaddy needs content to display anything. For the sake of ease, let’s say that we are selling 3 products: socks, shoes and shirts. The socks have a product code “sox001”, the shoes “shoes001” and the shirts “shirt001”. There is no use in defining uppercase product codes, all is converted to lowercase only. The basic plugin call for the socks can look like this: { simplecaddy code=sox001 } and would display something like this:

Sweaty socks
15.00 CAD
Available quantity

The same goes for the shirts with { simplecaddy code=shirt001 } :

The product code (shirt001) is not found.

Clicking the “Add to Cart button will keep you on this page indefinitely. That is not always a desired behaviour.


To be able to bundle the socks with the shoes for example, we could put them together on the same page. However, clients can move away from your socks page and never even see that you offer shoes as well! Therefore the SimpleCaddy plugin offers a parameter called nextcid.

The plugin call for the socks would now look like { simplecaddy code=sox001 nextcid=5 } where 5 corresponds to the content ID of the next page. The content ID of an article is displayed in the last column of the article list in the administration part of your site. Visually there is no difference between the previous version and this one. However, when a client clicks this particular version of the socks plugin, the socks will be added to the cart and he will be redirected to a different page (remember, content ID 5) where you can propose the shoes to him on an entirely different page.

All SimpleCaddy plugins except for the payment plugins accept the nextcid= parameter to move your client around on your site.

A typical “trip” on your site would be like this:

  1. Product page –>
    1. Optional: ( Product page –> )
  2. EditCart page  –>
  3. Details page –>
  4. Taxes page –>
  5. Shipping page –>
  6. ShowCart page –>
  7. Payment page

It is of course possible to invert the Tax page and the Shipping page to have taxes paid over shipping as well …

Each page has its own plugin call and displays the necessary information for the order at hand.

Only the payment plugins do not have a nextcid parameter. They are supposed to lead you to the payment gateway of your choice like PayPal, Moneris,, iDeal or any other payment gateway you prefer.

Preparing the Content

Content needs to be prepared in order for the plugins to be able to point to it. I recommend that you start by outlining how you want to sell your products. Then create the last page of the line and note its Content ID (let’s imagine 79). Then create the page(s) that point to this page, you already have the nextcid= parameter, namely 79. Working backwards through the line is easiest this way since every time you need that nextcid= parameter, you have just created the page and thus its content ID. The “last” page would be the product page. Of course you can have many product pages pointing to the EditCart page. The EditCart plugin allows your clients to adjust the quantities in the cart and /or remove a product from their cart entirely.

Once the clients are satisfied with their cart contents, they should be asked for their address and so on. An important field in that page will be the State and / or Country field. Those are the fields that will determine the tax rate (if any) and the shipping cost (if any).

Once you have determined the taxes and the shipping cost, they will have been added to the current order in the system, the client should be presented with a ShowCart page, where the only options are to either start over by emptying the cart or proceed with the order to the payment.