Not at the moment no. You would have to have a unique catalog and place that product into it to be able to offer a discount for logged in users on that product or discount code.
OK - so trying to figure out the best way to fix this. The client has to use a discount code on a particular product to be in compliance with the manufacturer's guidelines. So what I've done is add this product to it's own subcatalog (Vitamins - Sale, root catalog is Vitamins). Is there any way to display products from the root catalog (Vitamins) and subcatalog (Vitamins - Sale) together on one page?
Thanks Liam for your help!
There's no way to display products from different catalogues on the same page, at this stage.
Not out of the box in a true sense, but you can.
You kind of do though Mario if you have everything in the parent catalog and then have them also in the subcatalog. All will show under "Shop" if added into it for example.
IT not the mix and match as above but if added to the parent they will show up.
I've had to display two BC catalogs on one page whenever clients request this, which seems to be a common request. Often clients want one page displaying two different catalogs side by side.
You can accomplish this with jQuery.
Set up an empty div on the page that will hold the catalogs...
Then include a script so jQuery will use Ajax to load in the normal BC catalog page from the BC server and insert it into the div on your page...
In this example I'm pulling a parent catalog named /promotional-items and reading only the content from that BC page that is within its div having class="shop-main"
jQuery will let you load only part of the content from the BC catalog page, in this case, I only wish to load the catalogs and/or products displayed within the div class="shop-main" in order to avoid loading the entire catalog page which of course would include the page template which I don't want. I only want the part of the page in which BC is using the BC catalog layout or small product layout to list catalogs/products, eliminating the normal page template it displays within. For docs see "Loading Page Fragments" on the jQuery documentation page for the load command here: http://api.jquery.com/load/
In #the-catalog-2 in the example I am loading the products displayed within the t-shirts subcatalog off the promotional-items catalog.
You would likely need to set some CSS to set the width and perhaps height of #the-catalog-1 etc. although in my example I have no height so nothing is displayed until the catalog page loads and then I'm using a jQuery slideDown() to slide the div open and down with the content in it.
Of course in order to run jQuery code you site needs to load jQuery in your page template etc. If you don't know how to do that there are instructions on my site:
Thanks for your thorough reply. Just to tell you what we did to fix - we added the product to it's own catalog and then did a java redirect to send customers form the non-sale item that lived in the existing catalog to the sale item that lived in it's own new catalog. It worked for our purposes and was fairly straightforward. Hope both of our solutions help someone else out there!
That means it is not managble by clients on love sites though. They are stuck with that and can only request the developer to increas, change or adapt that implementation.
At very least with that concept you would use, say a dynamic menu or catalalog list dump to pick up the URL and form the output. Menu likely hidden a dn only used so the client can control. A nice web app integrated as well can allow more functionality and client managble.
I know this thread is several months old, but I need to do the same thing for my client - apply a discount code to just one product. I think a solution may be to add the product to a second, disabled, catalog as well as the original catalog. Then apply the discount code to the disabled catalog only.
I may be misunderstanding something, but when I tried this, it appears to apply the discount (20% in my case) only to that one item in my cart. Does anyone see a problem with doing it this way? Thanks.