Hi,
when using facebox in VM 3.0.10, to display "Product added to cart" message, i simply does not work at all. Just shows empty facebox.
Moreover styling was changed by adding "close image" directly in JS. I used CSS to style close button, now I have two close buttons on empty window. Great.
The problem is, that in facebox.js, this line of code was deleted in 3.0.10
else if (data.text) fillFaceboxFromText(data.text, klass)
plus function fillFaceboxFromText
Its pitty, as vmprices.js USE this:
jQuery.facebox({ text: txt }, 'my-groovy-style');
The result is, that facebox is trying to display the content using this code
$('#facebox .content').empty().append(data)
but data is not html, but object, so append function has no effect, box remains empty.
Solution
Change in vmprices.js this line of code
jQuery.facebox({ text: txt }, 'my-groovy-style');
to
jQuery.facebox(txt, 'my-groovy-style');
Ok, close button was there always, even in 3.0.9 hardcoded in JS, but worng, so it didn't work. So it was coded in CSS also.
In 3.0.10 close button is removed from CSS, and remins hardcoded in JS.
Why? Styling should be done with CSS, not with combination of PHP, inline JS and hardcoded creating IMG element in JS file.
Same problem here
The only solution is to use the fancybox.
I removed the facebox now,.. the facebox was old legacy and ist just not anylonger supported by facebox. So it does not work with the new jQuery. But fancybox works as far as I know always now.
Quote from: Milbo on October 04, 2015, 22:01:52 PM
The only solution is to use the fancybox.
I removed the facebox now,.. the facebox was old legacy and ist just not anylonger supported by facebox. So it does not work with the new jQuery. But fancybox works as far as I know always now.
Hello,
I have the same issue after Update to VM 3.0.10.
The Popup dont display in the Product Details Page. It goes straight to the shopping cart.
When i try 'Fancybox' activate, it doesnt work for me. No
Popup is shown.
www.mkb-buerokonzepte.de
works for me
(notice: works for me on your page!)
Quote from: Milbo on October 04, 2015, 22:01:52 PM
The only solution is to use the fancybox.
I removed the facebox now,.. the facebox was old legacy and ist just not anylonger supported by facebox. So it does not work with the new jQuery. But fancybox works as far as I know always now.
Great, switched to fancybox in VM config and it works!
I have the same problem. And I just can't switch to fancybox, because I'm using simple image gallery pro and by using fancybox the simple image gallery pro just doesn't function.
To me facebox was the perfect solution, because simple image gallery and facebox worked good together.
In order to get facebox to work, I replaced facebox.js in components/com_virtuemart/assets/js with facebox.js from VM 3.0.9 and now facebox works for me again.
I think it is not a bad idea to have an alternative to fancybox and I really hope that developers would leave this alternative.
Unfortunately facebox is very old and at some point legacy stuff has to be jetisoned for the greater benefit of working on new stuff rather than maintaining legacy code.
Still an alternative wouldn't hurt.
Maybe someone can share their experience on how to best find JS problems? It's clear that simple image gallery pro and fancybox have some kind of problem working together, but unfortunately I know very little when it comes to JS :(
The first problem was that the images appeared twice, so I updated it with the last version, which is already 4-5 years old. Then we got the new problems. The facebox project is abandoned and we discussed about the topic and more than 20 experienced developers said, they have no reason to keep it.
But of course, I understand your point. But it is almost inevitable to leave facebox, because it is not maintained anylonger.
QuoteIt's clear that simple image gallery pro and fancybox have some kind of problem working together, but unfortunately I know very little when it comes to JS
also if you don't post a live url with the problem and describe it then no one can help either
Quote from: GJC Web Design on October 27, 2015, 21:46:19 PM
QuoteIt's clear that simple image gallery pro and fancybox have some kind of problem working together, but unfortunately I know very little when it comes to JS
also if you don't post a live url with the problem and describe it then no one can help either
I would gladly do that, I just didn't want to bother anyone with this, since this is not directly a VM problem, rather a compatibility problem with 3rd party module.
About my problem when I use facebox everything is working, but when I enable fancybox the gallery at the bottom (just below main picture) doesn't work anymore - http://bit.ly/1WhgBcQ (http://bit.ly/1WhgBcQ)
what do the simple image gallery pro people say? (prob the same thing.. ;) )
I assume both load fancybox or something similar?
Yes, they both do load fancybox, but I'm not sure how to make it load just once.
They are saying to use facebox in this case :(
Just in case here is the link http://bit.ly/1WhgBcQ (http://bit.ly/1WhgBcQ), gallery at the bottom (just below main picture)
what if u just remove the fancybox call from
plugins\content\jw_sigpro\jw_sigpro\includes\js\jquery_fancybox\popup.php ~ line 24
/* $scripts = array(
'fancybox/lib/jquery.mousewheel-3.0.6.pack.js',
'fancybox/jquery.fancybox.js?v=2.1.5',
'fancybox/helpers/jquery.fancybox-buttons.js?v=2.1.5',
'fancybox/helpers/jquery.fancybox-thumbs.js?v=2.1.5'
);
*/
$scripts = array(
'fancybox/lib/jquery.mousewheel-3.0.6.pack.js',
'fancybox/helpers/jquery.fancybox-buttons.js?v=2.1.5',
'fancybox/helpers/jquery.fancybox-thumbs.js?v=2.1.5'
);
Unfortunately that didn't help.
they are still both loading
maybe try loose the vm one
I actually did remove that piece of code, but since it didn't change anything, I put it back.
How would I best go about removing vm fancybox. In which file does call to js file is located?
administrator\components\com_virtuemart\helpers\vmjsapi.php ~ line 426
Quote from: n3t on October 03, 2015, 00:12:24 AM
Solution
Change in vmprices.js this line of code
jQuery.facebox({ text: txt }, 'my-groovy-style');
to
jQuery.facebox(txt, 'my-groovy-style');
I tried that and it works. So the Facebox will be back in vm3.0.12. i had to fix also the popups loading html, but it works now.
Those are quite good news, thank you very much!
Please try http://dev.virtuemart.net/attachments/download/976/com_virtuemart.3.0.11.4_extract_first.zip
But be aware, when you use for example, one time the "ask a question popup", you cannot use it again, or use the "add to cart". Your customer need to reload. I was not able to find this error, maybe someone else can fix it.
Anyway facebox is deprecated.
Why don't you just replace facebox with Bootstrap / Joomla modals?
Fancybox works fine but its design is not consistent, we need a good alternative.
QuoteFancybox works fine but its design is not consistent, we need a good alternative.
The thread was about the removal of facebox.
Fancybox is the current popup handler.
QuoteWhy don't you just replace facebox with Bootstrap / Joomla modals?
Consider that not every person wants to load up a bootstrap framework just for a popup.
Quote from: AH on November 07, 2015, 17:59:45 PM
QuoteFancybox works fine but its design is not consistent, we need a good alternative.
The thread was about the removal of facebox.
That's what I'm talking about, if they remove facebox we'll need a new alternative for those who have problems with Fancybox.
QuoteQuoteWhy don't you just replace facebox with Bootstrap / Joomla modals?
Consider that not every person wants to load up a bootstrap framework just for a popup.
Most Joomla templates use bootstrap, and as I mentioned before it would be an alternative, if you don't use bootstrap in your site you shouldn't enable it.
Anyway I'm pretty sure there are lots of good jquery plugins out of there.
F.E: http://www.jacklmoore.com/colorbox/ used in MijoShop
https://plugins.jquery.com/tag/lightbox/