modulo afiliados no funciona prestashop

SOLUCIONADO: Módulo Afiliados Prestashop no funciona

Antes de nada debemos saber que un sistema de afiliación es una herramienta de marketing mediante la cual se permite la promoción de los productos y servicios de una página web a través de las páginas web de otras personas (afiliados) a cambio de una comisión. En la actualidad es una herramienta muy utilizada por la mayoría de tiendas online y si aún no la estás usando deberías comenzar a pensar en hacerlo.

Muchos clientes nos alertan de que el módulo de afiliados que trae incorporado Prestashop no funciona y que no muestra estadísticas sobre sus afiliados. Tras mucho investigar hemos dado con la solución.

error modulo afiliados prestashop

En el archivo classes/Referrer.php tenemos lo siguiente:

protected static $_join = ‘(r.http_referer_like IS NULL OR r.http_referer_like = \’\’ OR cs.http_referer LIKE r.http_referer_like)
AND (r.request_uri_like IS NULL OR r.request_uri_like = \’\’ OR cs.request_uri LIKE r.request_uri_like)
AND (r.http_referer_like_not IS NULL OR r.http_referer_like_not = \’\’ OR cs.http_referer NOT LIKE r.http_referer_like_not)
AND (r.request_uri_like_not IS NULL OR r.request_uri_like_not = \’\’ OR cs.request_uri NOT LIKE r.request_uri_like_not)
AND (r.http_referer_regexp IS NULL OR r.http_referer_regexp = \’\’ OR cs.http_referer REGEXP r.http_referer_regexp)
AND (r.request_uri_regexp IS NULL OR r.request_uri_regexp = \’\’ OR cs.request_uri REGEXP r.request_uri_regexp)
AND (r.http_referer_regexp_not IS NULL OR r.http_referer_regexp_not = \’\’ OR cs.http_referer NOT REGEXP r.http_referer_regexp_not)
AND (r.request_uri_regexp_not IS NULL OR r.request_uri_regexp_not = \’\’ OR cs.request_uri NOT REGEXP r.request_uri_regexp_not)’;

y debemos cambiarlo por:

protected static $_join = ‘(r.http_referer_like IS NULL OR r.http_referer_like = \’\’ OR cs.http_referer LIKE r.http_referer_like)
OR(r.request_uri_like IS NULL OR r.request_uri_like = \’\’ OR cs.request_uri LIKE r.request_uri_like)
OR(r.http_referer_like_not IS NULL OR r.http_referer_like_not = \’\’ OR cs.http_referer NOT LIKE r.http_referer_like_not)
OR(r.request_uri_like_not IS NULL OR r.request_uri_like_not = \’\’ OR cs.request_uri NOT LIKE r.request_uri_like_not)
OR(r.http_referer_regexp IS NULL OR r.http_referer_regexp = \’\’ OR cs.http_referer REGEXP r.http_referer_regexp)
OR(r.request_uri_regexp IS NULL OR r.request_uri_regexp = \’\’ OR cs.request_uri REGEXP r.request_uri_regexp)
OR(r.http_referer_regexp_not IS NULL OR r.http_referer_regexp_not = \’\’ OR cs.http_referer NOT REGEXP r.http_referer_regexp_not)
OR(r.request_uri_regexp_not IS NULL OR r.request_uri_regexp_not = \’\’ OR cs.request_uri NOT REGEXP r.request_uri_regexp_not)’;

con esta modificación del código ya debe comenzar a funcionar perfectamente el módulo y arrojar estadísticas sobre visitas, clicks, ventas…del afiliado.

Si tienes alguna duda a la hora de configurar este módulo puedes echar una ojeada a la documentación de Prestashop. Y para facilitaros un poco más el trabajo os dejo unas capturas:

modulo afiliados prestashop

modulo afiliados prestashop

En el apartado de SOLICITUD URI podéis incluir una coletilla a la url para controlar aún más de donde provienen las visitas a vuestra tienda.

error modulo afiliados prestashop

Si utilizáis esta última opción debéis incluir esa coletilla en la url del banner que aparecerá en la web o blog del afiliado (http://midominio.com/?referrerID=1)

About the author: Franky Martin (ADMIN)

11 comments to “SOLUCIONADO: Módulo Afiliados Prestashop no funciona”

You can leave a reply or Trackback this post.

  1. Juanjo - 12 diciembre, 2016 at 1:18 Reply

    Hola,
    he hecho los cambios que mencionas, y me sigue sin funcionar. Yo quiero que el referido haga clic sobre un vinculo que le han mandado por whatsapp o telegram y contabilice de parte de quien viene. Por eso dejo todos los campos vacíos excepto el URI include que le añado ?referrerID=1 y eso mismo lo añade al final del vinculo el afiliado. No se porque no me contabiliza nada.
    Por si acaso, he forzado compilación y vaciado cache.
    Alguna sugerencia

  2. admin - 12 diciembre, 2016 at 17:12 Reply

    Hola Juanjo,
    ¿podrías mandarnos captura de la configuración que has realizado? Así podremos saber si hay algún error en ella.
    Gracias y un saludo

  3. Juanjo - 15 diciembre, 2016 at 15:14 Reply

    ¿Como os adjunto la captura?

  4. admin - 15 diciembre, 2016 at 17:04 Reply

    Envíanos un email con todos los detalles a info@vegaweb.es e intentaremos encontrar la solución a tu problema.

  5. paco - 19 enero, 2018 at 13:11 Reply

    Hola en promer lugar gracias por todo.
    No consigo que funcione por que podra ser

  6. admin - 22 enero, 2018 at 17:08 Reply

    Hola Paco, danos un poco más de información sobre el error.

  7. Nessa Bafer - 15 marzo, 2018 at 17:31 Reply

    Disculpad mi torpeza, pero no tengo mucha idea de programación web y exactamente no se donde buscar el archivo “classes/Referrer.php” para hacer esos cambios. Me podéis decir la raíz completa??

  8. Nessa Bafer - 15 marzo, 2018 at 18:55 Reply

    Hola de nuevo, encontré el archivo pero básicamente se me ha jodido todo el sistema (error 500), alguna solución?

  9. admin - 15 marzo, 2018 at 19:19 Reply

    Hola Nessa, prueba a deshacer el cambio y probar de nuevo tu web.

  10. Nessa Bafer - 21 marzo, 2018 at 18:03 Reply

    Hola de nuevo,

    Solucioné todo el problema y lo instalé como describes pero aún así sigue sin contar las visitas, he hecho todo lo que se menciona más arriba, pero nada…
    Hay alguna otra solución?

  11. Franky Martin (ADMIN) - 21 marzo, 2018 at 20:01 Reply

    Hola Nessa, hemos comprobado que el módulo de afiliados no funciona correctamente en algunas versiones de PS 1.6. Hoy lo hemos probado en la 1.7 y sí funciona. Seguiremos investigando para ver si conseguimos descubrir por que se produce el error. Sentimos no poder ayudarte más por ahora. Si encontramos alguna solución la publicaremos en este mismo post.

Leave a Reply

Your email address will not be published.

dieciocho − 16 =