Re: ZCA Bootstrap 4 Template [Support Thread]
PHP 8.3 / ZCA 3.7.5 / ZC 2.1.0
This is kind of a weird question, but is there a way to replicate the smooth transition that that "Back to Top" button does on some pages? For example, I have a (somewhat) long terms and conditions complete with a Table of Contents. I wanted to know is there a way to replicate the smooth scrolling back to top for like chapters?
I managed to replicate this with the following:
Code:
html {
scroll-behavior: smooth;
}
But combining that with the "Back to Top" that pops up creates a weird stutter before it jumps back to top.
Re: ZCA Bootstrap 4 Template [Support Thread]
PHP 8.3.4, ZC 2.1.0, ZCABootstrap 3.7.6
I don't know what is wrong but for some reason I cannot show the shipping estimator on the shipping cart as either a button or listing.
I keep getting the following error code:
Code:
[11-Feb-2025 14:12:01 America/New_York] PHP Fatal error: Uncaught TypeError: Cannot access offset of type array on array in E:\xampp\htdocs\justuptown\includes\modules\shipping_estimator.php:152
Stack trace:
#0 E:\xampp\htdocs\justuptown\includes\templates\bootstrap\templates\tpl_shopping_cart_default.php(229): require()
#1 E:\xampp\htdocs\justuptown\includes\templates\bootstrap\common\tpl_main_page.php(233): require('E:\\xampp\\htdocs...')
#2 E:\xampp\htdocs\justuptown\index.php(94): require('E:\\xampp\\htdocs...')
#3 {main}
thrown in E:\xampp\htdocs\justuptown\includes\modules\shipping_estimator.php on line 152
The only thing I get a reference to is:
Code:
'currency_value' => isset($currency, $currencies->currencies[$currency]['value']) ? $currencies->currencies[$currency]['value'] : 1,
I can say removing the $currencies->currencies[$currency]['value'] bit of the code or just setting 'currency_value' to 1, causes the module to work and the shipping estimator form to display.
Odd enough I can run this on a barebones ZenCart and encounter no errors.
Re: ZCA Bootstrap 4 Template [Support Thread]
Quote:
Originally Posted by
retched
PHP 8.3.4, ZC 2.1.0, ZCABootstrap 3.7.6
I don't know what is wrong but for some reason I cannot show the shipping estimator on the shipping cart as either a button or listing.
I keep getting the following error code:
Code:
[11-Feb-2025 14:12:01 America/New_York] PHP Fatal error: Uncaught TypeError: Cannot access offset of type array on array in E:\xampp\htdocs\justuptown\includes\modules\shipping_estimator.php:152
Stack trace:
#0 E:\xampp\htdocs\justuptown\includes\templates\bootstrap\templates\tpl_shopping_cart_default.php(229): require()
#1 E:\xampp\htdocs\justuptown\includes\templates\bootstrap\common\tpl_main_page.php(233): require('E:\\xampp\\htdocs...')
#2 E:\xampp\htdocs\justuptown\index.php(94): require('E:\\xampp\\htdocs...')
#3 {main}
thrown in E:\xampp\htdocs\justuptown\includes\modules\shipping_estimator.php on line 152
The only thing I get a reference to is:
Code:
'currency_value' => isset($currency, $currencies->currencies[$currency]['value']) ? $currencies->currencies[$currency]['value'] : 1,
I can say removing the $currencies->currencies[$currency]['value'] bit of the code or just setting 'currency_value' to 1, causes the module to work and the shipping estimator form to display.
Odd enough I can run this on a barebones ZenCart and encounter no errors.
What currencies are enabled for the site?
Re: ZCA Bootstrap 4 Template [Support Thread]
What's additionally weird is that the $currency variable isn't set (in either stock Zen Cart or stock Bootstrap) except for on the order_status page.
Re: ZCA Bootstrap 4 Template [Support Thread]
Quote:
Originally Posted by
lat9
What currencies are enabled for the site?
US Dollar, Australian Dollar, British Pounds, Bitcoin
Quote:
Originally Posted by
lat9
What's additionally weird is that the $currency variable isn't set (in either stock Zen Cart or stock Bootstrap) except for on the order_status page.
The funny thing is I debug printed both variables and they ARE set.
Here's what $currency is set to:
Code:
Debug [0/0]:Array
(
[id] => AUD
[text] => $
[title] => Australian Dollar
)
$currencies->currencies:
Code:
Debug [0/0]:Array
(
[USD] => Array
(
[title] => US Dollar
[symbol_left] => $
[symbol_right] =>
[decimal_point] => .
[thousands_point] => ,
[decimal_places] => 2
[value] => 1.000000
)
[EUR] => Array
(
[title] => Euro
[symbol_left] => €
[symbol_right] =>
[decimal_point] => .
[thousands_point] => ,
[decimal_places] => 2
[value] => 0.773000
)
[GBP] => Array
(
[title] => GB Pound
[symbol_left] => £
[symbol_right] =>
[decimal_point] => .
[thousands_point] => ,
[decimal_places] => 2
[value] => 0.672600
)
[CAD] => Array
(
[title] => Canadian Dollar
[symbol_left] => $
[symbol_right] =>
[decimal_point] => .
[thousands_point] => ,
[decimal_places] => 2
[value] => 1.104200
)
[AUD] => Array
(
[title] => Australian Dollar
[symbol_left] => $
[symbol_right] =>
[decimal_point] => .
[thousands_point] => ,
[decimal_places] => 2
[value] => 1.178900
)
)
Re: ZCA Bootstrap 4 Template [Support Thread]
In what non-standard Zen Cart file is $currency set to that array? That's what the shipping_estimator is complaining about.
Re: ZCA Bootstrap 4 Template [Support Thread]
Quote:
Originally Posted by
lat9
In what non-standard Zen Cart file is $currency set to that array? That's what the shipping_estimator is complaining about.
Aha! That did it. "Currencies/Languages in Header" causes a conflict as its foreach loop also uses $currency. I changed it to $currency_item and all worked out. (I changed it from a for loop to foreach instead... and picked a bad temp name it seems.)
Re: ZCA Bootstrap 4 Template [Support Thread]
Quote:
Originally Posted by
retched
Aha! That did it. "Currencies/Languages in Header" causes a conflict as its foreach loop also uses $currency. I changed it to $currency_item and all worked out. (I changed it from a for loop to foreach instead... and picked a bad temp name it seems.)
Thanks for the follow-up identifying the source of the issue!
1 Attachment(s)
Re: ZCA Bootstrap 4 Template [Support Thread]
I'm trying to add a help button inside the OPC shipping card with the bootstrap template for one particular shipping method. The button I want to use is the blue square with the question mark inside it. I've got the button displayed but noting happens when I click it. The code is modeled after similar code for the button on the admin side and for the help link in the shopping cart page. What have I missed?
Code fragments follow:
From includes/templates/bootstrap/templates/tpl_modules_checkout_one_shipping.php starting at line 16
Code:
?>
<fieldset>
<legend><?php echo $quotes[$i]['module']; ?> <?php echo (!empty($quotes[$i]['icon'])) ? $quotes[$i]['icon'] : '';
// bof edit to add help modal icon for international shipping
if ($shipping_module_id === 'flatquote') {
echo '<div class="pull-right noprint"><a class="btn btn-sm btn-default btn-help" data-toggle="modal" href="#flatquoteHelpModal" title="Help" role="button" rel="noopener"><i class="fa fa-question fa-lg aria-hidden="true"></i></a></div>';
}
// eof edit to add help modal icon for international shipping
?>
</legend>
New file: includes/templates/bootstrap/modalboxes/tpl_flatquote_help.php
Code:
<?php
/**
* Modal for international shipping flatquote help
*
* BOOTSTRAP v3.4.0
*
* @package templateSystem
* @copyright Copyright 2003-2016 Zen Cart Development Team
* @copyright Portions Copyright 2003 osCommerce
* @license http://www.zen-cart.com/license/2_0.txt GNU Public License V2.0
*/
zca_load_language_for_modal('flatquote_help');
?>
<!-- Modal -->
<div class="modal fade" id="flatquoteHelpModal" tabindex="-1" role="dialog" aria-labelledby="flatquoteHelpModalLabel" aria-hidden="true">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="flatquoteHelpModalLabel"><?php echo HEADING_TITLE_FLATQUOTE_MODAL; ?></h5>
<button type="button" class="close" data-dismiss="modal" aria-label="<?php echo TEXT_MODAL_CLOSE; ?>"><span aria-hidden="true">×</span></button>
</div>
<div class="modal-body">
<h2><?php echo SUB_HEADING_TITLE_1; ?></h2>
<p><?php echo SUB_HEADING_TEXT_1; ?></p>
<h2><?php echo SUB_HEADING_TITLE_2; ?></h2>
<p><?php echo SUB_HEADING_TEXT_2; ?></p>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal"><?php echo TEXT_MODAL_CLOSE; ?></button>
</div>
</div>
</div>
</div>
There's also a new file in includes/languages/english/lang.flatquote_help.php containing defines for the above file.
For unknown reason(s) the new file for the modal is never called based on trigger_error statements placed inside the file for debugging. So I suspect a problem with the new code I placed in tpl_modules_checkout_one_shipping.php but I'm stumped.
An image of the shipping card follows as it stands now. Further changes to the card are anticipated as I am trying to refactor the very old "Shipping by Quote" plugin.
Attachment 20906
Thank you for any help!
Dave
zc1.5.8a, ZCA-Bootstrap-Template-3.7.5, one_page_checkout-2.5.4
Re: ZCA Bootstrap 4 Template [Support Thread]
Why not just include that button and the associated modal popup as part of the shipping module's quote method?