You are viewing this forum as a guest. Login to an existing account, or create a new account, to reply to topics and to create new topics.
wwwthreedogsportinggoods.com
Preferable method:
I have a product that has 50+ size options each with a different part number. I first tried setting up a single product with discrete options using a radio button list, but there where three issues.
1) The display is a little messy because there is no part number at the product level
2) I'm not able to provide a part number for the option.
3) The order does not show the base price and the upcharge for the option
Example: Redding Bushing Style Dies -> Bushing Neck Die -> 17 Remington Fireball
Second choice:
The category has the image. I will have approx 50 products listed under it and do not need nor want to display the image. I would like to have a single line with the product part number and name along with an add button but don't see how it can be done. Ideally, I would have a single line for each product.
Part# Name List Price Reg Price [Add to Cart] [Add to Wishlist]
Example: Redding Bushing Style Dies ->Full Bushing Die
Any suggestions?
Last edited by chuck6478 (10-20-2009 11:34:18)
Offline
Clone the no image display and add this some where near the top
// +-- // | Set our add_ok flag. // +-- $add_ok = 1; if (($proddisp['useinv']) && (!($proddisp['invlevel'] > 0))) {$add_ok = 0;} if ($proddisp['pricestatus'] == 'D') {$add_ok = 0;}
and this at the bottom
if ($add_ok) { if (!(empty($proddisp['xprodoptions']))) { $link = $this->link_namespace('ecom','prodshow',array('ref' => $proddisp['id'])); print '<form action="' . $link . '" id="' . $this->xhtml_encode($proddisp['id']) . '" method="post">'; print '<p class="quickform"><input class="quickbutton" type="submit" name="' . $this->xhtml_encode($proddisp['id']) . '" '; print 'id="' . $this->xhtml_encode($proddisp['id']) . '--SUBMIT" value="Add With Options" /></p></form>' . $eol; } else { $this->xhtml_quickform_header($formid,'ecom','addcart',array()); print '<p class="hidden"><label for="' . $formid . '--quantity'; print '" class="hidden">Quantity</label></p>' . $eol; print '<p class="hidden"><input type="hidden" name="'; print $formid . '--quantity" id="' . $formid . '--quantity'; print '" value="1" /></p>' . $eol; $this->include_namespace('ecom','prodshowoptlite',array('form' => $formid, 'showquan' => 0, 'headfoot' => 0)); $this->xhtml_quickform_footer($formid,'Add To Cart',1); } // End of if statement.
Offline
You will find one at System Dashboard > Store > Store Displays > Product List Displays and the other at System Dashboard > Store > Store Displays > Product Detail Displays. You will need to make a new display in both places, once that is done you will have to set the product to use those display.
John
Offline
You know what they say about good deeds? No good deed goes unpunished.
I've impleemnted the code but there seems to be a problem. The following if statement is always true even though there are no options defined.
if (!(empty($proddisp['xprodoptions']))) {
consequently I always get a button with the caption "Add with options".
The "else" portion of the statement doesn't seem to have anything for a button.
Offline
In the else part of the statement the button is built thru this statement
$this->include_namespace('ecom','prodshowoptlite',array('form' => $formid, 'showquan' => 0, 'headfoot' => 0));
what I posted is in all the displays that include the buttons, I just copied and pasted them here. If you just did it like this (at the bottom)
if ($add_ok) { $this->xhtml_quickform_header($formid,'ecom','addcart',array()); print '<p class="hidden"><label for="' . $formid . '--quantity'; print '" class="hidden">Quantity</label></p>' . $eol; print '<p class="hidden"><input type="hidden" name="'; print $formid . '--quantity" id="' . $formid . '--quantity'; print '" value="1" /></p>' . $eol; $this->include_namespace('ecom','prodshowoptlite',array('form' => $formid, 'showquan' => 0, 'headfoot' => 0)); $this->xhtml_quickform_footer($formid,'Add To Cart',1); } // End of if statement.
you should get the old option display.
John
Offline