The idea behind using something like cart.php is that it'll allow you to disallow all of the dynamic pages that use this particular file. Basically you get 'em all and only have to have one instruction in robots.txt because there is an implied wildcard at the end of each Disallow line. You'll need to look at your x-cart installation to determine which files to disallow.
For instance, with one x-cart site I watch over the dynamic store is located at www.domain.com/store/ with the html catalog located at www.domain.com/store/catalog. The dynamic side of things uses a file called home.php in the /store/ subdirectory for many pages. So to exclude those via robots.txt my instruction would look like:
CODE
User-agent: *
Disallow: /store/cart.php
That alone would get all of the base pages and category pages since x-cart shows cat pages like www.domain.com/store/home.php?cat=124
Additionally, when I drill down through the dynamic side of things to the individual product pages I see that x-cart uses a different php file named product.php followed by some variables and values. So to block all of the pages with a single robots.txt exclusion I would change my robots.txt to read:
CODE
User-agent: *
Disallow: /store/cart.php
Disallow: /store/product.php
To take it a bit further, I have several extra pages set up for things like Ordering Information, Return Policy, Shipping Info and so on. The html converter makes these pages too, so I'll probably want to exclude the dynamic version. In my x-cart installation these dynamic pages are called via www.domain.com/store/pages.php?pageid=# So to exclude these pages also I'd change my robots.txt to read:
CODE
User-agent: *
Disallow: /store/cart.php
Disallow: /store/product.php
Disallow: /store/pages.php
So with just three lines I've manage to exclude the entire dynamic side of my store, forcing everything to go through my html catalog version first. If I wanted to I could also exclude the Search page, which is located at /store/search.php in my case, or since that's the page my html catalog points to also I can leave it be. The search engne spiders aren't going to go past it anyway since it uses an html form to perform a site search. For these reasons I've chosen not to exclude the search page, though I could.
Make sense?
Basically have a look around the dynamic side of your site and make note of the path (eg /store/ in my case) and filenames being used. Jot them down as you're surfing around. Once you have the exact files and locations being used to produce the dynamic pages you can easily restrict the spiders from seeing or using them.