Follow us on Twitter X-Cart on Facebook Wiki
Shopping cart software Solutions for online shops and malls
 

if a product is outstock, notify when in stock - preorder

 
Reply
   X-Cart forums > X-Cart 4 > Dev Questions
 
Thread Tools Search this Thread
  #81  
Old 05-07-2005, 06:26 PM
 
markwhoo markwhoo is offline
 

X-Adept
  
Join Date: Nov 2003
Posts: 799
 

Default

I just tried using this mod in the 4.0.13 version and am having an error 401 access denied pop up when entering an email address no matter if logged in as a member or not logged in as a guest.

Anyone else use this in 4.0.13 yet, and if so, what was different.

I have tried a few things here, but nothing makes a difference.

shishapipe. any ideas?
__________________
vs 4.1.12
Reply With Quote
  #82  
Old 05-08-2005, 02:36 AM
 
jeeya jeeya is offline
 

X-Adept
  
Join Date: May 2003
Location: USA
Posts: 807
 

Default

can any one post a complete error correct mod again, as there are too many modifications made due to error in original and it's kind of confusing following it through pages.
__________________
X-Cart Version 4.1.8
Hosted on Linux
Reply With Quote
  #83  
Old 05-08-2005, 10:59 AM
 
markwhoo markwhoo is offline
 

X-Adept
  
Join Date: Nov 2003
Posts: 799
 

Default

Well, I am not totally sure here, but I think this is an issue with the guest logged part that was added for non members to be able to use this mod.

When I am a guest and try to enter email, I get the 401 error "Not Authorized."

When I am a member and I see the button to take me ot the page to enter by email, I immediately go to the "Not Authorized" 401 error.

I have played with a couple of lines of code to try to eliminate the guest part to see if remaining will work right and nothing good happens.

I also note that no info is passed into the database as well.

So, what ever is locking up is either the posting of data, or the ability to get passed the authentication TO post the data.

I think I have everyhting installed right here per the instructions and updated info, but it is possible that something has changed in the xcart code to cause issues.


Anyone else have anything to add to this?

Anyone with 4.0.13 try this yet?


I think this is an awesome mod and would be a great addition to the store, but I am having fits at the moment.
__________________
vs 4.1.12
Reply With Quote
  #84  
Old 05-12-2005, 08:42 AM
 
jeanne jeanne is offline
 

Advanced Member
  
Join Date: Aug 2004
Posts: 85
 

Default

For those of you having trouble with the installation using 4.0.13.
I missed this SQL command below when I first tried installing this mod and was getting the same error as the posters above. It seems to work now.

Code:
INSERT INTO xcart_modules VALUES (2,'stock_notify','Allows registered users to ask to be notified when a product is back in stock','Y');
__________________
Jeanne
4.1.8 Gold
Reply With Quote
  #85  
Old 05-12-2005, 04:04 PM
 
markwhoo markwhoo is offline
 

X-Adept
  
Join Date: Nov 2003
Posts: 799
 

Default

Quote:
Originally Posted by jeanne
For those of you having trouble with the installation using 4.0.13.
I missed this SQL command below when I first tried installing this mod and was getting the same error as the posters above. It seems to work now.

Code:
INSERT INTO xcart_modules VALUES (2,'stock_notify','Allows registered users to ask to be notified when a product is back in stock','Y');

Bless you!

I am not sure how I missed this, but it WAS the problem. At least for submitting the inquiry.

All I need to do is test out nof for product restock and emails to be sent out to end user.

Thanks jeanne, sometimes it is the smallest things that get overlooked.
__________________
vs 4.1.12
Reply With Quote
  #86  
Old 05-19-2005, 11:02 AM
 
jeanne jeanne is offline
 

Advanced Member
  
Join Date: Aug 2004
Posts: 85
 

Default Modified to work with variants 4.0.13

I modifed this a bit to work with variants and to get the product name in the email that is sent out. I am not much into coding more like messing around until something works, so use at your own risk.

First follow the directions left by sishapipe to install this mod for products without variants. Make sure that it works first before you continue and of course back up all files.

Then I added the field 'productcode' to the xcart_notify table. varchar(32) Don't add the ' s to the field.

In config.php add
Code:
"notify" => "xcart_notify",
after
Code:
"newsletter" => "xcart_newsletter",

I modified the email files and the files that generate the automatic emails to get the product name sent to the customer.

include/process_product.php
in the code submitted by sishapipe on page 4 of this thread (thanks BTW)

replace
Code:
$mailproduct = func_query_first("SELECT * FROM `xcart_notify` WHERE productid = '$k'");
with
Code:
$mailproduct= func_query_first("SELECT * FROM $sql_tbl[products] WHERE productid = '$k'");

Replace skin1/mail/stock_notify_subj.tpl with
Code:
{config_load file="$skin_config"}{ $config.Company.company_name }: {$product.product} back in stock !!

in skin1/mail/html/stock_notify.tpl I added
Code:
{$product.product}
that will put the name of the product in the body of the email. You can put it anywhere that it makes sense.

To modify for variants I changed modules/Product_Options/product_variants.php right after
Code:
db_query("UPDATE $sql_tbl[variants] SET productcode = '$v[productcode]' WHERE variantid = '$k'");
add
Code:
// funkydunk added code for notify when back in stock changed for variants if ($v[notify]){ if ($v[avail] > $v[oldavail]){ // send the email to all registered product watchers $mailproduct= func_query_first("SELECT * FROM $sql_tbl[products] WHERE productid = '$productid'"); $watchers = db_query("SELECT email FROM $sql_tbl[notify] WHERE productcode='$v[productcode]'"); //echo "SELECT * from $sql_tbl[notify] WHERE productcode= '$v[productcode]'"; $mail_smarty->assign ("product", $mailproduct); // put in to assign product info to smarty $mail_smarty->assign ("userinfo", $userinfo); while ($row = db_fetch_array($watchers)){ // echo $row['email']; $email = $row['email']; func_send_mail($email, "mail/".$prefix."stock_notify_subj.tpl", "mail/".$prefix."stock_notify.tpl", $config["Company"]["orders_department"], false); // delete watchers from table db_query("DELETE FROM $sql_tbl[notify] WHERE email='" . $email . "' and productcode = '$v[productcode]'"); } } } // end of code added by funkydunk for notify when back in stock changed for variants

in skin1/modules/Product_Options/product_variants.tpl right after
Code:
<TD><INPUT type="text" size="3" name="vs[{$v.variantid}][backorder]" value="{$v.backorder}"></TD> </TR>
add
Code:
{* start funkydunk notify mod changed for variants *} {if $active_modules.stock_notify ne "" and $v.avail eq 0 and $v.productcode ne ""} <input type="hidden" name="vs[{$v.variantid}][oldavail]" value="0"> <input type="hidden" name="vs[{$v.variantid}][notify]" value="true"> {/if} {* end of funkydunk notify mod changed for *}

in skin1/customer/main/product.tpl I added
Code:
{if $variants ne ''} {if $login ne ''} <tr><td width="30%"></td><td><span id="product_productcode">{$product.productcode}</span></td></tr> {else} <tr><td width="30%"></td><td><span id="product_productcodeguest">{$product.productcode}</span></td></tr> {/if} {/if}
I put that after
Code:
<TR><TD width="30%">{$lng.lbl_quantity}</TD><TD nowrap><SPAN id="product_avail_txt">{if $product.avail gt 0}{$product.avail}</SPAN>{else}{$lng.txt_no}{/if} {$lng.txt_items_available}</TD></TR>

in skin1/modules/Product_Options/customer_options.tpl change
Code:
variants[{$k}] = new Array(new Array({$v.taxed_price|default:$v.price|default:$product.taxed_price|default:$product.price}, {$v.avail|default:0}, '{if $v.is_thumbnail eq 'Y'}{$v.variantid}{/if}', '{$v.weight|default:0}', {$v.price|default:$product.price|default:'0'}), new Array(), new Array());
to
Code:
variants[{$k}] = new Array(new Array({$v.taxed_price|default:$v.price|default:$product.taxed_price|default:$product.price}, {$v.avail|default:0}, '{if $v.is_thumbnail eq 'Y'}{$v.variantid}{/if}', '{$v.weight|default:0}', {$v.price|default:$product.price|default:'0'}, '{$v.productcode}'), new Array(), new Array());
after
Code:
var is_unlimit = '{$config.General.unlimited_products}';
add
Code:
var link1 = "<a href='notify.php?productid={$product.productid}&productcode="; var link2 = "'><font class=FormButton>{$lng.lbl_stock_notify_button}</font>[img]{$ImagesDir}/go.gif[/img]</a>"; var link3 = "&guest=true'><font class=FormButton>{$lng.lbl_stock_notify_button}</font>[img]{$ImagesDir}/go.gif[/img]</a>";
after
Code:
if(document.getElementById('product_weight')) document.getElementById('product_weight').innerHTML = variants[x][0][3];
add
Code:
if(document.getElementById('product_productcode')){ if (avail <= 0) document.getElementById('product_productcode').innerHTML = link1+variants[x][0][5]+link2; else document.getElementById('product_productcode').innerHTML = ""; } if(document.getElementById('product_productcodeguest')){ if (avail <= 0) document.getElementById('product_productcodeguest').innerHTML = link1+variants[x][0][5]+link3; else document.getElementById('product_productcodeguest').innerHTML = ""; }

For your products with variants the link to the notify me page will only show up when you are out of stock on the variant. I modified the link on the products without variants as well so that it won't show {if $product.avail le 1}...{/if} I am not using the 'Buy Now' feature so I am not sure how that would be afftected.
__________________
Jeanne
4.1.8 Gold
Reply With Quote
  #87  
Old 07-27-2005, 07:15 AM
  EnriqueHavoc's Avatar 
EnriqueHavoc EnriqueHavoc is offline
 

eXpert
  
Join Date: Jul 2004
Posts: 232
 

Default

thanks jeanne

also- can anyone tell me if this mod sends an email to the administrator with info on which out-of-stock product the customer was trying to buy?
__________________
X-Cart 4.0.12
PHP 4.3.11
MySQL 4.0.23
Linux/Apache
Net::SSLeay 1.25
libCURL libcurl/7.12.0 OpenSSL/0.9.7a zlib/1.1.4
www.ewdhosting.com
Reply With Quote
  #88  
Old 08-29-2005, 05:15 PM
  ShishaPipeUK's Avatar 
ShishaPipeUK ShishaPipeUK is offline
 

Senior Member
  
Join Date: Jul 2005
Location: London, England.
Posts: 118
 

Default Re: Modified to work with variants 4.0.13

Quote:
Originally Posted by jeanne
in skin1/modules/Product_Options/customer_options.tpl change
Code:
variants[{$k}] = new Array(new Array({$v.taxed_price|default:$v.price|default:$product.taxed_price|default:$product.price}, {$v.avail|default:0}, '{if $v.is_thumbnail eq 'Y'}{$v.variantid}{/if}', '{$v.weight|default:0}', {$v.price|default:$product.price|default:'0'}), new Array(), new Array());
to
Code:
variants[{$k}] = new Array(new Array({$v.taxed_price|default:$v.price|default:$product.taxed_price|default:$product.price}, {$v.avail|default:0}, '{if $v.is_thumbnail eq 'Y'}{$v.variantid}{/if}', '{$v.weight|default:0}', {$v.price|default:$product.price|default:'0'}, '{$v.productcode}'), new Array(), new Array());
after
Code:
var is_unlimit = '{$config.General.unlimited_products}';
add
Code:
var link1 = "<a href='notify.php?productid={$product.productid}&productcode="; var link2 = "'><font class=FormButton>{$lng.lbl_stock_notify_button}</font>[img]{$ImagesDir}/go.gif[/img]</a>"; var link3 = "&guest=true'><font class=FormButton>{$lng.lbl_stock_notify_button}</font>[img]{$ImagesDir}/go.gif[/img]</a>";
after
Code:
if(document.getElementById('product_weight')) document.getElementById('product_weight').innerHTML = variants[x][0][3];
add
Code:
if(document.getElementById('product_productcode')){ if (avail <= 0) document.getElementById('product_productcode').innerHTML = link1+variants[x][0][5]+link2; else document.getElementById('product_productcode').innerHTML = ""; } if(document.getElementById('product_productcodeguest')){ if (avail <= 0) document.getElementById('product_productcodeguest').innerHTML = link1+variants[x][0][5]+link3; else document.getElementById('product_productcodeguest').innerHTML = ""; }
This is wrong, it should be in: skin1/modules/Product_Options/check_options.tpl
__________________
Apache/2.0.55 (Red Hat) & MYSQL Server: 5.0.24
PERL: 5.008005 / PHP: 4.4.4 - 4.3.1 X-CART

Shop carts at
http://www.nightscene.co.uk/shop/home.php
http://www.theshisha.net/shopcart/home.php
http://www.system-maintenance.com/maint/home.php
http://www.tabac4u.com
Reply With Quote
  #89  
Old 09-21-2005, 12:52 PM
 
Pat75 Pat75 is offline
 

Newbie
  
Join Date: Apr 2005
Location: U.K
Posts: 5
 

Default not sure

I am using 4.0.15 & am not sure if any one else with .15 has uploaded this feature to their website.

If there's anyone pls can you enlighten me on what to do.

Thanks in advance.
__________________
X-cart 4.1.6 Gold
Neon lights
X-AOM
Reply With Quote
  #90  
Old 11-05-2006, 11:44 PM
 
LiLCrafter LiLCrafter is offline
 

Member
  
Join Date: Sep 2006
Posts: 20
 

Question Re: if a product is outstock, notify when in stock - preorder

I have added this mod to a 4.0.19 version, however, do not see the mod operational as I have seen it in earlier versions of the 4.0 branch.

Has anyone incorporated this into the 4.0.19 branch? If so, were the calls different?

I know there were multiple changes in code in earlier 4.0 versions, however, not sure what the changes may have been between the earlier or the latest.

ShishaPipe, Have you upgrades your store?

You had the most invested into this mod, so I am sure you have not forgotten it, have you found or implemented changes?
__________________
-vs- 4.0.19
Reply With Quote
Reply
   X-Cart forums > X-Cart 4 > Dev Questions



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump


All times are GMT -8. The time now is 12:11 PM.

   

 
X-Cart forums © 2001-2020