Hi
VM 3.0.18 j 3.6.2
Since the release of 3.0.18 we had issues to make the ajax work in categoy browse view (for child variants and multivariants).
The bug prevents the childs from loading and if you have products marked as "featured" only these appear in the dropdown while you switch between childs.
So after testing a lot I noticed that in VM/Config/SEO tab
"Use full category tree for product links" is unchecked for us and only if we check it the ajax works fine. Not ideal solution since this changes the URL of all your products.
There is another bug with "the chose a variant" option that returns the product page in the container and breaks the layout which Im told is fixed in the SVN.
Regards
So you set some of the children to featured?
Yes, 3 children as featured.
If I disable VM SEO I can't replicate the bug and everything seems to work.
With VM SEO enabled the featured products sometimes override other parent/childs or get mixed up while you swtich in dropdown with ajax in category browse enabled.
Setting this ""Use full category tree for product links" fixes the main bug but you still get featured products appearing as childs of unrelated parents.
that sound really weird. Do you use generic child variants or Multivariants? Because they use a different sql. I really wonder about this, because both do not use the function which we use for the featured products. So I reallly wonder how it interferes. The same for the sef.
I have same problem, and it's very simple.
When you get a list of products(any) the parent_id is set on the first product.
If you have more then one product having other parent id, the bad values are get from DB.
Simply check product exesearch query and you understand the problem.
I have rewrite this part for one of my plugin because this bug.
I use generic child variants only.
This is a general problem. I think it's not exesearch query but getproducts(), I hope max have some time to fix this.
I have not see myself the problem, customer reported me that they have bad products displayed since update, strange is that you can really have completly bad products returned and some was simply not existing, using random products or featured products module !
I have found the problem when i have do my module "Vm Products any ways" and i wanted to reuse core code, else perhaps i had not found this so quikly.
We may have to clean the states? function populateState, the model keeps the filter. Maybe there is the problem.... BUT the product group is not stored, that is the reason I wonder.
As you say is a strange issue, I tested hours disabling plugins etc until I noticed that disabling VM SEO solved it.
About the featured products we can stop setting them as featured temporarily but seems the ajax in category browse doesn't like the "Use full category tree for product links" not checked.
Though it was an issue in the router.
Regards
You may test http://dev.virtuemart.net/attachments/download/1025/com_virtuemart.3.0.18.1_extract_first.zip
Hi
1 - The chose a variant" option that returns the product page in the container and breaks the layout - SOLVED
2 - Featured products appearing in unrelated parent/childs PRESENT
3 - Childs not loading without full category tree PRESENT - If I disable VM SEO this works, also if I set "use full category tree"
This test package contains several new issues:
A) Price in the dropwdown for childs appears as 0.00
B) While switching language in frontend from VM I got a 1052 error, happened few times and then it was solved, maybe saving vm config:
Column 'virtuemart_category_id' in field list is ambiguous SQL=SELECT `virtuemart_category_id`, IFNULL(l.category_name,ld.category_name) as category_name FROM `#__virtuemart_categories_es_es` as ld LEFT JOIN `#__virtuemart_categories_en_gb` as l ON l.`virtuemart_category_id`= ld.`virtuemart_category_id` WHERE `virtuemart_category_id`= 7
I have cloned our website and uptated to vm 3.0.18.1 to test, I tested with Protostar with same effect.
You can check here some of the written issues, first 6 products are generic childs.
http://renovada.comenaranjas.com/es/tienda/fruta-de-temporada.html
And this is same page for 3.0.18 http://www.comenaranjas.com/es/tienda/fruta-de-temporada.html
As a side note you can see the search bar appeared too. Maybe new feature or setting, just noticed it.
Manu,
The search bar is a new feature and you have to disable it (i don't remember, if it's in the config or in each categories or in menu), it's enable as default and break many design on update, if the view is not overide in the template.
Quote from: Studio 42 on November 05, 2016, 17:00:11 PM
Manu,
The search bar is a new feature and you have to disable it (i don't remember, if it's in the config or in each categories or in menu), it's enable as default and break many design on update, if the view is not overide in the template.
Thanks Patrick, ill check it.
Yep, new setting in backend: "VM config/templates/Show search
EDIT: In 3.0.18.1 childs appear with price 0.00 in the dropdown if you use parent with no price set.
Quote from: Studio 42 on October 25, 2016, 16:16:34 PM
I have same problem, and it's very simple.
When you get a list of products(any) the parent_id is set on the first product.
If you have more then one product having other parent id, the bad values are get from DB.
Simply check product exesearch query and you understand the problem.
I have rewrite this part for one of my plugin because this bug.
I am sorry, I dont understand the problem. The SQL, which reloads one product has nothing todo with getProductS. sortSearchListQuery is not used here!
Quote from: Studio 42 on October 25, 2016, 22:31:25 PM
This is a general problem. I think it's not exesearch query but getproducts(), I hope max have some time to fix this.
I have not see myself the problem, customer reported me that they have bad products displayed since update, strange is that you can really have completly bad products returned and some was simply not existing, using random products or featured products module !
I have found the problem when i have do my module "Vm Products any ways" and i wanted to reuse core code, else perhaps i had not found this so quikly.
First you wrote, the problem is understandable checking the sortSearchListQuery , but now it is a miracle. I can imagine it is somehow connected to a plugin of yours.
The general problems seems because product parent_id in the model. and you have different parent, in some case this is used for all, having not parent id set to 0.
I think the case is only when you use multiple modules(or queries) and products having parent ids.
I don't chekcked deeper because in my case i need to modify it in all case because original model was not able to do what i needed.
But because this is only in some specific case, you need some luck to find the problem.
Note: random product module was not getting right products in my case too(using category filter) in vm 3.0.16, mysql 5.6. I don't know if this is correct now.
Hi
As a resume in 3.0.18.1:
A) Childs not loading without full category tree checked or disabling VM SEO.
Issue is only present if you dont use categories in your VM urls, an issue with the router file?
B) Featured products appearing in unrelated parent/childs
C) Childs in dropdown show price 0.00 if the parent has no price set (This one appeared in 3.0.18.1 they show correct price in 3.0.18)
As a side note I don't use any type of customization for the core and I tested in clean Protostar installation too with same effect.
Regards
C) Childs in dropdown show price 0.00 if the parent has no price set (This one appeared in 3.0.18.1 they show correct price in 3.0.18)
What is the correct price? the price is in the parentparent?
Quote from: Milbo on November 08, 2016, 15:39:04 PM
C) Childs in dropdown show price 0.00 if the parent has no price set (This one appeared in 3.0.18.1 they show correct price in 3.0.18)
What is the correct price? the price is in the parentparent?
Please see first product "Manzanas" VM 3.0.18.1
http://renovada.comenaranjas.com/es/tienda/fruta-de-temporada.html
against same product in VM 3.0.18 http://www.comenaranjas.com/es/tienda/fruta-de-temporada.html
You can see the difference in the dropdown.
The price is set in each child but in 3.0.18.1 only shows price in the dropdown if parent has price. In 3.0.18.1 I set price to the parent product "peras" and in that dropdown prices are shown.
http://dev.virtuemart.net/attachments/download/1029/com_virtuemart.3.0.18.3_extract_first.zip
The parent price problem is solved. Somehow it was need that the parent price was set, anyway fixed now. I take a look on your products
Quote from: Milbo on November 08, 2016, 21:15:23 PM
http://dev.virtuemart.net/attachments/download/1027/com_virtuemart.3.0.18.2_extract_first.zip
The parent price problem is solved. Somehow it was need that the parent price was set, anyway fixed now. I take a look on your products
Thanks that one is solved.
I guess you are making changes in the router, got this error while switching VM SEO off:
Notice: Undefined property: vmrouterHelper::$Jlang in components/com_virtuemart/router.php on line 1159
Fatal error: Call to a member function getTag() on null in components/com_virtuemart/router.php on line 1159
Issues remaining:
A) Childs not loading without full category tree checked or disabling VM SEO.
Issue is only present if you dont use categories in your VM urls, an issue with the router file?
B) Featured products appearing in unrelated parent/childs
@max
If you are in the router, please check or set correctly the menu itemid, this give a warning when the sessions is empty.(only visible in log file or on dev mode).
Patrick, please take a look on the router. The itemid mapping got enhanced if there is no itemid, the constructor of the helper directly loads the homepage itemid as fallback
Quote from: lindapowers on November 09, 2016, 08:40:04 AM
Quote from: Milbo on November 08, 2016, 21:15:23 PM
http://dev.virtuemart.net/attachments/download/1027/com_virtuemart.3.0.18.2_extract_first.zip
The parent price problem is solved. Somehow it was need that the parent price was set, anyway fixed now. I take a look on your products
Thanks that one is solved.
I guess you are making changes in the router, got this error while switching VM SEO off:
Notice: Undefined property: vmrouterHelper::$Jlang in components/com_virtuemart/router.php on line 1159
Fatal error: Call to a member function getTag() on null in components/com_virtuemart/router.php on line 1159
The constructor of the helper grants that this object is there
if ( $this->seo_translate ) {
$this->Jlang = VmConfig::loadJLang('com_virtuemart.sef',true);
} else {
$this->Jlang = JFactory::getLanguage();
}
So it seems some 3rd party software, which does not instanciate the helper correctly.
Quote from: lindapowers on November 09, 2016, 08:40:04 AM
Issues remaining:
A) Childs not loading without full category tree checked or disabling VM SEO.
Issue is only present if you dont use categories in your VM urls, an issue with the router file?
B) Featured products appearing in unrelated parent/childs
I cannot reproduce any of it and even did not understood it, checking your pages.[/code]
Quote from: lindapowers on November 09, 2016, 08:40:04 AM
Issues remaining:
A) Childs not loading without full category tree checked or disabling VM SEO.
Issue is only present if you dont use categories in your VM urls, an issue with the router file?
B) Featured products appearing in unrelated parent/childs
Quote from: Milbo on November 09, 2016, 13:12:30 PM
I cannot reproduce any of it and even did not understood it, checking your pages.
Hi
I've set up the page so you can check again, this time with VM 3.0.18.3
http://renovada.comenaranjas.com/en/shop/seasonal-fruits.html First 6 products are generic childs, you can see switching between childs has no effect or randomly you get only the featured products.
SEO settings to reproduce issue:
(https://s12.postimg.org/f3bovtnvx/vm_seo.jpg)
Use full category tree checked makes the ajax work again, also disabling VM SEO.
I checked the links for your generic child variants.
THis are bad.
FOr this main product http://renovada.comenaranjas.com/en/shop/pears.html
When you have nothing in the Joomla session /en/shop.html/category/?virtuemart_product_id=165
after /en/shop.html?virtuemart_product_id=165
So the link do not get any category at all !
And i think that this is a router problem because last modification.
I think that now the problem is bigger as before and you need perhaps to set menu item links in Joomla for each main categories, else the router do not work properly.
But because now Virtuemart set category id from session in some case, this break the link too.
Quote from: Studio 42 on November 18, 2016, 13:06:58 PM
I checked the links for your generic child variants.
THis are bad.
FOr this main product http://renovada.comenaranjas.com/en/shop/pears.html
When you have nothing in the Joomla session /en/shop.html/category/?virtuemart_product_id=165
after /en/shop.html?virtuemart_product_id=165
So the link do not get any category at all !
And i think that this is a router problem because last modification.
I think that now the problem is bigger as before and you need perhaps to set menu item links in Joomla for each main categories, else the router do not work properly.
But because now Virtuemart set category id from session in some case, this break the link too.
Hi Patrick
Thanks for checking. Yes those concrete settings I copied in the screenshot omit the category and that seems to conflict with the ajax, thats why I always though it was a router issue.
In the repository Max's last change says "Added new function in router.php which takes care of loading ids or slugs with multilang using the vm config vm_lfbs" http://dev.virtuemart.net/projects/virtuemart/repository
Not sure if that one could solve the issue or is not related.
Regards
Hi manu,
The first problem, is that for same product, you don't get same URL when session is empty.
This is bad for SEO and of course can have other effects for links.
It's perhaps a nice feature to have short URLs, but if this not give duplicates entries. I know that VM have canonical URL, but i'm not sure that in this case, canonical is correct and not simply give some 404 errors for the users for more case as this.
You do not need a menuitem per category, but you can use one.
But it makes sense to switcht the virtuemart view to the new category view, and please use this version.
http://dev.virtuemart.net/attachments/download/1030/com_virtuemart.3.0.18.4_extract_first.zip
Quote from: Milbo on November 18, 2016, 19:29:33 PM
You do not need a menuitem per category, but you can use one.
But it makes sense to switcht the virtuemart view to the new category view, and please use this version.
http://dev.virtuemart.net/attachments/download/1030/com_virtuemart.3.0.18.4_extract_first.zip
Hi testing 3.0.18.4
Wasn't sure if you meant this but If I change the VM frontpage menu item to VM category menu item and ajax works perfectly.
If there is a menu item of type VM/Front Page ajax has issues, it doesn't load or loads featured or latest products added in unrelated parent/childs.
I tried also having both menu items, one for front page and one for category but it fails, if you have published the menu item for VM/Front page it causes issues.
So in the spanish version I changed the menu item VM/Front Page to VM/Category view and ajax seems to work fine http://renovada.comenaranjas.com/es/tienda/fruta-de-temporada.html
While on the english version the Menu Item is set to VM/Front Page which causes malfunction in ajax http://renovada.comenaranjas.com/en/shop/seasonal-fruits.html
About the VM Category view menu item:
Noticed settings for "show store description" and "show categories" doesn't seem to display the store description and categories in that menu item. Tried setting the VM subordinated item ID too. Also Show products of the selected category to NO will hide everything in the page- I guess this last one is normal if it doesnt show categories or store description.
As I see you intend to make the category view work also as frontpage which is great. Don't know if optionally or the VM/Front page is deprecated.
Quote from: lindapowers on November 19, 2016, 11:50:37 AM
Quote from: Milbo on November 18, 2016, 19:29:33 PM
You do not need a menuitem per category, but you can use one.
But it makes sense to switcht the virtuemart view to the new category view, and please use this version.
http://dev.virtuemart.net/attachments/download/1030/com_virtuemart.3.0.18.4_extract_first.zip
Hi testing 3.0.18.4
Wasn't sure if you meant this but If I change the VM frontpage menu item to VM category menu item and ajax works perfectly.
If there is a menu item of type VM/Front Page ajax has issues, it doesn't load or loads featured or latest products added in unrelated parent/childs.
I mentioned it here, but not clearly enough https://virtuemart.net/news/latest-news/477-release-of-3-0-18-connecting-the-loose-ends
Quote
Since it is the last of its series, we added some of the membership features to the main version. So product variants work now also in the category browse view. Changing the ordering within a dropdown of a multivariant was quite painful. But we added a drag and drop for the children list, so it is very easy to adjust.
Quote from: lindapowers on November 19, 2016, 11:50:37 AM
I tried also having both menu items, one for front page and one for category but it fails, if you have published the menu item for VM/Front page it causes issues.
Yes the "virtuemart" frontpage view is deprecated. The virtuemart view was always just a category view for the top level category and displayed the products in groups. The new category view has now the options of the old frontpage virtuemart view. So you can now show on any category menu item grouped products.
So when the category view can do the same as the frontpage view, we dont need it anylonger. The reloading by ajax depends on the used view. When we are on the category browse view, we need another ajax, then the one in the productdetails. Some people want ajax in the productdetails, but no ajax in the category browse view. So the ajax is setup a bit different per view. From my point of view it makes no sense to add the stuff to the virtuemart view. We would just have doubled code. Bad for maintenance of the code and it is also likely to get copy/paste errors.
The version has an updater for the old category menu links. Patrick, you may notice that you can only change the category and manufacturer id per URL, before you could change anything per URL, this is blocked now. The params are taken from the menu. There is also an updater for the virtuemart view, but it is uncommented. We need more experience with it.
Quote from: lindapowers on November 19, 2016, 11:50:37 AM
Noticed settings for "show store description" and "show categories" doesn't seem to display the store description and categories in that menu item.
This can only work with the new layout files, because these options are new. So please try again without any override.
Quote from: lindapowers on November 19, 2016, 11:50:37 AM
Tried setting the VM subordinated item ID too. Also Show products of the selected category to NO will hide everything in the page- I guess this last one is normal if it doesnt show categories or store description.
As I see you intend to make the category view work also as frontpage which is great. Don't know if optionally or the VM/Front page is deprecated.
You dont need to set subordinated id. This is more for people, who had one virtuemart frontpage and one main category item. When you set a subordianted id, all following params are ignored and it takes the "main params" of the set menu item. Just leave it empty.
Before it was so, you clicked on a category or product from the frontpage. Then the router found the category for the product or just opened the category. So you had directly the "category settings".
Now there is no difference, you are already on a category view and when you click on another category, you would just keep the menu item with all settings. That means if you use the new category view with grouped products so that it looks like the old frontpage view, then you would have all the time grouped products.
The subordinated settings should set to your old category view settings and the normal settings like the frontpage. Then it is as before.
Quote from: lindapowers on November 19, 2016, 11:50:37 AM
Show products of the selected category to NO will hide everything in the page
This is an "error" in the old layout which was not a problem, yet. Just change around line 70 in default.php of the category browse view
if($this->showproducts){
to
if (!empty($this->products)) {
Then it will work as intended.
Thanks I'm gonna check without overrides in protostar and let you know.
BTW got a blank page on first installation in 2 sites with package 3.0.18.4
Maybe a hosting memory issue, on second try core was installed correctly:
websiteurl/administrator/index.php?option=com_installer&view=install
Error message data:
1 Call to undefined method VmConfig::getMemoryLimitBytes() in file: ////administrator/components/com_virtuemart/helpers/tableupdater.php line: 43
Quote from: Milbo on November 20, 2016, 11:35:35 AM
Quote from: lindapowers on November 19, 2016, 11:50:37 AM
Noticed settings for "show store description" and "show categories" doesn't seem to display the store description and categories in that menu item.
This can only work with the new layout files, because these options are new. So please try again without any override.
I tested in Protostar and Beez but didnt manage to display the store description or categories.
Legacy views are uncheked too and the rest set to default.
http://dev.virtuemart.net/attachments/download/1031/com_virtuemart.3.0.18.5_extract_first.zip
Quote from: Milbo on November 22, 2016, 21:39:53 PM
http://dev.virtuemart.net/attachments/download/1031/com_virtuemart.3.0.18.5_extract_first.zip
Installation worked perfectly this time but still the settings for "show store description" and "show categories" doesn't seem to display the store description and categories in VM category view menu item.
Remember there are settings in the menu item, which override the global ones
Quote from: Milbo on November 24, 2016, 09:34:38 AM
Remember there are settings in the menu item, which override the global ones
Yes, I'm setting them in menu item VM Category and tested on protostar and beez to check if they worked but didnt manage to show store description or categories. A part from that we didn't find any noticeable issues and we are actually using this latest version in our live site already.