Product page redirection

Hello everyone, since Wix support has not been able to help me so far, I am trying it here now.

Since the Wix shop does not offer many functions, I had to deal with Velo and create my own product page. Everything works as it should so far.

My problem now is linking to this page when someone clicks on a product gallery or similar in the shop. The redirection should go to /products, but unfortunately, it continues to redirect to /product-page.

With the redirection tool, the redirection only occurs when the page is refreshed after being directed to the regular product page.

Since this is not satisfactory, I added a redirection with Velo on the product page, which worked until about 1 1/2 weeks ago.

import wixLocationFrontend from ‘wix-location-frontend’;

$w.onReady(async function () {
const product = await $w(“#productPage1”).getProduct();
wixLocationFrontend.to(/products/${product.slug});
});

I also tried using the wixLocation API, which also no longer works.

Now this also doesn’t work anymore, and I get the following message in the console:

reactClientRenderer.tsx:127 Receiving patch before init {type: ‘PATCH’, patchNumber: 2, patch: {…}}patch: {members: {…}, reviews: {…}, configuration: {…}}patchNumber: 2type: “PATCH”[[Prototype]]: Objectconstructor: ƒ Object()hasOwnProperty: ƒ hasOwnProperty()isPrototypeOf: ƒ isPrototypeOf()propertyIsEnumerable: ƒ propertyIsEnumerable()toLocaleString: ƒ toLocaleString()toString: ƒ toString()valueOf: ƒ valueOf()defineGetter: ƒ defineGetter()defineSetter: ƒ defineSetter()lookupGetter: ƒ lookupGetter()lookupSetter: ƒ lookupSetter()proto: (…)get proto: ƒ proto()set proto: ƒ proto()
console.error @ reactClientRenderer.tsx:127
(anonym) @ use-optimized-state.ts:36
Lr @ api-provider.tsx:15
mf @ react-dom.production.min.js:105
Qk @ react-dom.production.min.js:250
Ri @ react-dom.production.min.js:195
Ok @ react-dom.production.min.js:195
Nd @ react-dom.production.min.js:194
Ni @ react-dom.production.min.js:185
S @ react.production.min.js:17
U @ react.production.min.js:21
2createConsoleProxy.ts:47 TypeError: h(…).addBreadcrumb is not a function
at Object.y [as interactionStarted] (main.cd290f82.bundle.min.js:6:59596)
at initPage (group_3.b26b356a.chunk.min.js:1:22409)
at group_4.875258cf.chunk.min.js:1:12120
at async Object.k [as navigate] (group_4.875258cf.chunk.min.js:1:11989)
at async c (group_7.b7b8a59e.chunk.min.js:1:792)
at async AsyncFunction. (group_5.2de88a07.chunk.min.js:1:30410)
(anonym) @ createConsoleProxy.ts:47
eval @ active$wBiEvent.js:56
v @ app.js:139
comlink.ts:265 Uncaught (in promise) TypeError: h(…).addBreadcrumb is not a function
at Object.y [as interactionStarted] (main.cd290f82.bundle.min.js:6:59596)
at initPage (group_3.b26b356a.chunk.min.js:1:22409)
at group_4.875258cf.chunk.min.js:1:12120
at async Object.k [as navigate] (group_4.875258cf.chunk.min.js:1:11989)
at async c (group_7.b7b8a59e.chunk.min.js:1:792)
at async AsyncFunction. (group_5.2de88a07.chunk.min.js:1:30410)
deserialize @ comlink.ts:265
b @ comlink.ts:519
Promise.then (async)
apply @ comlink.ts:442
b @ clientWorker.ts:186
t @ worker.ts:132
(anonym) @ viewerHandlers.ts:6
r @ deepProxyUtils.ts:5
I @ locationSdkFactory.ts:28
eval @ active$wBiEvent.js:56
eval @ acu7k.js:7
s @ external commonjs “wix-location”:1
eval @ external commonjs “wix-location”:1
eval @ external commonjs “wix-location”:1
a @ external commonjs “wix-location”:1
c @ external commonjs “wix-location”:1
Promise.then (async)
a @ external commonjs “wix-location”:1
c @ external commonjs “wix-location”:1
eval @ external commonjs “wix-location”:1
eval @ external commonjs “wix-location”:1
t @ wixSelector.ts:314
(anonym) @ wixSelector.ts:333
(anonym) @ wixSelector.ts:131
m @ wixSelector.ts:131
flushOnReadyCallbacks @ wixSelector.ts:136
(anonym) @ applications.ts:411
await in (anonym) (async)
(anonym) @ applications.ts:580
runAsyncAndReport @ platformLogger.ts:227
init @ applications.ts:580
(anonym) @ index.ts:117
runPlatformOnPage @ index.ts:117
await in runPlatformOnPage (async)
Qa @ worker.ts:135
runPlatformOnPage @ clientWorker.ts:207
await in runPlatformOnPage (async)
runPlatformOnPage @ clientWorker.ts:19
n @ comlink.ts:312

You don’t need to create another page and redirect your existing product pages to other pages that you built.

Go to native product page and delete the product page widget or it’s section if you can’t delete it you can do it via Velo’s .delete() method.

Here is an example custom product page that’s using the same system:

Link will be invalid after few days.

Thanks for your help, I also found out that you can change the URL for the product page under the SEO settings, but only for the product page. Your solution is definitely the better solution, so simple, sad that I didn’t figure it out myself, even sadder that wix support themselves don’t know the solution :smiley:

Wix support cannot help you with custom coding solutions I don’t think there is any support team that can do this in the world because if so it means they are not support team instead they are developers.

My solution is not easy to do and requires advanced JS, Velo knowledge to handle including database modeling etc.

Hi, loeiks. This is a good idea to just hide the original design and add my new customised design sections. However, how to make my components connect to the product dataset and change dynamically? Thanks.

1 Like