DragonflyCMS Projects > Storez > [solved] Request A Quote Option? > Community Forums > Phoenix Netology
Forum Index > eCommerce > Storez

[solved] Request A Quote Option? Reply to topic


I've successfully added a Product Item for a Software License, and another for Additional User for same. But I'd also like to offer Maintenance Agreements in the Store. The pricing of maintenance is too complex to do in store, even if it wasn't it wouldn't work for those clients sold outside of the eStore, or prior to its inception. So I was wondering if there is a way to set up a 'Request A Quote" button instead of the current price and "Order" button?

Failing that I could perhaps use the offsite link, but I don't think it would look as good.

Please enter your server specs in your user profile! 😢


Have you considered the Product Link option?

This type of product allows you to provide whatever info necessary about a product/service, then when they click on the "Order" button (which shows as "View Details"), they are redirected to a site, page, whatever, of your choosing.

e.g. it can be presented as a free quote facility, and priced at zero anyway
nukebiz.com/Storez/pro...prodID=23/

Donations & Audit for DragonflyCMS

Server specs (Server OS / Apache / MySQL / PHP / DragonflyCMS):


Phoenix wrote
Have you considered the Product Link option?


Yeah, that's what I meant when I referred to "the offsite link", but my concern was/is the Free bit. I realise that the Quote is free, but that strikes me as a bit too subtle for a UI Wink

But I've learnt a lot more about Storez after an afternoon of customising the interface. So I now see that much of this - including the "View Details" button - is in the templates. So with a few conditionals to see if ProdLink is set along with a price of 0, I should be able to suppress the Free tag for these items, replace "View Details" with "Request A Quote", and change the "Free product" link to read "P.O.A." Done! Smile

BTW, couple of very minor things that I noticed this afternoon: UK uses , and . in numbers the same as US and Australia, and in index.php line 26 using $module_title in place of $module_name will allow the assigned name from Admin > Modules to display in pagetitle.

Thanks for the help.

[ FYI, emails are still not coming from forumplus, although they are coming from PM !?! ]

Please enter your server specs in your user profile! 😢


OK, hardest part was figuring out which template I needed to tweak!

Attached is a revised template suitable as a starting point for anyone else looking for a Request-A-Quote option. As supplied you enable R-A-Q by select a Price of 0 and setting a ProdLink to a request form (or similar).

There doesn't seem to be an Attachment option, so here's the replacement code for index.html template:

<!-- * StorezPro * Copyright (c) 2008 by Phoenix @ NukeBiz dot com * All Rights Reserved * Modified for Requet A Quote functionality * Copyright (c) 2009 by layingback. All Rights Reserved. * $Id: index.html,v 1.6 2008/11/03 02:20:29 Phoenix Exp $ --> <!-- IF not S_STOREID --> <!-- IF S_TOTAL_PROMOS --> <br /> <div style="text-align:center;" class="table1"><span class="title"><b>{L_CURRENT}</b></span></div> <!-- BEGIN promorows --> <table width="100%" border="0" cellspacing="0" cellpadding="5" class="table1"> <tr> <!-- IF promorows.S_THUMB --> <td style="width:{promorows.S_TWIDTH}px;" valign="top"> <a href="{promorows.U_PRODUCT}"><img src="{promorows.S_TFOLDER}{promorows.S_THUMB}" style="width:{promorows.S_TWIDTH}px; padding:3px 0 0 3px;" alt="" /></a> </td> <!-- ENDIF --> <td style="width:100%;" valign="top"> <!-- IF promorows.S_PROMOTITLE --> <a href="{promorows.U_PRODUCT}"><b>{promorows.S_PROMOTITLE}</b></a> <!-- ELSE --> <a href="{promorows.U_PRODUCT}"><b>{promorows.S_PRODNAME}</b></a> <!-- ENDIF --> <!-- IF promorows.S_IS_ADMIN --> <b>[</b> <a href="{promorows.U_EDIT}">{promorows.L_EDIT}</a><b> | </b><a href="{promorows.U_DELETE}">{promorows.L_DELETE}</a> <b>]</b> <!-- ENDIF --> <!-- IF promorows.S_PROMOINFO --> <br />{promorows.S_PROMOINFO} <!-- ELSE --> <br />{promorows.S_SINFO} <!-- ENDIF --> <!-- IF promorows.S_DISCOUNT --> <br /><br /><b>{promorows.L_LISTPRICE}:</b> <span style="text-decoration:line-through;">{promorows.S_MSRPPRICE}</span> <!-- ENDIF --> <!-- IF promorows.S_INSTANT --> <br /><b>{promorows.L_INSTANT}</b> <!-- ENDIF --> <br />{promorows.S_AVAIL}<br />{promorows.S_ETS}<br /> <!-- IF promorows.S_OPTIONS --> {promorows.L_DEFAULTPRICE}<br /> <!-- ENDIF --> </td><td> <table border="0" cellspacing="4" cellpadding="0"> <tr><td align="center" valign="middle" class="content"> <b>{promorows.S_PROMOPRICE}</b><br /> <!-- IF promorows.S_PRODLINK --> <input type="button" value="View Details" onclick="window.location='{promorows.S_PRODLINK}'" /> <!-- ELSEIF promorows.S_INSTOCK --> <!-- IF promorows.S_OPTIONS --> <input type="button" value="{promorows.L_OPTIONS}" onclick="window.location='{promorows.U_PRODUCT2}'" /> <!-- ELSE --> <form method="post" action="{promorows.U_STOREZ}" style="margin:0;"><div> <input type="hidden" name="file" value="cart" /> <input type="hidden" name="op" value="addToCart" /> <input type="hidden" name="prodID" value="{promorows.S_PRODID}" /> <input type="hidden" name="prodGroup" value="{promorows.S_GROUP}" /> <input type="hidden" name="prodDuration" value="{promorows.S_DURATION}" /> <!-- IF promorows.S_FREE --> <input type="hidden" name="qty" value="1" /> <!-- ELSE --> <input type="text" name="qty" value="1" size="5" style="text-align:center;" /><br /> <!-- ENDIF --> <input name="submit" type="submit" value="{promorows.L_ORDER}" /></div></form> <!-- ENDIF --> <!-- IF promorows.S_DEALER --> <br /><br /><input type="button" style="color:red;" value="{promorows.L_DEALERS}" onclick="window.location='{promorows.U_PRODUCT2}'" /> <!-- ENDIF --> <!-- ELSE --> <input type="button" value="{promorows.L_STOCKOUT}" /> <!-- ENDIF --> </td> </tr> </table> </td> </tr> <tr><td colspan="3" align="center" class="option">[ <a href="{promorows.U_MORESTORE}">{promorows.L_MORESTORE}</a> ]</td></tr> </table> <br /> <!-- END promorows --> <!-- IF B_PAGINATION --> <!-- INCLUDE pagination.html --> <!-- ENDIF --> <!-- ENDIF --> <!-- ELSE --> <!-- IF S_TOTAL_PRODUCTS --> <br /> <!-- BEGIN productrows --> <table width="100%" border="0" cellspacing="0" cellpadding="5" class="table1"> <tr> <!-- IF productrows.S_THUMB or productrows.S_FREE --> <td style="width:{productrows.S_TWIDTH}px;" align="center" valign="top"> <a href="{productrows.U_PRODUCT}"><img src="{productrows.S_TFOLDER}{productrows.S_THUMB}" style="width:{productrows.S_TWIDTH}px; padding:3px 0 0 3px;" alt="" /></a> <!-- IF productrows.S_FREE --> <!-- IF productrows.S_PRODLINK --> <!-- ELSE --> <br />{productrows.S_FREE} <!-- ENDIF --> <!-- ENDIF --> </td> <!-- ENDIF --> <td style="width:100%;" valign="top"> <a href="{productrows.U_PRODUCT}"><b>{productrows.S_PRODSTRING}</b></a> <!-- IF productrows.S_IS_ADMIN --> <b>[</b> <a href="{productrows.U_EDIT}">{productrows.L_EDIT}</a><b> | </b><a href="{productrows.U_DELETE}">{productrows.L_DELETE}</a> <b>]</b> <!-- ENDIF --> <br />{productrows.S_SINFO} <!-- IF productrows.S_DISCOUNT --> <br /><br /><b>{productrows.L_LISTPRICE}:</b> <span style="text-decoration:line-through;">{productrows.S_MSRPPRICE}</span> <!-- ENDIF --> <!-- IF productrows.S_INSTANT --> <br /><b>{productrows.L_INSTANT}</b> <!-- ENDIF --> <br />{productrows.S_AVAIL}<br />{productrows.S_ETS}<br /> <!-- IF productrows.S_OPTIONS --> {productrows.L_DEFAULTPRICE}<br /> <!-- ENDIF --> </td><td> <table border="0" cellspacing="4" cellpadding="0"> <tr><td align="center" valign="middle" class="content"> <!-- IF productrows.S_PRODLINK --> <!-- IF productrows.S_FREE --> <b>P.O.A.</b><br /> <input type="button" value="Request A Quote" onclick="window.location='{productrows.S_PRODLINK}'" /> <!-- ELSE --> <b>{productrows.S_RETAIL}</b><br /> <input type="button" value="View Details" onclick="window.location='{productrows.S_PRODLINK}'" /> <!-- ENDIF --> <!-- ELSEIF productrows.S_INSTOCK --> <b>{productrows.S_RETAIL}</b><br /> <!-- IF productrows.S_OPTIONS --> <input type="button" value="{productrows.L_OPTIONS}" onclick="window.location='{productrows.U_PRODUCT2}'" /> <!-- ELSE --> <form method="post" action="{productrows.U_STOREZ}" style="margin:0;"><div> <input type="hidden" name="file" value="cart" /> <input type="hidden" name="op" value="addToCart" /> <input type="hidden" name="prodID" value="{productrows.S_PRODID}" /> <input type="hidden" name="prodGroup" value="{productrows.S_GROUP}" /> <input type="hidden" name="prodDuration" value="{productrows.S_DURATION}" /> <!-- IF productrows.S_FREE --> <input type="hidden" name="qty" value="1" /> <!-- ELSE --> <input type="text" name="qty" value="1" size="5" style="text-align:center;" /><br /> <!-- ENDIF --> <input name="submit" type="submit" value="{productrows.L_ORDER}" /></div></form> <!-- ENDIF --> <!-- IF productrows.S_DEALER --> <br /><br /><input type="button" style="color:red;" value="{productrows.L_DEALERS}" onclick="window.location='{productrows.U_PRODUCT2}'" /> <!-- ENDIF --> <!-- ELSE --> <b>{productrows.S_RETAIL}</b><br /> <input type="button" value="{productrows.L_STOCKOUT}" /> <!-- ENDIF --> </td> </tr> </table> </td> </tr> </table> <br /> <!-- END productrows --> <!-- IF B_PAGINATION --> <!-- INCLUDE pagination.html --> <!-- ENDIF --> <!-- ELSE --> <br /> <div class="table1"><span class="content"><i>{L_NO_PRODUCTS}</i></span></div> <!-- ENDIF --> <!-- ENDIF -->

Free products, and ProdLinks, still behave normally if you select them separately for any given product. [ Ideally there would be a new field type declared, etc., etc., but this way there are no changes to the module code. ]

Please enter your server specs in your user profile! 😢

All times are Australia/Adelaide


Jump to: