Hi:
I took out the text in the bannerboxHeading. I could not remove the heading altogether but the heading got smaller so that will work for me for right now.
Thanks for your help.
Dave
Printable View
Hi:
I took out the text in the bannerboxHeading. I could not remove the heading altogether but the heading got smaller so that will work for me for right now.
Thanks for your help.
Dave
Hi I would appreciate those files as a logo in a sidebox sounds like a plan.
Cheers in anticipation Bob
what do I need to do if I want to display two sidebars just before the footer on the mobile layout?
I am using Zencart 1.5.6c PHP 7.3
On the create an account page I am not seeing the newsletter options show:
Attachment 18734
All I am seeing is the Text but no radio buttons or check box
Can anyone help please, thanks
This is the PHP in includes/classes/site_map.php. As you can see it already contains the lines you suggest could be wrong in my site_map.php file.
PHP Code:
<?php/** * site_map.php * * @package general * @copyright Copyright 2003-2018 Zen Cart Development Team * @copyright Portions Copyright 2003 osCommerce * @license http://www.zen-cart.com/license/2_0.txt GNU Public License V2.0 * @version $Id: Drbyte Mon Nov 5 09:42:04 2018 -0500 Modified in v1.5.6 $ */if (!defined('IS_ADMIN_FLAG')) { die('Illegal Access');}/** * site_map.php * * @package general */ class zen_SiteMapTree { var $root_category_id = 0, $max_level = 0, $data = array(), $root_start_string = '', $root_end_string = '', $parent_start_string = '', $parent_end_string = '', $parent_group_start_string = "\n<ul>", $parent_group_end_string = "</ul>\n", $child_start_string = '<li>', $child_end_string = "</li>\n", $spacer_string = '', $spacer_multiplier = 1;
function __construct() { global $db; $this->data = array(); $categories_query = "select c.categories_id, cd.categories_name, c.parent_id from " . TABLE_CATEGORIES . " c, " . TABLE_CATEGORIES_DESCRIPTION . " cd where c.categories_id = cd.categories_id and cd.language_id = '" . (int)$_SESSION['languages_id'] . "' and c.categories_status != '0' order by c.parent_id, c.sort_order, cd.categories_name"; $categories = $db->Execute($categories_query); while (!$categories->EOF) { $this->data[$categories->fields['parent_id']][$categories->fields['categories_id']] = array('name' => $categories->fields['categories_name'], 'count' => 0); $categories->MoveNext(); } }
function buildBranch($parent_id, $level = 0, $parent_link = '') { $result = $this->parent_group_start_string;
if (isset($this->data[$parent_id])) { foreach ($this->data[$parent_id] as $category_id => $category) { $category_link = $parent_link . $category_id; $result .= $this->child_start_string; if (isset($this->data[$category_id])) { $result .= $this->parent_start_string; }
if ($level == 0) { $result .= $this->root_start_string; } $result .= str_repeat($this->spacer_string, $this->spacer_multiplier * $level) . '<a href="' . zen_href_link(FILENAME_DEFAULT, 'cPath=' . $category_link) . '">'; $result .= $category['name']; $result .= '</a>';
if ($level == 0) { $result .= $this->root_end_string; }
if (isset($this->data[$category_id])) { $result .= $this->parent_end_string; }
// $result .= $this->child_end_string;
if (isset($this->data[$category_id]) && (($this->max_level == '0') || ($this->max_level > $level+1))) { $result .= $this->buildBranch($category_id, $level+1, $category_link . '_'); } $result .= $this->child_end_string;
} }
$result .= $this->parent_group_end_string;
return $result; } function buildTree() { return $this->buildBranch($this->root_category_id); }//-bof-zca_bootstrap *** 1 of 1 *** public function setParentStartEndStrings($start, $end = "</ul>\n") { $this->parent_group_start_string = $start; $this->parent_group_end_string = $end; } public function setChildStartString($start, $end = "</li>\n") { $this->child_start_string = $start; $this->child_end_string = $end; }//-eof-zca_bootstrap *** 1 of 1 *** }
<fieldset>
<legend>Newsletter and Email Details</legend>
<input class="custom-control-input" type="checkbox" name="newsletter" value="1" id="newsletter-checkbox" /><label class="checkboxLabel" for="newsletter-checkbox">Subscribe to Our Newsletter.</label><br class="clearBoth" />
<input class="custom-control-input" type="radio" name="email_format" value="HTML" checked="checked" id="email-format-html" /><label class="radioButtonLabel" for="email-format-html">HTML</label><input class="custom-control-input" type="radio" name="email_format" value="TEXT" id="email-format-text" /><label class="radioButtonLabel" for="email-format-text">TEXT-Only</label><br class="clearBoth" />
</fieldset>
Thanks for reply
Hi,
I am just testign your template. I find it great.
But I have some question.
I present my price without VAT and with VAT. But the font size is too large. I can not change te font-size, while <h2> size is defined in https://stackpath.bootstrapcdn.com/b...ndor/_rfs.scss.
How can I make this links as local and make some small changes to use it with mobile phone ...?
thank you for your reply
B.
Hello rbarbour, I just mentioned that on the shopping cart page does not adapt to small screens, even in the demo version http://www.zcadditions.com/bootstrap_tpl_demo if you put a product in the basket you will see that the screen does not resize, obviously you have to crop the page as if you saw on a small phone.
Attachment 18797
@diamond1 I just tested on the demo and I did not experience that issue nor have I experienced it any of the 6 sites I have used the template on.
I think I see @diamond1's point. Here's my shopping cart page on mobile:
Do you have screen resize? I have the problem with an iphone5 it is necessary to resize the screen to the smallest and you will see it in the demo also saw my print in resize the screen
Attachment 18800
Attachment 18799
Attachment 18801
Yes I have a the same on iPhone but I found this :
I found out that by default the .table element has max-width: 100% and safari "respects" this so it set the width to be 100% which means that the .table element isn't overflowing the .table-responsive element hence causing it to not be scrollable. This somehow doesn't affect android phones.
The fix was rather easy:
.table-responsive .table { max-width: none;}
You then get a horizontal scroll on the iPhone
Ok, I see now. The overflow on the shopping cart table-responsive is being seen by the rest of the page making it wider than it should be as you can see the nav bar at the top is wider than the screen and the back-to-top button is off screen. On Initial screen load of the shopping cart page it was offset and a refresh brought it back to where you would expect it to be. Deleting the table-responsive element from the DOM solved the navbar display and back-to-top button location issues, so it is definitely the overflow of the table-responsive being seen by the rest of the page or at least by the navbar that is causing the issue.
Editing after the response from above: I tested in chrome and firefox with the inspector and tested against a number of devices listed. I don't own an Apple device to physically test on
Hello, I tried to apply the fix .table-responsive .table {max-width: none;} but I have no change, I put on stylesheet.css and it does not change anything, I think I did not understand or apply the css fix.
Still got issues with the sitemap page:
[24-Jan-2020 10:18:43 UTC] PHP Fatal error: Cannot redeclare class zen_SiteMapTree in /home/MYSITE/public_html/includes/classes/site_map.php on line 19
[24-Jan-2020 10:18:43 UTC] Request URI: /index.php?main_page=site_map, IP address: 00.00.000.000
--> PHP Fatal error: Cannot redeclare class zen_SiteMapTree in /home/MYSITE/public_html/includes/classes/site_map.php on line 19.
Tried replacing includes/classes/site_map.php with the original from a fresh download and I am still getting the same error
Interesting:
On line 20 of includes/classes/site_map.php we have this:
If I changePHP Code:
class zen_SiteMapTree { var $root_category_id = 0, $max_level = 0, $data = array(), $root_start_string = '', $root_end_string = '', $parent_start_string = '', $parent_end_string = '', $parent_group_start_string = "\n<ul>", $parent_group_end_string = "</ul>\n", $child_start_string = '<li>', $child_end_string = "</li>\n", $spacer_string = '', $spacer_multiplier = 1;
toPHP Code:
var $root_category_id = 0,
the sitemap displays correctlyPHP Code:
var $root_category_id = -0,
Strange, that solutions works here:
https://ventureengravings.uk/index.p..._page=site_map
but not here:
https://venturegraphicdesign.uk/inde..._page=site_map
HELP!!!!
I recently ran into a roadblock installing an Order Total module (Shipping Insurance - ot_insurance - 3.3.0 from Numinix - 2.3.2 from the addons is similar) on ZC 1.5.6c PHP 7.1.29 on XAMPP. The checkbox for the customer to select/deselect insurance is NOT visible. It is present in the HTML:
I've chased this enough to be quite sure that it has to do with the template and its interactions with Order Total modules (probably also payment and shipping). Shipping is just an example module. I'm not sure how many others, if any, have checkboxes for customer selection.Code:<!--bof discount coupon card-->
<div id="discountCoupon-card" class="card mb-3">
<h4 id="discountCoupon-card-header" class="card-header">
Shipping Insurance</h4>
<div id="discountCoupon-card-body" class="card-body p-3">
<p>Click here to add optional insurance to your order:</p>
<div id="discountCoupon-gvBal"></div>
<label class="inputLabel" for="opt_insurance">$7.10</label>
<input class="custom-control-input" type="checkbox" name="opt_insurance" value="1" id="opt_insurance" /><input type="hidden" name="insurance" value="1" /></div>
</div>
<!--eof discount coupon card-->
I'm not sure what to do to get the checkbox to appear. Suggestions?
Maybe try this:
Code:<div class="custom-control custom-checkbox">
<input class="custom-control-input" type="checkbox" name="formfieldnamehere" value="1" id="nameTheInputIdHere">
<label class="custom-control-label" for="nameTheInputIdHere" title="help msg here">Text In Browser Here</label>
</div>
Thanks. I added code to includes/templates/CUSTOM/templates/tpl_checkout_payment_default.php to do this for checkboxes.
From:To:Code:<!--bof discount coupon card-->
<div id="discountCoupon-card" class="card mb-3">
<h4 id="discountCoupon-card-header" class="card-header">
<?php echo $selection[$i]['module']; ?></h4>
<div id="discountCoupon-card-body" class="card-body p-3">
<?php echo $selection[$i]['redeem_instructions']; ?>
<div id="discountCoupon-gvBal"><?php echo (isset($selection[$i]['checkbox'])) ? $selection[$i]['checkbox'] : ''; ?></div>
<label class="inputLabel"<?php echo ($selection[$i]['fields'][$j]['tag']) ? ' for="'.$selection[$i]['fields'][$j]['tag'].'"': ''; ?>><?php echo $selection[$i]['fields'][$j]['title']; ?></label>
<?php echo $selection[$i]['fields'][$j]['field']; ?>
</div>
</div>
<!--eof discount coupon card-->
It made more sense to me to do this rather than modifying the Order Total add-on since it's specific to the current template.Code:<!--bof discount coupon card-->
<div id="discountCoupon-card" class="card mb-3">
<h4 id="discountCoupon-card-header" class="card-header"><?php echo $selection[$i]['module']; ?></h4>
<div id="discountCoupon-card-body" class="card-body p-3">
<?php
echo $selection[$i]['redeem_instructions'];
if (strpos($selection[$i]['fields'][$j]['field'], 'type="checkbox"') === false) { // filter out checkboxes
if (isset($selection[$i]['checkbox'])) {
?>
<div id="discountCoupon-gvBal"><?php echo $selection[$i]['checkbox']; ?></div>
<?php
}
?>
<label class="inputLabel"<?php echo isset($selection[$i]['fields'][$j]['tag']) ? ' for="'.$selection[$i]['fields'][$j]['tag'].'"': ''; ?>><?php echo $selection[$i]['fields'][$j]['title']; ?></label>
<?php
echo $selection[$i]['fields'][$j]['field'];
} else { // process checkboxes
?>
<div class="custom-control custom-checkbox">
<?php echo $selection[$i]['fields'][$j]['field']; ?>
<label class="custom-control-label"<?php echo isset($selection[$i]['fields'][$j]['tag']) ? ' for="'.$selection[$i]['fields'][$j]['tag'].'"': ''; ?>><?php echo $selection[$i]['fields'][$j]['title']; ?></label>
</div>
<?php
}
?>
</div>
</div>
<!--eof discount coupon card-->
additional_images.php is missing:
on line 16PHP Code:
$GLOBALS
Bootstrap version of additional_images.php
Default Zen Cart 1.5.6c version of additional_images.phpPHP Code:
$zco_notifier->notify('NOTIFY_MODULES_ADDITIONAL_PRODUCT_IMAGES_START');
Is there a reason for this? Or is it just an error in the code?PHP Code:
$GLOBALS['zco_notifier']->notify('NOTIFY_MODULES_ADDITIONAL_PRODUCT_IMAGES_START')
Love this template!
Is there a way to make products display as rows instead of columns though?
Thanks!
C
Would also love to center the links in the center footer bar, cant find where this is called out or contained in php or css
Last question. When you click into a product from the category, the price is not displayed - only the add to cart button.
I swapped it over to responsive classic, and the price displayed like normal which leads me to believe its a templating issue.
Help?
I ended up taking tpl_product_info_display.php from the responsive classic template that comes with ZC and overwriting the Bootrap Templates tpl_product_info_display.php with it and then prices showed up.
Overall, its not as nicely templated in page layout as the original was, but at least Ive got prices displayed haha
Sorry I didn't realise it was the product page template that was an issue, I think I once had the same issue. If you still have the the bootstrap template make sure the following is in place.
PHP Code:
<!--bof Product Price block --><?php if (zen_get_products_display_price((int)$_GET['products_id']) > '0') { ?><!--bof products price bottom card--><div id="productsPriceBottom-card" class="card mb-3"> <div id="productsPriceBottom-card-body" class="card-body p-3"><h2 id="productsPriceBottom-productPriceBottomPrice" class="productPriceBottomPrice"> <?php // base price if ($show_onetime_charges_description == 'true') { $one_time = TEXT_ONETIME_CHARGE_SYMBOL . TEXT_ONETIME_CHARGE_DESCRIPTION; } else { $one_time = ''; } ?>
<?php echo $one_time . ((zen_has_product_attributes_values((int)$_GET['products_id']) and $flag_show_product_info_starting_at == 1) ? TEXT_BASE_PRICE : '') . zen_get_products_display_price((int)$_GET['products_id']);?></h2> </div></div><!--eof products price bottom card--><?php } ?><!--eof Product Price block -->
<!--bof Add to Cart Box -->
Hi, Just installed your template but when I set it all I get ont the website is a black line accross the top of the page. What has gone wrong? Luckily I have been able to turn it back to the old template.
Running v1.5.5e and your latest version of the template.
Not sure if you figured this out, but this is how I managed to do it. If anyone has a better way please let me know.
In /includes/templates/YOUR-TEMPLATE/templates/tpl_modules_create_account.php- around line 173
Replace:
With:Quote:
<fieldset>
<legend><?php echo ENTRY_EMAIL_PREFERENCE; ?></legend>
<?php
if (ACCOUNT_NEWSLETTER_STATUS != 0) {
?>
<?php echo zen_draw_checkbox_field('newsletter', '1', $newsletter, 'id="newsletter-checkbox"') . '<label class="checkboxLabel" for="newsletter-checkbox">' . ENTRY_NEWSLETTER . '</label>' . (zen_not_null(ENTRY_NEWSLETTER_TEXT) ? '<span class="alert">' . ENTRY_NEWSLETTER_TEXT . '</span>': ''); ?>
<br class="clearBoth" />
<?php } ?>
<?php echo zen_draw_radio_field('email_format', 'HTML', ($email_format == 'HTML' ? true : false),'id="email-format-html"') . '<label class="radioButtonLabel" for="email-format-html">' . ENTRY_EMAIL_HTML_DISPLAY . '</label>' . zen_draw_radio_field('email_format', 'TEXT', ($email_format == 'TEXT' ? true : false), 'id="email-format-text"') . '<label class="radioButtonLabel" for="email-format-text">' . ENTRY_EMAIL_TEXT_DISPLAY . '</label>'; ?>
<br class="clearBoth" />
</fieldset>
I hope this helps.Quote:
<fieldset>
<legend><?php echo ENTRY_EMAIL_PREFERENCE; ?></legend>
<div class="custom-control custom-checkbox">
<?php
if (ACCOUNT_NEWSLETTER_STATUS != 0) {
?>
<?php echo zen_draw_checkbox_field('newsletter', '1', $newsletter, 'id="newsletter-checkbox"') . '<label class="custom-control-label" for="newsletter-checkbox">' . ENTRY_NEWSLETTER . '</label>' . (zen_not_null(ENTRY_NEWSLETTER_TEXT) ? '<span class="alert">' . ENTRY_NEWSLETTER_TEXT . '</span>': ''); ?>
<br class="clearBoth" /></div>
<?php } ?>
<div class="custom-control custom-radio">
<?php echo zen_draw_radio_field('email_format', 'HTML', ($email_format == 'HTML' ? true : false),'id="email-format-html"') . '<label class="custom-control-label" for="email-format-html">' . ENTRY_EMAIL_HTML_DISPLAY . '</label></div><div class="custom-control custom-radio">' . zen_draw_radio_field('email_format', 'TEXT', ($email_format == 'TEXT' ? true : false), 'id="email-format-text"') . '<label class="custom-control-label" for="email-format-text">' . ENTRY_EMAIL_TEXT_DISPLAY . '</label>'; ?>
<br class="clearBoth" /></div>
</fieldset>
Is ZCA Bootstrap template compatible with Zen cart 1.5.7?
I made a handful of changes to get it to work in PHP 7.4 without notices but it should be ok up to PHP 7.3.
Running Zen cart 1.5.7 With Bootstrap ZCA PHP 7.3.6
Thanks, I have loaded it on a VPS server to see if there are any issues and I am getting a few warnings and a couple or errors.
PHP Warning: Declaration of zca_breadcrumb::trail($separator = ' &nbs...') should be compatible with breadcrumb::trail($separator = ' &nbs...', $prefix = '', $suffix = '') in /var/www/vhosts/domain/httpdocs/zen1.5.7/includes/classes/zca/zca_breadcrumb.php on line 0.
fixed above by adding to line 34 prefix and suffixBut I am getting warnings regarding an undefined constant DISPLAY_PAGE_PARSE_TIME in bootstrap/common/tpl_main_page.php line 253PHP Code:
function trail($separator = ' ', $prefix = '', $suffix = '')
Also Fatal Error 0:: ==> includes/modules/centerboxes/also_purchased_products.php line 18 <== in includes/classes/db/mysql/query_factory.php line 170
This may sound stupid, but I can't figure out how to get the Bootstrap Banner Display - Enable Header Position 2 Carousel Feature to show up. I set it to true under Layout Settings, but don't know what to do from there to get images to show up. Can someone help? Thanks in advance!
I have a site running Bootstrap with 1.5.6c and PHP 7.3.6 and it works well. Initially to threw a few PHP warnings but nothing too serious. Currently I am testing Bootstrap with 1.5.7 and PHP 7.4, but I have updated some Bootstrap templates, still work in progress.
'm on 1.5.7 and php 7.3
WARNING: An Error occurred, please refresh the page and try again.
( only on the template.. when getting back to classic or responsive nothing is wrong)
15-Jul-2020 01:46:00 Europe/Amsterdam] Request URI: /index.php?main_page=contact_us, IP address: 213.125.**.***
#1 require() called at [/var/www/clients/*************/++++++/includes/init_includes/init_zca_bootstrap.php:35]
#2 require_once(/var/www/clients/*************/++++++/includes/init_includes/init_zca_bootstrap.php) called at [/var/www/clients/*************/++++++/includes/autoload_func.php:37]
#3 require(/var/www/clients/*************/++++++/includes/autoload_func.php) called at [/var/www/clients/*************/++++++/includes/application_top.php:219]
#4 require(/var/www/clients/*************/++++++/includes/application_top.php) called at [/var/www/clients/*************/++++++/index.php:25]
--> PHP Warning: Declaration of zca_breadcrumb::trail($separator = ' &nbs...') should be compatible with breadcrumb::trail($separator = ' &nbs...', $prefix = '', $suffix = '') in /var/www/clients/*************/++++++/includes/classes/zca/zca_breadcrumb.php on line 71.
[15-Jul-2020 01:46:00 Europe/Amsterdam] Request URI: /index.php?main_page=contact_us, IP address: 213.125.**.***
#1 require(/var/www/clients/*************/++++++/includes/templates/bootstrap/common/tpl_main_page.php) called at [/var/www/clients/*************/++++++/index.php:94]
--> PHP Warning: Use of undefined constant DISPLAY_PAGE_PARSE_TIME - assumed 'DISPLAY_PAGE_PARSE_TIME' (this will throw an Error in a future version of PHP) in /var/www/clients/*************/++++++/includes/templates/bootstrap/common/tpl_main_page.php on line 251.
:-)
for the first error, line 35 of:
includes/classes/zca/zca_breadcrumb.php
i think that should fix that one.PHP Code:
//from
function trail($separator = ' ')
//to
function trail($separator = ' ', $prefix = '', $suffix = '')
the 2nd error, the DISPLAY_PAGE_PARSE_TIME is no longer part of the ZC core. you can either define or remove it depending if you want to see that data.
includes/templates/bootstrap/common/tpl_main_page.php
PHP Code:
<!--bof- parse time display -->
<?php
// add the following line and set to true or anything else if you want to see the data or not!
define('DISPLAY_PAGE_PARSE_TIME', 'true');
if (defined('DISPLAY_PAGE_PARSE_TIME') && DISPLAY_PAGE_PARSE_TIME == 'true') {
?>
<div class="text-center">
Parse Time: <?php echo $parse_time; ?> - Number of Queries: <?php echo $db->queryCount(); ?> - Query Time: <?php echo $db->queryTime(); ?>
</div>
<?php
}
?>
<!--eof- parse time display -->
@carlwhat
SUPER sweet of you to take the time! i did what you suggested but keep the warning in my log :D and on the shop
Altough i have now 6 warnings on the also_purchased_products.php, info display and tpl_main_page.php
:-) :-)
i love this new version, so many things that really improved, but i'm so a dumbo when it comes to changing the php files. (give me an old fashioned css and htlm and i am happy)
Thanks again for your help, very much appreciated!
With 1.5.7, for the Breadcrumbs thing, I *think* you can simply delete the zca breadcrumbs class and the corresponding init file for it, and edit your tpl_main_page to tell it to use the <li> markup for prefix/suffix:
Less core code changes that way. It's this very sort of situation (custom markup) that the core breadcrumb class was updated.Code:<?php echo $breadcrumb->trail(BREAD_CRUMBS_SEPARATOR, '<li>', '</li>'); ?>
I suppose alternatively you could just edit the breadcrumb class and set the defaults to the li stuff instead of empty strings.
I have a order total module running in the standard (not OPC) zen cart checkout, using the bootstrap template.
I cannot get the checkbox to display...
It does in the default template, but not with bootstrap.
Am I missing something, I see checkboxes work for the attributes?
Any help is appreciated
~Melanie
I have a set of manually added product images added into the product description like this:
How would I make each image open full size in its own 'modal lightbox window' using the bootstrap scripts?HTML Code:<div class="productImagesRow"> <div class="productImagesColumn"><img src="images/additional/red_arrows_canvas_001.jpg" alt="Red Arrows A3 Canvas Prints" title=" Red Arrows A3 Canvas Prints " width="450" height="450"></div> <div class="productImagesColumn"><img src="images/additional/red_arrows_canvas_002.jpg" alt="Red Arrows A3 Canvas Prints" title=" Red Arrows A3 Canvas Prints " width="450" height="450"></div> <div class="productImagesColumn"><img src="images/additional/red_arrows_canvas_003.jpg" alt="Red Arrows A3 Canvas Prints" title=" Red Arrows A3 Canvas Prints " width="450" height="450"></div></div><div class="productImagesRow"> <div class="productImagesColumn"><img src="images/additional/red_arrows_canvas_004.jpg" alt="Red Arrows A3 Canvas Prints" title=" Red Arrows A3 Canvas Prints " width="450" height="450"></div> <div class="productImagesColumn"><img src="images/additional/red_arrows_canvas_005.jpg" alt="Red Arrows A3 Canvas Prints" title=" Red Arrows A3 Canvas Prints " width="450" height="450"></div> <div class="productImagesColumn"><img src="images/additional/red_arrows_canvas_006.jpg" alt="Red Arrows A3 Canvas Prints" title=" Red Arrows A3 Canvas Prints " width="450" height="450"></div></div><div class="productImagesRow"> <div class="productImagesColumn"><img src="images/additional/red_arrows_canvas_007.jpg" alt="Red Arrows A3 Canvas Prints" title=" Red Arrows A3 Canvas Prints " width="450" height="450"></div> <div class="productImagesColumn"><img src="images/additional/red_arrows_canvas_008.jpg" alt="Red Arrows A3 Canvas Prints" title=" Red Arrows A3 Canvas Prints " width="450" height="450"></div> <div class="productImagesColumn"><img src="images/additional/red_arrows_canvas_009.jpg" alt="Red Arrows A3 Canvas Prints" title=" Red Arrows A3 Canvas Prints " width="450" height="450"></div></div><div class="productImagesRow"> <div class="productImagesColumn"><img src="images/additional/red_arrows_canvas_010.jpg" alt="Red Arrows A3 Canvas Prints" title=" Red Arrows A3 Canvas Prints " width="450" height="450"></div> <div class="productImagesColumn"><img src="images/additional/red_arrows_canvas_011.jpg" alt="Red Arrows A3 Canvas Prints" title=" Red Arrows A3 Canvas Prints " width="450" height="450"></div> <div class="productImagesColumn"><img src="images/additional/red_arrows_canvas_012.jpg" alt="Red Arrows A3 Canvas Prints" title=" Red Arrows A3 Canvas Prints " width="450" height="450"></div></div><div class="productImagesRow"> <div class="productImagesColumn"><img src="images/additional/red_arrows_canvas_013.jpg" alt="Red Arrows A3 Canvas Prints" title=" Red Arrows A3 Canvas Prints " width="450" height="450"></div> <div class="productImagesColumn"><img src="images/additional/red_arrows_canvas_014.jpg" alt="Red Arrows A3 Canvas Prints" title=" Red Arrows A3 Canvas Prints " width="450" height="450"></div> <div class="productImagesColumn"><img src="images/additional/red_arrows_canvas_015.jpg" alt="Red Arrows A3 Canvas Prints" title=" Red Arrows A3 Canvas Prints " width="450" height="450"></div></div>
I've tried this:
However that only opens the first image no matter what image you click on.HTML Code:
<a data-toggle="modal" data-target=".image-modal-lg" href="#image-modal-lg"><img src="images/red-arrows-canvas-001.jpg" alt="Red Arrows A3 Canvas Prints" title=" Red Arrows A3 Canvas Prints " width="450" height="450"><div class="p-1"></div><span class="imgLink">larger image</span></a>
<a data-toggle="modal" data-target=".image-modal-lg" href="#image-modal-lg"><img src="images/red-arrows-canvas-002.jpg" alt="Red Arrows A3 Canvas Prints" title=" Red Arrows A3 Canvas Prints " width="450" height="450"><div class="p-1"></div><span class="imgLink">larger image</span></a>
<a data-toggle="modal" data-target=".image-modal-lg" href="#image-modal-lg"><img src="images/red-arrows-canvas-003.jpg" alt="Red Arrows A3 Canvas Prints" title=" Red Arrows A3 Canvas Prints " width="450" height="450"><div class="p-1"></div><span class="imgLink">larger image</span></a>
I am using the bootstrap template but would like to make some css modifications, how could i do that ?
Anyone have any tips on how I'd go about making the ezpages header disappear on mobile? I don't mind the items being in the collapsable menu. I just don't want the big bar across the mobile screen. I like the the ezpages header only on desktop. Thank you
In your template overrides style sheet use "visibility : hidden" in the "@media size sections"
eg
@media (max-width: 480px) and (min-width: 320px) {
#expagesBarHeader { visibility: hidden; }
}
You will hide the bar but have a hole in the display so may need to add "height: 0em;"
environment Test: Zen Cart 157; Apache 2.4.46; PHP 7.3.21; MySQL 5.7.31; Linux 4.15.0
V1.5.7
PHP Version: 7.3.21
Server Apache
latest available ZCA Bootstrap Template
https://www.jrcdesigns.co.uk/
Have finally found a template that I will find easier to change colours to the ones I want and like the look of aswell.
I am wanting to move the tagline from the centre of the header, please can someone show me where and how, have read through the thread but cant see the info anywhere.
Thank you
There's a couple of ways. The design makes it difficult as it has a div surrounding a div for one line of text. To add to that, the stylesheet info that controls this is embedded in the file versus existing in a stylesheet. Finally, it is hard-coded as !important. That makes it more difficult.
Without having to change a template file, you can add a stylesheet_zcustom.css to your includes/templates/bootstrap/css/ folder with the following entry:
We use this stylesheet as a way to keep track of changes made over time. Easy to find and generally loads last. The !important in this case is due to the fact !important was already used to set up the centering.Code:#tagline {text-align:left !important;}
Thank you dbltoe that did the trick :)
V1.5.7
PHP Version: 7.3.21
Server Apache
latest available ZCA Bootstrap Template
Square payments
https://www.jrcdesigns.co.uk/
I have spent all day trying to figure this out and cant so am hoping someone can help please.
There is a grey bar near t he top centre of the page which has home on it and when you go to another page it adds that on so say contact us.
Is there a way of removing this at all?
Thank you
The docs can be your friend. Searching for home found https://docs.zen-cart.com/user/new_u...ome_in_middle/
Thank you dbltoe have spent hours over the last few days reading through the docs and missed that somehow, its so long since have used Zencart and had a shopping cart that am lost as it was V1.3.9 when last had one so am a bit lost right now
Looking to customize some of the buttons, i.e. the "previous" "product listing" "next" ones when viewing a product.
Spent lots of time searching for the snip where to add the class, but can't seem to find it.
Appreciate if someone can suggest the file that outputs the following:
<button type="button" class="btn button_prev button_prev">
<button type="button" class="btn button_return_to_product_list button_return_to_product_list">
<button type="button" class="btn button_next button_next">
Which btw repeats the "button_prev", "button_return_to_product_list", and "button_next".
And eventually how to add the extra class.
Thank you
includes/templates/bootstrap/templates/tpl_products_next_previous.php
line 42:
add extra class parm to the zen_image_button function.Code:<a class="p-1" href="<?php echo zen_href_link(FILENAME_DEFAULT, "cPath=$cPath"); ?>"><?php echo zen_image_button(BUTTON_IMAGE_RETURN_TO_PROD_LIST, BUTTON_RETURN_TO_PROD_LIST_ALT); ?></a>
you also have to go outside of the template and look here:
includes/modules/product_prev_next.php
Thank you.
Actually to customize it I could use the button_prev class generated, I would like to know how to add the extra param in the files (snip of code) you suggested.
apparently you can not add an additional class element like so:
that class gets filtered out. you can do:PHP Code:
echo zen_image_button(BUTTON_IMAGE_RETURN_TO_PROD_LIST, BUTTON_RETURN_TO_PROD_LIST_ALT, 'class="myNewClass"');
that crap does not get filtered out; but it provides no help to what you want to do...PHP Code:
echo zen_image_button(BUTTON_IMAGE_RETURN_TO_PROD_LIST, BUTTON_RETURN_TO_PROD_LIST_ALT, 'crap="myNewClass"');
in looking at the code, i would build an observer. since you are using bootstrap, i would go on the assumption that IMAGE_USE_CSS_BUTTONS is set to 'yes'. if so, i would look to build an observer that hits this event in functions/html_output.php:
adding a class to a ZC generated button seems like a lot of work!PHP Code:
if ($type=='button') {
// link button
// -----
// Give an observer the chance to provide alternate formatting for the button (it's set to an empty string
// above). If the value is still empty after the notification, create the standard-format
// of the button.
//
$GLOBALS['zco_notifier']->notify(
'NOTIFY_ZEN_CSS_BUTTON_BUTTON',
array(
'button_name' => $button_name,
'text' => $text,
'sec_class' => $sec_class,
'parameters' => $parameters,
),
$css_button
);
here is info on building an observer class:
https://docs.zen-cart.com/dev/code/notifiers/
best.
Since you're customizing this unique for your template, you could just skip the use of the zen_image_button function and put your own HTML code in its place.
Thank you both.
@carlwhat
I'll try to learn, in the meantime I'll use the class generated
@DrByte
Yes, I did think about it as well, but being at the beginning of a new customization I thought to try to learn a different approach in case needed for more.
@both + rbarbour
However I am puzzled by the double output of "button_prev" class, is it a bug, is it on purpose for reasons beyond my comprehension and knowledge?
I believe the duplication may be a bug. Harmless though.
It's always best to try to style the provided classes if possible (in your own self-added stylesheet), rather than adding more classes to the template.
That said, if you wanted to add your own style, carlwhat was nearly correct when proposing adding a 3rd parameter: it should have been the 4th parameter instead, and be only the name of the class you wanted to add.
eg:
Code:echo zen_image_button(BUTTON_IMAGE_RETURN_TO_PROD_LIST, BUTTON_RETURN_TO_PROD_LIST_ALT, '', 'myNewClass');
Thanks, learned something.
I ran into a problem with the current v2.0.0c plugin installed on 1.5.7. When logged in to the shop side and in my account. If you have orders and click on "show all orders it causes an error
The error is the result of the embedded select statement and the missing closing ). I verified that this exists on other sites at the same level.PHP Code:
[25-Nov-2020 14:50:44 UTC] Request URI: /upgrade/index.php?main_page=account_history, IP address: 152.44.114.186
#1 trigger_error() called at [/home//public_html/upgrade/includes/classes/db/mysql/query_factory.php:170]
#2 queryFactory->show_error() called at [/home//public_html/upgrade/includes/classes/db/mysql/query_factory.php:142]
#3 queryFactory->set_error() called at [/home//public_html/upgrade/includes/classes/db/mysql/query_factory.php:269]
#4 queryFactory->Execute() called at [/home//public_html/upgrade/includes/classes/zca/zca_split_page_results.php:86]
#5 zca_splitPageResults->__construct() called at [/home//public_html/upgrade/includes/modules/pages/account_history/header_php_account_history_zca_bootstrap.php:6]
#6 require(/home//public_html/upgrade/includes/modules/pages/account_history/header_php_account_history_zca_bootstrap.php) called at [/home//public_html/upgrade/index.php:35]
--> PHP Fatal error: 1064:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1 :: select count(*) as total FROM znc_orders o, znc_orders_total ot, znc_orders_status s WHERE o.customers_id = 15 AND o.orders_id = ot.orders_id AND ot.class = 'ot_total' AND s.orders_status_id = (SELECT orders_status_id FROM znc_orders_status_history osh WHERE osh.orders_id = o.orders_id AND osh.customer_notified >= 0 ==> (as called by) /home//public_html/upgrade/includes/classes/zca/zca_split_page_results.php on line 86 <== in /home//public_html/upgrade/includes/classes/db/mysql/query_factory.php on line 170.
The way I got around it was by modifying ZCA_split_page_results to test if the query contained "(select".
Hope this helps if others run into it. BTW just adding the closing paren breaks the product listing page which is why I needed the if/else.PHP Code:
//bof test for (select and add closing paren if needed
if (strpos($query_lower, "(select", $pos_from)){
$count_query = "select count(" . $count_string . ") as total " . substr($this->countQuery, $pos_from, ($pos_to - $pos_from)) . ") ";
} else {
$count_query = "select count(" . $count_string . ") as total " . substr($this->countQuery, $pos_from, ($pos_to - $pos_from));
}
//eof test select
A quick modification to this. I discovered that if you had an order history with multiple orders it would break. My updated fix isPHP Code:
if (strpos($query_lower, "(select", $pos_from)){
$count_query = "select count(" . $count_string . ") as total " . substr($this->countQuery, $pos_from, ($pos_to - $pos_from)) . " LIMIT 1) ";
} else {
$count_query = "select count(" . $count_string . ") as total " . substr($this->countQuery, $pos_from, ($pos_to - $pos_from));
}
There are oodles and boodles of changes coming up for the Bootstrap-4 template in support of zc157. You can check out the current beta (fairly close to release) here: https://github.com/lat9/ZCA-Bootstrap-Template
I did a quick install with php 7.3, zencart 1.5.7b, and demo data loaded. The problem does not occur with the beta version template code installed. As a result there is no need to make the change unless you receive the error I documented and cannot upgrade beyond 2.0.0c.
I've just submitted v3.0.0 of the ZCA Bootstrap-4 template to the Plugins area: https://www.zen-cart.com/downloads.php?do=file&id=2191.
This version of the template supports Zen Cart 1.5.7 and later installations only and runs best on Zen Cart 1.5.7b.
Don't even think about installing this version on a previous Zen Cart version, there have been database changes and functions added that the template assumes to be present!
Early adopters can get the latest by going to the template's new GitHub home's "Releases" (https://github.com/lat9/ZCA-Bootstrap-Template/releases) page, where the v3.0.0 zip-file can be downloaded. Thanks to @drbyte for collaborating to get this standards-based template released!
I've been trying out ZCA-Bootstrap-Template as part of an upgrade to zc157b. I want to put a multilevel dropdown menu in the header bar. I also want each list item that has a sublevel to have a pointer. I've got the button in the header and the first tier list items listed in the pull down. The list item text occupies the entire width of the container with padding of 24 pixels. There is no text wrap-around. I've used a span for the pointer with the pointer right aligned and changed the container's right padding so the pointer is closer to the edge of the box. Space for the text is 95% and 5% for the pointer. But text still extends to the edge of the box and/or wraps so the pointer is on a different line. How do I get the text to stay in its 95% or get the box large enough to accommodate both text and pointer with some padding on the same line? See screen shot. The problem is most likely CSS so the CSS follows:TIA<Code:#rightPointer, #noPointer {
display: inline-block;
float:right;
text-align:right;
color: black;
font-size:2rem;
line-height: 1rem;
padding-bottom:.35rem;
padding-top:.15rem;
width: 5%;
}
.dropdown-item {
padding-right:.5rem;
width:95%
}
Dave
Probably because you are confusing the browser with the size of the box.
One portion is 95% and the other is 5%. You would think that, adding up to 100%, this would be fine.
BUT, you add in padding. .5rem (8px) becomes 0.5% on a screen width of 1600. Now our total is 100.5%
On a mobile with 768 width, you're now at ~101.5%. If the entire area is only 30% of the total width..... Well, you can see it just gets worse.
Neither is a huge amount BUT, it does take you "outside the box."
Thinking outside the box might be fine but, displaying outside the box messes things up.
Luckily, CSS can help with that. Take a look at https://www.w3schools.com/css/css3_box-sizing.asp. It will help you better understand the problem and the fix.
Ive downloaded and installed this most recent version dated 12/17/20
running 1/5/7b and php7.3
Love the template, easily customizable.
I have a lengthy list of Categories and EZ Pages. Is it possible in the mobile version for either list to scroll?
PROBLEM: if I have more than 20 links in either list, it is not possible to view the entirety of either list.
Suggestions?
I added the following to stylesheet.css to allow the hamburger menu to scroll.
Code:div#navbarSupportedContent {
max-height:300px;
overflow-y:auto;
}
Im trying to Center the EZ header bars contents. The links currently show up aligned left.
I added this to the stylesheet on ZCA4, but no effect.... thoughts?
Code:/* header ezpage bar */
div#ezpagesBarHeader {
text-align:center;
}
#ezpagesBarHeader {
background-color: <?php echo ZCA_HEADER_EZPAGE_BACKGROUND_COLOR; ?>;
}
#ezpagesBarHeader a.nav-link {
color: <?php echo ZCA_HEADER_EZPAGE_LINK_COLOR; ?>;
}
#ezpagesBarHeader a.nav-link:hover {
color: <?php echo ZCA_HEADER_EZPAGE_LINK_COLOR_HOVER; ?>;
}
Is the header currently turned on or on a different site from your sig? Would help to see.
I do see that your site comes up insecure from your sig. That tells me there's no 301 redirect to send all to HTTPS.
It also results in your sign-in possibly being sent insecure.
Your SSL states www. So, you might want to add the following to the root .htaccessCode:# Needed before any rewritingRewriteEngine On
### Built using the .htaccess 301 Redirect Generator from Web Site Advantage
### https://websiteadvantage.com.au/HtAccess-301-Redirect-Generator
### Place after 'RewriteEngine On' and before any CMS specific rewrite rules
# Redirect HTTP with www to HTTPS with www
RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} ^www\. [NC]
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
# Redirect HTTP without www to HTTPS with www
RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule .* https://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
# Redirect HTTPS without www to HTTPS with www
RewriteCond %{HTTPS} on
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule .* https://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
## 301 Redirects
To get those centered, you'll need to edit your bootstrap clone's /templates/tpl_ezpages_bar_header.php, adding another class to the 'nav-pills' list:
Code:?>
<?php if (!empty($var_linksList)) { ?>
<div id="ezpagesBarHeader" class="ezpagesBar rounded">
<ul class="nav nav-pills nav-justified">
<?php for ($i=1, $n=sizeof($var_linksList); $i<=$n; $i++) { ?>
<li class="nav-item"><a class="nav-link" href="<?php echo $var_linksList[$i]['link']; ?>"><?php echo $var_linksList[$i]['name']; ?></a></li>
<?php } // end FOR loop ?>
</ul>
</div>
<?php } ?>
its a client site www.psdinnersready.com
That's the beauty of using a standards-based template!
There's documentation that identifies the various Bootstrap 4 styles (https://hackerthemes.com/bootstrap-cheatsheet/)
and there's also documentation (https://www.w3schools.com/bootstrap4/default.asp) that includes some "Try It" links
and the official Bootstrap docs (https://getbootstrap.com/docs/4.5/components/alerts/).
FYI as pointed out elsewhere by dennisns7d there may be issues for landscape.
Changing max-height to 90vh helps the "one" change work better for both portrait and landscape: See: https://github.com/lat9/ZCA-Bootstra.../pull/15/files
After updating to 1.5.7 and Bootstrap 4.3.1, I noticed that the checkboxes and radio buttons were doubled - see image below.
To disable this behavior I added
.custom-control-label::before {
display: none;
}
to my stylesheet.
Yes - Bootstrap template with Bootstrap 4.3.1.
This issue appears to be fixed in the *new* Bootstrap template (v3) - I was based off V2.
The whole thing was quite confusing! But the good news is, your improvements solve this problem, so I'll get cracking on upgrading my template right away. Thanks for your hard work on making this great template even better.
In includes/modules/bootstrap/centerboxes/also_purchased_products.php
if $productsInCategory is not set, a PHP notice is issued. Easily fixed by adding
if (!isset($productsInCategory)) $productsInCategory = array();
around line 15.
I'm working on adding responsive multilevel dropdown menus on the navigation bar to the ZCA Bootstrap template. I've added a dropdown button to the bar that when clicked, opens the first level dropdown. An item in this dropdown opens up a second level dropdown, but an item in the second dropdown will not open to the third level. The html follows the pattern for multilevel dropdown menu examples I can find for bootstrap 4. I'm a Bootstrap novice and would appreciate any suggestions. A sample of the relevant code follows.
Code:<!--bof-navigation display-->
<div id="navMainWrapper">
<div id="navMain">
<nav class="navbar fixed-top mx-3 navbar-expand-lg rounded-bottom">
<div class="collapse navbar-collapse" id="navbarSupportedContent">
<ul class="navbar-nav ml-auto">
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" data-toggle="dropdown">Button</a>
<ul class="dropdown-menu">
<li>
<a class="dropdown-item" href="https://blah...blah"><i class="fas fa-caret-left"></i> Level 1 Item 1</a>
<ul class="submenu dropdown-menu">
<li>
<a class="dropdown-item" href="https://blah...blah"><i class="fas fa-caret-left"></i>Level 2 Item 1" </a>
<ul class="submenu dropdown-menu">
<li>
<a class="dropdown-item" href="https://blah...blah">Level 3 Item 1</a>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</nav>
</div>
</div>