General Talk: Who can make me a flat file shopping cart? I'll pay
Bottom of Page-
- CommentAuthorperthmetro
- CommentTimeSep 14th 2007
Posted By: wfiedler@Pete
yes, I found the same "bug". You don't have to refresh, otherwise you have to change the quantity afterwards. Can be confusing for the customer or annoying, if he don't realizes it.
It's not just the refresh it's also go back and forth form the checkout page to the item page -
- CommentAuthorwfiedler
- CommentTimeSep 14th 2007
You're right. Just tested. Another bug... -
- CommentAuthorbarnyardbbs
- CommentTimeSep 14th 2007
Greetings again, fellows... Sorry that I've been out of sight today, but I've been quite preoccupied at work.
I've just posted today's update to the cart script. It's in the usual place.
Here's the situation:
Firstly, Sean's report about the text-version of the email didn't include the customer details. I've fixed that in this update.
Secondly, you are all completely correct about the "reloading" and "back button" issue with the cart. Here's a brief explanation of why it happens, and what I've changed:
The links that issue commands to the cart (such as add, remove, and clear) work by using querystring parameters in the URL. These are accesses using the $_GET collection in PHP. When a page is reloaded (or visited again by using the back button) another request is made to the web server. This request carries identical parameters to the one before it, so the command is repeated (and the cart updates).
Here's what I've changed: The automatically generated links (the add / remove in the cart) now carry a new parameter called "carttoken". This is simply a long random number. It's used to tell if an identical command is sent twice (such as a reload). If a command is sent more than once, it's simply ignored. This works well, but the manually created links are still susceptible to the "reload" problem. To address this, I've created a new function called "ReturnAddLinkHTML" that will help you create product add links with the "carttoken" automatically included.
It's actually simpler than it sounds. You can just add a little code to generate your links (see the example in index.php), and the "reload" problem is completely solved.
I hope this is of help to everybody. Let me know if it works for you. -
- CommentAuthorperthmetro
- CommentTimeSep 15th 2007 edited by perthmetro on the 15th September 2007 at 00:36:42 EDT
Thanks for the update Ben...
Ok so in a nutshell Ben what do I need to do to stop this reload/back problem?
edit: Did it 1 wow this is easy enough for even me!!!!
Pete
PS photo website coming -
- CommentAuthorperthmetro
- CommentTimeSep 15th 2007 edited by perthmetro on the 15th September 2007 at 01:15:41 EDT
Ok I've checked out the update and I am now officially 'blown away' at what Ben has done... for free!
At last we have a CMS and Shopping Cart that fits into a website, not the other way around... I think we should all declare Ben as the 'Founding Father' of this new way of integrating dynamic content.
I'm amazed no-one thought of doing it this way sooner. This script essentualy makes it possible to integrate it into any website without a whole lot of complex learning of re-coding.
I was amazed (can you tell) at Ben's CMS and that got me thinking about the shopping cart. I did heaps of googling and found absolutely nothing that was remotely usable/simple/easy, But this is perfect.
I'm keen to see what the German "pimp my script" King will do with it ;)
Thanks again to you Ben, I'm not religious so I'll leave it to someone else to bless you ;)
Pete -
-
CommentAuthorSean
- CommentTimeSep 15th 2007 edited by Sean on the 15th September 2007 at 01:30:58 EDT
Just a small heads up that I'm now working with Ben on this project to bring it to the next amazing level.
We're going to be working on adding in the PayPal API for payments. I'm thinking this can be an option toggled on/off if people want to use it. or not.
Does anyone else have suggestions on other payment API's they'd like to see added in? Maybe authorize.net too?
Other things like improved security into the application will be added in as well.
Last, I'm also playing with using MySQL verses the flat file for products. For small carts, the flat file is fine, but for larger sites, a dababase back end would be better.
As mentioned, this is becoming a really nice lite weight cart application but can become more feature rich if needed and is very easy to theme. -
-
- CommentAuthorperthmetro
- CommentTimeSep 15th 2007 edited by perthmetro on the 15th September 2007 at 02:04:50 EDT
Not quite idea savvy as you gurus are Sean but if you're asking for suggestions for extra features...
1. A drop down menu or field input when adding to cart to account for multiple sizes etc.
2. some groovy icons?
edit: 3. the total price in the confirmation email to the buyer
I'm like a kid in a candy shop... ! -
- CommentAuthorperthmetro
- CommentTimeSep 15th 2007 edited by perthmetro on the 15th September 2007 at 02:07:10 EDT
Posted By: SeanI'm also playing with using MySQL verses the flat file for products. For small carts, the flat file is fine, but for larger sites, a dababase back end would be better.
How many products would you guess the flat file version would be suited for Sean? -
-
CommentAuthorSean
- CommentTimeSep 15th 2007 edited by Sean on the 15th September 2007 at 02:22:18 EDT
@perthmetro:
1. Adding fields and drop downs could easily be done.
2. (groovy icons): I think should stay specifically out of the cart for now as it's look and feel are separate from the back end content. It would be too hard to please everyone with a specific look and feel (in my opinion).
3. Should definitely be worked in and shouldn't be too difficult as it would be part of the checkout process. The variables are already present, they just need to be added into the outgoing email.
As for how many items could be put into the flat file and not cause issues with load times and server strain would depend on the actual machine running the site and the amount of traffic.
I would say 20-30 items should be ok with a large load but your mileage may very of course
I'll do some load testing over the weekend.
I'll add these to the "to-do" list and discuss with Ben in the morning. He's already in bed and I'm heading to bed myself. Been a long week. -
-
- CommentAuthorperthmetro
- CommentTimeSep 15th 2007
Thanks Sean... agreed with #2. Thanks for the help. -
- CommentAuthorwfiedler
- CommentTimeSep 15th 2007
Pete has all said about Ben's great work. Nothing to add except "God bless him!" .
@Sean, great that you help Ben improving the script. In Germany/Europe mostly PayPal is used for payments. I have no idea what else. -
- CommentAuthorperthmetro
- CommentTimeSep 15th 2007
hows your example going Wolfman ;) -
- CommentAuthorwfiedler
- CommentTimeSep 15th 2007
Just testing. Not enough time today. Saturday = family day. More tomorrow I hope. I'll let you know. -
- CommentAuthorwfiedler
- CommentTimeSep 15th 2007
Everything works fine! Validation, confirmation mail etc.
Example
Unless: If you have completed an order and you go back to a products page, the cart is not empty... -
- CommentAuthorbarnyardbbs
- CommentTimeSep 15th 2007
Wow. You guys sure are a busy crowd. Thanks for all your support.
I'd love to stay and code today, but I've got some projects pending in the workshop. If any of you are interested, I do quite a bit of gardening. I'm setting up my aeroponic unit today.
If anyone is interested, take a look at the blog entries here.
I expect to talk to Sean at some point today, so I'm sure we'll have some type of news soon.
-Ben -
- CommentAuthorzanzibar
- CommentTimeSep 15th 2007
I have been following this thread with great interest. I've been desperately trying to learn PHP, but I guess I'm not cut out to be a programmer.
I'm in admiration of all the great work that you guys are putting into this, well done.
Also looking forward to seeing the final project and possibly using it in the future..
Thanks guys -
-
CommentAuthorSean
- CommentTimeSep 15th 2007
Ben and I had close to a two hour conversation today about the cart and we've got a game plan in the works.
As mentioned, there will be some news soon once we get a couple of bugs and features added/fixed up.
More to come... -
-
- CommentAuthorEthanNeuen
- CommentTimeSep 15th 2007
Wow, I must say that the 'cart' is looking sweet. I've been playing around with it for a while (you can see what I have done at http://www.redpog.com if you want ) and I have to say that you guys have done a great job. Keep up the great work!
-
- CommentAuthorMike Weiss
- CommentTimeSep 16th 2007
I think this project needs to be kept simple so don't go too feature crazy, there are some things you have to say "No" to and if they come up again make it a consideration, and if they come up again maybe put them in.
As far as payment gateways go, I haven't used Google Checkout in a project yet but as far as using it in a personal use it seems to be nice and simple. -
-
CommentAuthoricyone
- CommentTimeSep 16th 2007
barbyardbbs when I try to scroll on your example (using scroll wheel only) all I get is increased text size. Bug or am I doing something wrong? -
-
- CommentAuthorbarnyardbbs
- CommentTimeSep 16th 2007
Ok... I've just posted the latest update to the cart. Another day, another update.
Here's the news:
I've added support for item selection dropdowns. This will allow you to group items in a dropdown, where the user can select the one they want. This is helpful for items with sizes or options (different SKU's, same item). It works pretty smoothly, and allows you to group items as you wish. Additionally, there is now validation to prevent checking out with an empty cart. Lastly, I converted the "clear" link to be conditional; so you can make it visible only when relevant.
Sean has joined in on the development, and helped me find and correct some of the weaknesses in the cart's new features.
It's posted at the usual place.
Have fun with it. -
- CommentAuthorperthmetro
- CommentTimeSep 17th 2007 edited by perthmetro on the 17th September 2007 at 11:28:30 EDT
Thanks Ben and Sean... Can I also agree with Mike to not make it too complicated for dummies like me to implement. That's the BIG attraction of Your ContentControl... it's soo easy to use. Would it be possible to put comment lines telling us what pieces of code mean what.
EDIT: comments are already in place Pete!
Good work ! -
- CommentAuthorwfiedler
- CommentTimeSep 17th 2007
I agree with Mike and Pete not to make it too complicated, but I think the item selection dropdowns are essential. Also some payment APIs (PayPal etc.) are very useful and necessary. Let Ben and Sean going on... -
-
CommentAuthorSean
- CommentTimeSep 17th 2007
I also agree that it needs to stay simple like it is now. Ben and I had a pretty detailed conversation while we were hammering out the latest fixes about that.
I have a PayPal API class almost already to go, it just needs a little more work.
For the people who are using the cart now (latest version), please do some testing over the next couple of days and let us know if you find any bugs and hold off on anymore feature requests.
We should get it solid first... it's pretty close from what I can tell... then add in a payment gateway and call it a day.
Anything more would be overkill for the carts original purpose. -
-
- CommentAuthorperthmetro
- CommentTimeSep 17th 2007 edited by perthmetro on the 17th September 2007 at 13:20:02 EDT
I'm trying to put this shopping cart into Multiflex3 but I'm having probs getting the carts stylesheet to work, multiflex's overrides it...
edit: helps if i edit the right file eh!!! -
-
CommentAuthoricyone
- CommentTimeSep 17th 2007
Will there be a beginner tutorial (or instructions) on how to use this? It looks great but I being a semi noobie would not know where to start.
looks so very cool... -
-
- CommentAuthorperthmetro
- CommentTimeSep 17th 2007
Sugestion: can the form details also be sent to the buyer to confirm they have entered the right details? But maybe have the details under the order? -
-
CommentAuthorjrochman
- CommentTimeSep 17th 2007 edited by jrochman on the 17th September 2007 at 15:52:38 EDT
I think it would also be nice if the LoadProductsFromFile function could use functions that allow opening from a URL, as long as it is allowed in the PHP settings. Although this doesn't work exactly, I am thinking something like this:function LoadProductsFromFile() {
$contents = file_get_contents(PRODUCTS_FILE_PATH);
if ($contents) {
//Read it
$Products_array = explode('||',$contents);
foreach($Products_array as $value)
{
$Product = explode(PRODUCTS_FILE_DELIMITER,$value);
print_r($Product);
$cartitem = array($Product[ID_COLUMN], $Product[NAME_COLUMN], $Product[PRICE_COLUMN], $Product[DESCRIPTION_COLUMN], 0);
$items[$Product[ID_COLUMN]] = $cartitem;
}
$_SESSION[CART] = $items;
}
}
That would prove to be nice for dynamic generation of the product list. I was thinking of doing a small Proof of Concept for integrating this into MODx. For example, I could use Ditto to take product pages to generate a URL that contains the product listed delimited as appropriate. -
-
- CommentAuthorgillweb
- CommentTimeSep 17th 2007
Are you thinking of putting an admin backend on it? Just a thought.... Add/Delete items, View orders, etc.
So far, great little script though! -
-
CommentAuthorjrochman
- CommentTimeSep 17th 2007 edited by jrochman on the 17th September 2007 at 21:29:46 EDT
Just an update. By making that small change I suggested, it was easy to have MODx generate a product list:
http://cmssandbox.com/MODx096/index.php?id=49
And then have the "PRODUCTS_FILE_PATH" set to the above address.
This is just my first attempt at having the two interact.
Update:
The cart seems to be working fine. http://cmssandbox.com/MODx096/index.php?id=50
I am going to work on abstracting this further so that the code and presentation are completely separated and makes it even easier to template. -
-
- CommentAuthorperthmetro
- CommentTimeSep 17th 2007 edited by perthmetro on the 18th September 2007 at 08:08:24 EDT
suggestion: can we join up the "Your shopping cart is currently empty." and "Unable to checkout as your cart is empty." statements as they really go hand in hand. TA
edit: done it. -
-
CommentAuthorSean
- CommentTimeSep 18th 2007
The amount of cart-related requests are really getting silly.
My last comment I had asked for people who are using the cart now to do some testing over the next couple of days and let us know if you find any bugs and hold off on anymore feature requests but almost every comment after my last is asking for additional features.
I'm really not trying to be a jerk here but this cart was suppose to be sort of a proof of concept and not a full blown shopping cart.
It's pretty solid and does get the job done based on the original request and can be styled to work with just about any design.
I'm not sure Ben's thoughts as of yet, these are just mine.
Can an admin and/or database back end be done to this cart? Yes but in doing so would be beyond the original scope of the project.
Again, not trying to be a butt head but just expressing my personal thoughts.
I think this cart can grow into a lot more but at some point a line in the sand does need to be drawn... most developers will agree, scope creep sucks
-
-
- CommentAuthorwfiedler
- CommentTimeSep 18th 2007 edited by wfiedler on the 18th September 2007 at 11:04:49 EDT
I think this cart can grow into a lot more but at some point a line in the sand does need to be drawn... most developers will agree, scope creep sucks
@Sean
! Also my opinion!
-
- CommentAuthorperthmetro
- CommentTimeSep 18th 2007
Sean, the lack of bugs being reported probably means it works... it certainly does with me. I'm chuffed with it, and you and Ben have done a great job. My form details sent to the buyer 'suggestion' could sort of (in a strange sick way) be seen as a 'bug' (or at least an invertebrate) in the sense of what happens if the buyer as done a typo mistake in the form (phone number maybe)... by having a copy of it they can see/check it was wrong and reply to the email with the right number. -
-
CommentAuthorSean
- CommentTimeSep 18th 2007
@perthmetro: your suggestion is a good one as it makes the user experience a little more clear.
My comment was mostly for other things people are asking for. Lets see what Ben's thoughts are on the subject... but thank you for your suggestion perth, I do think that should be fixed up with the current code. -
-
- CommentAuthorperthmetro
- CommentTimeSep 18th 2007
For what it's worth (not much), I'd prefer it to be as simple as possible both in buyer and seller aspects too. Like you said, it's the user experience that should be worked on the most. Even more so tho, have it so that it's easy to integrate, but with clear instructions and good working example then I think that should be 'easy'.
I'm integrating the cart into Multiflex 3as you guys release each update, with some very minor style changes (i've found that to be the hardest thing to do). I'm then going to try to ContentControl it!
So there you'll have the ultimate design, the ultimate shopping cart, and the ultimate CMS... all we need now is an ultimate forum! that can just as easily slot into the template... oh no, Pete has another idea!
Cheers
Pete -
-
CommentAuthorjrochman
- CommentTimeSep 18th 2007
My requests or more along the lines of code revisions that might make it more versatile. I am working on another code revision that I think will make this a whole hell of lot easier to template and decrease the need for some redundant code. Hopefully it will be found as a welcome modification. -
-
-
CommentAuthorjrochman
- CommentTimeSep 18th 2007
Now I am not a PHP coder by any means, more of a hobbyist. However, I believe this makes the cart easier for us designers. I abstracted out the HTML from the code so we are more in line with MVC. As such, we can merge the ReturnCartHTML and the ReturnCartText into ReturnCart (although I have not done so in the code I am providing.) Also, this eliminates the need for some conditionals (i.e., for including an Add/Remove link) as you can just include them or not in your template files. This is useful for creating a main cart, a sidebar cart, etc.
You can see an example here:
Example
You can download the slightly modified package to see the templates and how easy it becomes to template here:
Download
Feedback is welcome! -
-
- CommentAuthorbarnyardbbs
- CommentTimeSep 18th 2007
Everyone,
Thanks for your support on this project.
I'll probably make one last release of the PHPCart example, which will include the addition of the confirmation details to the customer's copy of the email. Beyond that, I think I'll let the project rest. I intended to make a simple cart that was easy to integrate into an existing site. I wanted it to be an example that people could modify. I'm happy with what it's become.
I'm sure that people can make lots of improvements to it. I know that it can be extended to use a formal database, have web-based administration, and a million other features. That's the beauty of open source. Anyone who wishes to improve upon it is completely free to follow their ambition. I intended a simple example. Anyone who wishes to make it into a complete package; feel free to refine it in any way that you wish.
I'll probably make the updates sometime this week, and I'll make another post when the revisions are available for download. At the moment, I have many other projects looming, so it will likely be the last revision I make to the cart script; at least for the near future.
I'm please that it was so well received by everyone. I'm glad that I could be of some help.
-Ben -
- CommentAuthorwfiedler
- CommentTimeSep 19th 2007
Suggestion:
It would be good to have a section at OD where scripts like these can be downloaded. It's better than searching later the forum for the download link, if somebody needs a special script. It's also useful, if a contributor of a script removes the download link from his site.<br /><br />I'm sure somebody will ask again in the near future for a simple shopping cart or something else, which was released one day here. </div> </li><li id="Comment_15492"> <a name="Item_41"></a> <div class="CommentHeader"> <ul> <li> <span>CommentAuthor</span><a href="/profile/?user=perthmetro">perthmetro</a></li> <li> <span>CommentTime</span>Sep 19th 2007</li> </ul> <span> </span> </div><div class="CommentBody" id="CommentBody_15492">Thanks Ben... you've done so well. Now the time to see your baby grow and experience life away from home ;)<br /><br />Wolfram: good idea - there's heaps of little useful scripts here for use with the designs.. somewhere! Maybe someone can track them all down and at least create a single topic for them. <br /><br />jrochman: good work, but I'm thinking having some text saying there is nothing in the shopping cart before any purchases is a good thing as it makes clear that this is the status quo, having nothing may make users think they have added something but just don't know where to confirm they have... does that make any sense? I'd be very interested to see how you can make it easier to integrate into these templates.<br /><br />Pete </div> </li><li id="Comment_15494" class="Alternate"> <a name="Item_42"></a> <div class="CommentHeader"> <ul> <li> <div class="CommentIcon" style="background-image:url('http://www.fredsbarn.com/sandbox/winery.gif');"> </div> <span>CommentAuthor</span><a href="/profile/?user=jrochman">jrochman</a></li> <li> <span>CommentTime</span>Sep 19th 2007 <em>edited by jrochman on the 19th September 2007 at 09:28:05 EDT</em></li> </ul> <span> </span> </div><div class="CommentBody" id="CommentBody_15494">Pete,<br /><br />In my current <a href="http://cmssandbox.com/PHPCart/">example</a>, if you have no items in the cart it says "Your cart is empty." Otherwise it displays the items you have added. Essentially, it clobbers your template and replaces it with said text. Admittedly, I am not sure this is the best way to go about it, but I figured I would share it with the community, because, IMHO, it is way easier to template. I was hoping that Ben would take this and incorporate it into the framework for the official version, but I believe it is beyond what he initially intended to do. So here is to hoping the more advanced PHP coders out there run with it.<br /><br />Also, as a framework, I have been able to add it into MODx, and take advantage of Ditto to generate the Product List, Ditto to generate a Catalog, Wayfinder to generate navigation, and eForm to handle the checkout.<br /><br />Demo (Looks wise it is in rough shape, it was just to see if it worked):<br /><br />http://cmssandbox.com/MODx096/index.php?id=51 </div> </li><li id="Comment_15495"> <a name="Item_43"></a> <div class="CommentHeader"> <ul> <li> <span>CommentAuthor</span><a href="/profile/?user=perthmetro">perthmetro</a></li> <li> <span>CommentTime</span>Sep 19th 2007</li> </ul> <span> </span> </div><div class="CommentBody" id="CommentBody_15495"><blockquote><cite>Posted By: jrochman</cite>Pete,<br /><br />In my current <a href="http://cmssandbox.com/PHPCart/"> example </a> , if you have no items in the cart it says "Your cart is empty."</blockquote><br /><br />Sorry mate I'm going blind!<br /><br />Your example with modx looks nice but i think it's beyond me. Having said that I like the right column total bit.<br /><br />Pete </div> </li><li id="Comment_15496" class="Alternate"> <a name="Item_44"></a> <div class="CommentHeader"> <ul> <li> <span>CommentAuthor</span><a href="/profile/?user=perthmetro">perthmetro</a></li> <li> <span>CommentTime</span>Sep 19th 2007</li> </ul> <span> </span> </div><div class="CommentBody" id="CommentBody_15496">How do I alter the width of the drop down box in the multi-item add to cart thingy?<br />TIA<br /><br />Pete </div> </li><li id="Comment_15497"> <a name="Item_45"></a> <div class="CommentHeader"> <ul> <li> <div class="CommentIcon" style="background-image:url('http://www.fredsbarn.com/sandbox/winery.gif');"> </div> <span>CommentAuthor</span><a href="/profile/?user=jrochman">jrochman</a></li> <li> <span>CommentTime</span>Sep 19th 2007</li> </ul> <span> </span> </div><div class="CommentBody" id="CommentBody_15497">Pete,<br /><br />The HTML output for that is contained in function ReturnMultiItemAddFormHTML($ProductIDs). No need to use MODx to utilize my easy template package. </div> </li><li id="Comment_15499" class="Alternate"> <a name="Item_46"></a> <div class="CommentHeader"> <ul> <li> <span>CommentAuthor</span><a href="/profile/?user=perthmetro">perthmetro</a></li> <li> <span>CommentTime</span>Sep 19th 2007</li> </ul> <span> </span> </div><div class="CommentBody" id="CommentBody_15499">Thanks... are you gonna release your version?<br /><br />What would I change to alter the width?<br /><br /><code>function ReturnMultiItemAddFormHTML($ProductIDs) {<br /> // Returns the HTML for a multiple-item drop down, with add button. This is helpful for multiple grouped items (such as an item with colors or sizes)<br /> // Call it with a semi-colon delimited list, like "SHIRT1;SHIRT2;"<br /> <br /> $result = "";<br /> <br /> if (strlen($ProductIDs) > 0) { <br /> $result = "<form method=\"get\" action=\"" . $_SERVER["PHP_SELF"] . "\"><select name=\"cartitem\"><option value=\"\">Please Select</option>";<br /> <br /> $ProductIDArray = explode( ";", $ProductIDs);<br /> foreach($ProductIDArray as $ProductID) {<br /> if (strlen($ProductID) > 0) {<br /> $result .= "<option value=\"" . $ProductID . "\">" . ReturnProductDescriptionFromID($ProductID) . "</option>";<br /> }<br /> }<br /> $result .= "</select><input type=\"hidden\" name=\"cartaction\" value=\"add\" /><input type=\"hidden\" name=\"carttoken\" value=\"" . mt_rand() . "\" /><br /><input type=\"submit\" value=\"Add To Cart\" /></form>";<br /> }<br /> <br /> return $result;<br />}</code> </div> </li><li id="Comment_15501"> <a name="Item_47"></a> <div class="CommentHeader"> <ul> <li> <div class="CommentIcon" style="background-image:url('http://www.fredsbarn.com/sandbox/winery.gif');"> </div> <span>CommentAuthor</span><a href="/profile/?user=jrochman">jrochman</a></li> <li> <span>CommentTime</span>Sep 19th 2007 <em>edited by gnome on the 19th September 2007 at 15:47:15 EDT</em></li> </ul> <span> </span> </div><div class="CommentBody" id="CommentBody_15501"><blockquote><cite>Posted By: jrochman</cite>You can download the slightly modified package to see the templates and how easy it becomes to template here:<br /><br /> <a href="http://cmssandbox.com/PHPCart/PHPCart.zip"> Download </a> <br /></blockquote><br /><br />My version can be downloaded at the link I placed in one of my prior posts.<br /><br />As to the width, you should be able to just add a 'class="yourClass"' to the <select> element and then add a width declaration in CSS for "yourClass."<br /><small>Gnome fixed HTML tag</small> </div> </li><li id="Comment_15508" class="Alternate"> <a name="Item_48"></a> <div class="CommentHeader"> <ul> <li> <span>CommentAuthor</span><a href="/profile/?user=perthmetro">perthmetro</a></li> <li> <span>CommentTime</span>Sep 19th 2007 <em>edited by perthmetro on the 19th September 2007 at 21:40:53 EDT</em></li> </ul> <span> </span> </div><div class="CommentBody" id="CommentBody_15508">I tried but it didn't work... could someone show me how the reduce the width with a class thingmajig. </div> </li><li id="Comment_15514"> <a name="Item_49"></a> <div class="CommentHeader"> <ul> <li> <span>CommentAuthor</span><a href="/profile/?user=perthmetro">perthmetro</a></li> <li> <span>CommentTime</span>Sep 20th 2007</li> </ul> <span> </span> </div><div class="CommentBody" id="CommentBody_15514">anyone? </div> </li><li id="Comment_15529" class="Alternate"> <a name="Item_50"></a> <div class="CommentHeader"> <ul> <li> <span>CommentAuthor</span><a href="/profile/?user=perthmetro">perthmetro</a></li> <li> <span>CommentTime</span>Sep 20th 2007</li> </ul> <span> </span> </div><div class="CommentBody" id="CommentBody_15529">Beuller? Beuller?.... anyone? </div> </li></ol> </div><div class="ContentInfo Middle"> <div class="PageInfo"> <p>51 to 100 of 131</p> <ol class="PageList"> <li><a href="/forum/discussion/1252/1/who-can-make-me-a-flat-file-shopping-cart-ill-pay/"><</a></li> <li><a href="/forum/discussion/1252/1/who-can-make-me-a-flat-file-shopping-cart-ill-pay/">1</a></li> <li class="CurrentPage">2</li> <li><a href="/forum/discussion/1252/3/who-can-make-me-a-flat-file-shopping-cart-ill-pay/">3</a></li> <li><a href="/forum/discussion/1252/3/who-can-make-me-a-flat-file-shopping-cart-ill-pay/">></a></li> </ol> </div> </div></div> <a id="pgbottom" name="pgbottom"> </a> </div></div> </div> </div> </div> <!-- #footer: holds bottom menu and copyright --> <div id="footer"> <div class="width"> <!-- #footerCorners: Rounded menu bar base corners --> <div id="footerCorners"></div> <!-- #footerMenu: Footer menu --> <div id="footerMenu"> <ul> <li><a href="/meet-the-board/">TODC Board</a></li> <li><a href="/help/" title="Get help">Help</a></li> <li class="last"><a href=" /sitemap/" title="Figure out where you are">Site Map</a></li> </ul> </div> <!-- #copyright: copyright, links, whatever --> <div id="copyright"> Design by <a href="http://fullahead.org" title="Visit FullAhead">FullAhead</a>. Hosting Donated By <a href="http://openreaction.com/">OpenReaction</a>. We support <a href="http://www.attackr.com/" title="Visit Attackr.com">Attackr.com</a> </div> </div> </div> <script src="http://www.google-analytics.com/urchin.js" type="text/javascript"> </script> <script type="text/javascript"> _uacct = "UA-356649-8"; urchinTracker(); </script> <!-- Kontera ContentLink --> <script type="text/javascript"> var dc_UnitID = 14; var dc_PublisherID = 15069; var dc_AdLinkColor = '#94BC18'; var dc_adprod='ADL'; var dc_isBoldActive= 'no'; </script> <script type="text/javascript" src="http://kona.kontera.com/javascript/lib/KonaLibInline.js"></script> <!-- Kontera ContentLink --></body> </html>
