Show Posts

Topics - Geoffrey

Pages: [1] 2 3
General Support / Image problem on desktop, with error log.
« on: October 31, 2019, 12:41:05 PM »
I discovered a new image-display problem on my AC site. I use the easyzoom view window with productthumbs on my product pages.

The thumbnails stopped working properly.

When you click a thumb, it should display that image in the view window.
But it doesn't.
Instead, it opens the image in the browser window with this url:

This problem only occurs on desktop. It occurs in both Chrome and Firefox.

It does not occur on android phone.

My error log shows only one error, and it is the same error repeatedly every 4 minutes:
Code: [Select]
2019-10-31 8:47:23 - App Error: AbanteCart core v.1.2.11 Error: Cannot get image size of file /[i]root[/i]/resources/100418. File not found or it's not an image! in /[i]root[/i]/core/helper/utils.php on line 1154.
I am still on 1.2.11 because my storefront has many core mods and customizations.

How can I fix this problem?


General Support / Latest compatible PHP version?
« on: April 26, 2018, 01:41:40 AM »

I want to update my xampp version on my local machine. 

Multiple xampp options are available:
I can get xampp with PHP 7.2.4 or 7.1.16 or 7.0.29.

On my live server, if I switch from php 7.0 to 7.2, the AC site fails to load. 

So I guess AC is not compatible with any php 7.2.x?

What is the latest PHP version compatible with AC?

Can you recommend whether I choose xampp with 7.0.29 or 7.1.16?


General Support / disable google analytics
« on: December 17, 2017, 01:01:53 AM »
Hi, is there an easy way to disable google analytics, or to not run analytics.js?


General Support / How to adjust zoom-level of easy zoom
« on: December 16, 2017, 05:48:25 AM »
Example: if easyzoom is set to 200% or 2.0, how do I adjust it down to 150% or 1.5? 



Responsive works fine on all devices: desktop, laptop, android phone, android tablet, iphone, ipad. 

On ipad, if you change from portrait to landscape, or landscape to portrait, responsive works fine.

However, if you then change back to the original orientation from when the page loaded, responsive quits working until you navigate to different page.  Then it's the same thing all over again. 

This only happens on my ipad.  On my phones and other tablets, i can flop them back and forth all day and the site renders fine.   

Can someone with an ipad check this for me?

The only ipad I have for checking is a gen 1, which is stuck at iOS 5.1.1.   :-[

Any ideas on what the cause may be?


Customization help / How to integrate Pinterest Save button with easyZoom?
« on: November 16, 2017, 03:26:23 PM »
Does anyone know how to successfully integrate the Pinterest Save widget with the easyzoom script on the Product page image viewer?

Pinterest has a widget builder that will produce a script for various types of Pinterest buttons on your site. 

The simplest Pinterest button is the Image-Hover Save button.  You paste a single line of code at the bottom of the footer.tpl file:
<script async defer data-pin-hover="true" data-pin-tall="true" data-pin-round="true" src="//"></script>

This script will produce a Pinterest Save It button in the upper left corner of any image that a visitor hovers over.  On mobile, the Save button shows up when customer taps or long-taps an image.

It works quite well on Category and Product List pages, but not on the Product page. 

The problem occurs with the easyzoom function for product images on desktop. 
On hover, the Pinterest Save button will show for an instant, and then disappear as the easyzoom action starts to work. 
The Pinterest button will sometimes then reappear in random places near the image in the viewer, but you can't click it. 
This isn't a problem on mobile devices because easyzoom is disabled on mobile.

Is there a way to integrate the Pinterest Image-Hover Save button with the easyzoom feature so that the Save button remains in the upper left corner of the image viewer, and can be clicked? 

I tried adding the script to the bottom of the Category page only, to see if it could be used only on that page, but it doesn't work.

I tried similar things with the Any-Image style of Pinterest button, but again no success. 

There has to be a good way to use Pinterest Save buttons on AC, but I can't figure it out. 


Payment Modules / PayPal Express Bug
« on: November 09, 2017, 02:15:07 PM »

When customer chooses PayPal Express Checkout, they are redirected to PP page for login etc.

The PP API transmits the customer name and address data back to AbanteCart for order confirm. 

While the customer is on their PP page, they can choose a different shipping address, like for a gift.

When this happens, the PP API transmits the wrong data back to AC:  it sends customer (billing) name + gift (shipping) address.  That is the first problem, and it is the biggest problem. 

You can see it yourself by going to my site and adding something to the cart, then choosing PP Express, then logging in to your PP account, then choosing a different shipping address on the PP page, then clicking Continue on the PP page, which will take you back to the Confirm page on my site where you will see the bug.  As long as you don't click the Confirm button, the transaction will not complete, so you don't have to actually buy something.  FYI - there is a 50 cent Test Product in the Reduced category. 

There are other related problems:

2 - For the AC storeowner, there is no indication that there is a problem with addresses.  This type of transaction looks like any other PP transaction: you get a name and address just like normal, but you have no way of knowing that the address is a gift address with a wrong (billing) name attached to it. 

3 - For the Customer who is buying someone a gift in your store: the customer will see the wrong name with gift address when they are returned to your confirm page, and they will try to fix the problem by using the Back button on the confirm page.  This will restart the PP Express routine, ultimately leaving the customer in an infinite loop of "wrong address-go back-do paypal again-get wrong address-go back-do paypal again" etc.  Obviously, the customer will abandon the transaction, and you lose a sale because AbanteCart does not work. 

3 - AC has fields for Billing address and Shipping address.  These fields are displayed on the Confirm page.  When a PP Express customer chooses a "gift" address on PP, AC is populating BOTH the billing and shipping address fields with the incorrect combination of billing name + gift shipping address. 

3a - At a bare minimum, AC should be showing Gift Shipping name with Gift Shipping address in the fields.  At least then you have a better chance that the customer will click confirm to complete the transaction because the correct shipping address is being shown; BUT, they still might not click confirm because they don't like the fact that the gift recipient's NAME and ADDRESS are now showing in both the BILLING and SHIPPING address fields on the AC confirm page.  Because they might worry that the gift reciepient is going to receive some kind of invoice or receipt for the transaction, which gift givers do not want.  The reason they might think this is because ABANTECART IS SAYING THAT THE BILLING AND SHIPPING ADDRESS ARE BOTH THE GIFT RECIPIENT'S ADDRESS.

3b - The best solution would be if AbanteCart worked properly with PayPal, meaning that whenever a PayPal customer chose a different shipping address on their PP page, the PP API would transmit correct billing and shipping data back to AC, and AC would show that data correctly on the Confirm page. 

3c - If AbanteCart cannot work properly with Paypal to distinguish between and properly display billing vs shipping address data for PP transactions where the customer selects a different shipping address, then the least that AbanteCart should be able to do is NOT SHOW a Billing address on the Confirm page at the conclusion of a PayPal transaction.


Development Help Needed / </form> in checkout pages default template
« on: October 18, 2017, 12:16:17 AM »

storefront/view/default/template/pages/checkout/guest_step_2.tpl          line 149 = </form>

Is this a closing tag?  What does it close?  Does it close line 28?

Look at storefront/view/default/template/pages/checkout/confirm.tpl.

There is no </form> tag.

Should there be a </form> tag in this file?

Just asking.  You know I'm not a coder. 


AbanteCart v2.0 / Streamline checkout process
« on: October 16, 2017, 11:32:34 AM »
IMO - there are too many clicks and too many pages in the checkout sequence. 

Amazon's concept of "One Click Checkout" is now an old concept.  They made it for a reason.  Customers want to be done. 

This is what my customers see:
Cart - GS1 - GS2 - GS3 - Success.   
Cart - paypal - GS2 - GS3 - Success. 

GS2 is redundant.  Move Comments to GS3.  Payment selection has already been made, it does not need to be made again.  Eliminate GS2. 

I'm not saying that AC needs 1-click checkout, but I think it can be faster and cleaner. 

I think it would be easy to eliminate GS2. 

SEO / Canonical urls differ from native navigational urls
« on: October 03, 2017, 03:02:08 AM »
I had another thread about this in General Support, it got locked. 

If your product page url looks like this: domain/category/product,
you may notice that the AC generated canonical url in the head section looks different: domain/product.

Reasonably, you can't stop a bot from crawling both sets of product-page urls, especially if the canonical url specified in the head doesn't match the native url that results from navigation.   

This means a bot will catalog 2 different urls for each product page.  From the bot's perspective, that's two different links to identical content, or "duplicate content". 

My solution: change the code so that the AC-specified canonical url matches the native url.

Method 1.2.10 -
About line 170, change
'href' => $this->html->getSEOURL('product/product', '&product_id=' . $product_id, '&encode'),
'href' => "https://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]",

Method 1.2.11 -
About line 121, change
'href' => $url
'href' => "https://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]"

I have a small site, only 3 levels deep at any product page.  This mod works for me.  There are probably other considerations for larger sites. 

It's a core mod.  Keep a record of core mods so that you can rewrite them after system updates. 

Customization help / Custom layout; different layouts for GS1 & GS2
« on: October 02, 2017, 02:42:27 AM »
Guest Checkout Step 1 page shares the same layout with Guest Checkout Step 2 page. 

Custom Layouts are simple to create for Product, Category, Manufacturer, or Content pages, but not for a Checkout page. 

I would like to create a custom layout so that Guest Step 1 page can have its own layout different than guest step 2 page.

In the layout.xml file for my template extension, I added a new layout (copied the Checkout Pages section, pasted it, then gave it a new <name> and also [![CDATA... name. 

I hoped that this would show a new layout in the Layouts drop-down menu, but it didn't work. 

What else do I have to do to get a new Custom layout to show up in the Layouts menu, when the new layout is for a checkout page?


Which file do I edit to assign a new custom layout to guest step 1 page?


General Support / Critical app error - resize image error
« on: September 14, 2017, 06:12:42 PM »
New error today, on local machine, editing site downloaded from server. 

After 3 days work with no problem, I changed seo-keyword for all categories, and saved each. 

My site has 15 categories, all on home page. 

My homepage works fine.  All categories on the home page have their proper image file displayed. 

Suddenly I get Message Manager Critical App error.  Resize image error.   root/resources/image/18/6f/9.

I go look to see what image that is.  It is the image for cases.

I click cases category on home page to go to product listing: no images show for product listing, only alt attributes.

I click each product in listing, no images show for product, only alt attributes. 

All other categories & listings & products pages are working fine. 

Only cases listing and product pages are broken. 

I found this:

I am a beginner or not tech!!     




I do not understand the discourse on the github page.

Any idea what happened? 

How do i fix it? 

Can I hit it with a bat, or perhaps a skillet?!?!?! 




General Support / Problem with canonical urls
« on: September 08, 2017, 03:19:37 PM »

My site is pretty simple, 4 "levels".

Level 1 = Home page = Category List
Level 2 = Product Listing
Level 3 = Product Page
Level 4  = Cart/Checkout/etc

On Level1 Home page, you choose a Category which takes you to Level2 Product Listing where you choose a Product which takes you to Level3 Product Page. 

So the url for any product page should be sitename/listname/product, or "level1/level2/level3".

There are no Product links on the Level1 Home Category page.  You cannot jump from Level1 to Level3. 

So there should be no such thing as a level1/level3 url.  My AC site code should never generate a level1/level3 url. 

I have just learned that googlebot indexed all of my product pages as level1/level3 urls. 

How did I learn this? 
I asked google support why the googlebot was only indexing thumbnail images but no fullsize product images from my site. 
The support team explored my site and told me that the first problem they found was that none of my product pages were being indexed because all of my product pages were duplicates of pages that the bot already indexed. 

Let's use aprons for example. 

Go to home page.  This will be the level1 url:

Choose the Apron category.  This will take you to the proper level1/level2 url:

Then choose Navy-colored apron.  This will take you to the proper level1/level2/level3  url:

Now, go to this link:
You cannot access this url from any link or page on my site.
The only way to access this url is to manually enter it into the address bar, or click the convenient hot link I provided above. 
This is a level1/level3 url. 
It should not exist. 

Google tells me that it indexed all of my product pages as this type of level1/level3 url. 

Google tells me that the reason I cannot find any of my expected level1/level2/level3 Product Page urls indexed on Google is because the bot considers those L1/L2/L3 urls to be duplicates of the L1/L3 urls that it already indexed, and that this "canonical problem may be contributing to the absence of indexed fullsize images which only appear on your Level3 pages". 

They are correct about the fullsize image location: the only place to see fullsize product images is on a product page.

I checked my xml sitemap generated by
To my surprise, all of the product page urls in my sitemap are of the incorrect type of level1/level3 urls. 

So I used a different sitemap generator to create another sitemap:
This generator output three types of Product Page urls!  They are:
Correct type: level1/level2/level3 url.
Incorrect type: level1/level3 url.
Strange new incorrect type: level1/new-weird-level2/level3 url.

The strange new url is .

I have no idea how the sitemap crawler came up with the red part.  But the link actually works!
Even stranger, Google has actually indexed that page!!
Enter this into your google search bar: "site:" 
You see?  That url has actually been indexed by Google!

There is no way for the site to create that url, and yet robots find it and index it instead of the desired and predictable L1/L2/L3 url that should be created during normal navigation around the site.  . 


I think its' possible to manually clean up a sitemap so that the map only features the desired L1/L2/L3 type of url for Product Pages, then submit the map and ask google to recrawl the site and hope that the duplicate content / canonical / weird urls problem vanishes. 
The clean-up will be a labor-intensive and time-consuming process, even for my small site.  Impossible for a large site. 

And there is no guarantee that it will work. 
A sitemap crawler identified and defined strange urls that should not exist.
Even if I clean up the xml sitemap by hand, there is no guarantee that the google bot won't find and index the same strange urls. 

So that leads to my questions.

Why is a bot crawling my basic AC site and coming up with urls that would otherwise never be created? 
There is no way for a site visitor doing normal navigation to create a level1/level3 url.  You have to go through level2 to see a level3 url.
Likewise, there is no way for a site visitor doing normal navigation to create a level1/red-text/level3 url.   

Did I do something wrong when I built this AC site? 
Is there some button or feature I need to set to avoid having all these different and undesired pathways to a Product Page?

Has anyone else encountered strange urls discovered by spiders?

What can I do to the back or front end so that bots do not discover strange, undesired urls?


Customization help / How to change color and state of active-page breadcrumb
« on: September 07, 2017, 02:24:14 PM »

The prevailing opinion on various dev sites is that the breadcrumb for the active page should not be live, and hence not have the same appearance as the preceding breadcrumb links. 

The logic is not challenging.  There is no reason to have a live breadcrumb link to the page you are currently on. 

In AC, the breadcrumb for the active page is hot.

I'm sure this could be a 2 minute fix for the devs here. 

It will take me hours to sort it out if I have to do it on my own. 

I wonder if you guys might post a simple tpl tweak to deactivate the breadcrumb for the active page?


SEO / CSS Management, pageload speed, & BLOAT
« on: September 03, 2017, 05:21:58 PM »
There are two reasons to seek optimal pageload speed:
1 - faster pageloads = more retained visitors
2 - google defines what it considers to be optimal pageload speed, and also provides recommendations for how to achieve it.  It seems unlikely that pageload speed is not a factor in their ranking algorithm. 

Following google guidelines, the biggest and easiest improvement i made to improve pageload speed was to combine and minify css. 
If you look in your head.tpl, you will see two things:
1 - calls for 5 separate css files.
2 - AC's notes on how to merge and minify css into one file, and even a link to an essay on css management. 

head.tpl calls 5 separate css files.  The bootstrap & font-awesome & style.css files are BIG.  My site uses a third or less of the rules in each of those files.
As a rule of thumb, all CSS files are render-blocking, meaning that the page cannot start rendering until all css files are loaded and parsed. 
It takes longer to call and parse multiple css stylesheets than it takes to call and parse one.
It takes longer to parse an un-minified css file than to parse a minified css file. 
Obvious solution: use a text editor to create a new css file called "bigboy" or whatever you want.  Then copy/paste the entire contents of each of the five oem css files into bigboy, then minify it and save it and upload it to your live stylesheet folder. 
Then edit your live head.tpl file to comment out the calls for the five separate css files and replace those with a single call for the new bigboy file. 

This dramatically improves AC pageload speed. 

But the job isn't really done, because most AC sites are like mine - they are only using a quarter or less of the rules contained in the oem css files.

The rest is just bloat. 

There are 2 methods I know of to get rid of this bloat:
1 - Firefox Dustme extension can identify unused rules in your css file, which you can then manually delete.  This is a labor intensive process that must be performed carefully over time, but you can shrink your bigboy css files from 9000 lines to 2000 lines pretty easily.  This will speed up parsing and therefore pageload, and will also make you feel less bloated. 

2 - There are scripts available on github that constantly screen oem css files to identify only those rules that are actually being used, and then combine and minify only the used rules into one small css file that runs the site.  You always work within the original separate large css files to make changes to your site, the script always runs in the background to include your modifications into the single small css file that the site runs on. 

Method 2 is much better in terms of longterm site maintenance, because the de-bloating and combining and minifying steps are automated, meaning that you don't have to undo and redo this process each time you edit your site within the oem files. 

Which leads to my questions: 
How do you use these kinds of scripts with AC?   
Has anyone done it? 
Has anyone tested any of the various different opensource css management scripts that are available? 
Is there a tutorial available on how to install and run these scripts on AC? 
Would you like to write one? 

I'd do it, but I don't even know step 1.


Pages: [1] 2 3

Powered by SMFPacks Social Login Mod