On the file:
/includes/templates/templates_default/templates/tpl_modules_shipping_estimator.php
using your templates and overrides ...
You could try surrounding the FOR loop with an IF such as:
Code:
if ((isset($_POST['zip_code']) && isset($_POST['zone_id'])) || $_SESSION['customer_id']) {
for ($i=0, $n=sizeof($quotes); $i<$n; $i++) {
but you need to test that well ...
Also, you might want to make it more clear to hit Update for current shipping quotes, as not hitting the update will break this ...
NOTE: add the closing IF bracket below the closing FOR bracket ...
NOTE: even one data is added for the address, this requires the UPDATE to be hit on guests ...
If you want it to work on the remembered settings for guests not logged in, you could try using:
Code:
if (($zip_code && $state_zone_id) || $_SESSION['customer_id']) {
for ($i=0, $n=sizeof($quotes); $i<$n; $i++) {