VirtueMart Forum

VirtueMart 2 + 3 + 4 => Plugins: Payment, Shipment and others => Topic started by: Marion on November 22, 2017, 19:01:23 PM

Title: different shoppergroups and/or products for different countries
Post by: Marion on November 22, 2017, 19:01:23 PM
Hi

I have an online shop with products sold by 3 different vendors.
Vendor 1 sells in Germany.
Vendor 2 sells in Switzerland.
Vendor 3 sells in France and the rest of the world.

Some products are not available in certain countries.
Products have country-specific currencies and prices (Swiss Francs or Euro).
Shipment is country-specific too, but that's no problem. I can select specific countries to specific shipment methods.

What I'm missing is restricting countries for products, currencies, prices or shopper groups.
I have Geolocator and Localise extensions. So I can say which countries guests come from. But what use is this if I can't select products - or vendors - or currencies / prices by country?

I'd like to have a product only once in the shop with country-specific availability / prices / currencies. If necessary, I could also have a product several times with country specific conditions. But how - and where - select by country?
Title: Re: different shoppergroups and/or products for different countries
Post by: Studio 42 on November 22, 2017, 22:50:45 PM
I mean that currently it's not possible without modify a little the structure of your shop.
You can disable some product on removing the language specific translation and disable language fallback in Virtuemart.
But i think that Switzerland and France use same language or Switzerland and Germany ?
So another way is to use children per location eg.
Main product
Childd 1 : Vendor 1 sells in Germany.
Childd 2 : Vendor 2 sells in Switzerland.
Childd 3 : Vendor 3 sells in France + world
When the user try to display the main product, you redirect by location to one of the child if child are set for this country
Of course this need to modify the template and disable the add to cart in categories.
Another solution is to use 3 main categories :
And add a filter per location to prevent access for other countries(or disable cart per categories)
In this case, you can use same structure
Main product
Childd 1 : Vendor 1 sells in Germany. (cat Germany/product_category)
Childd 2 : Vendor 2 sells in Switzerland.(cat Switzerland/product_category)
Childd 3 : Vendor 3 sells in France + world(cat France /product_category)
But have to set another category for each product depending the location
Another solution is to use 3 language
fr-FR, fr-CH and de-DE and use language as filter and a customfield to override the main price, if needed, but if you have complex products, this can be a nigtmare
Title: Re: different shoppergroups and/or products for different countries
Post by: Marion on November 23, 2017, 16:14:11 PM
Hi Studio 42

Thank you for your long reply. I'll try to precise a little.

The shop is set up in 3 languages: German, French and English. (Switzerland has got 4 official languages, the most important ones being German and French). The language does not have any influence on the shop. It's initially set to the browser language, with the option to switch language on every page. This works fine for the shop and it's the way it should be. So filtering products by language is no option.

Using product children does not solve my problem: products and their children can not be set to specific countries, only to specific categories, vendors or shopper groups. And in none of them - vendor, shopper group, category I can specify countries, like it is possible in shipping entries.

I thought I could solve this problem by buying the localise-extension. But as I can see now, it doesn't add any "country logic" to products etc. It just allows to use allready country-specific modules like shipping for guest users.

If I understand you right, there's no other way than doing some individual coding and templating myself?





Title: Re: different shoppergroups and/or products for different countries
Post by: Studio 42 on November 23, 2017, 18:27:35 PM
YOu cannot currently use price per country, only taxe rules. It's why i said to use children.
Not that children dont need to have all information, only the price and the title the other things can be set in the main product(in this case the main product is a model)
You can set then the price per product depending your customer, but this need redirecting, in case of the user is not from this country.
Another solution can be to use custom field to set the prices, but if you have complex price rules, it can be a nightmare.
I think that with multi vendor, you can perhaps have the same result and set price per vendor(each vendor can have different currencies) but for filtering i think that you need to use 3 main categories.
Note that with multi vendor you can set some rules in the cart to prevent adding product from another vendor with a plugin
I don't know myself the best solution for you. This need some testing and a little to long to do.