Автор Тема: Как сделать редирект при заказе товара?  (Прочитано 88 раз)

09 Январь 2018, 20:30:08
  • Новичок
  • *
  • Сообщений: 4
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Только начал пользоваться prestashop.
Нужно сделать редирект с формы заказа товара на страницу ввода данных покупателя на лендинге партнера.
09 Январь 2018, 21:12:34
Ответ #1
  • Ветеран
  • *****
  • Сообщений: 3286
  • Репутация: +77/-6
  • Сообщество PrestaShop
    • Просмотр профиля
Изменить нужно событие клика на кнопку заказать.
Поменяй ид кнопки и добавь в global.js функцию редиректа.
09 Январь 2018, 21:34:53
Ответ #2
  • Ветеран
  • *****
  • Сообщений: 14781
  • Репутация: +14588/-5
  • Сообщество PrestaShop
    • Просмотр профиля
Форма заказа - вы про страницу оформления заказа или про кнопку добавить в корзину?
10 Январь 2018, 01:27:46
Ответ #3
  • Новичок
  • *
  • Сообщений: 4
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Форма заказа - вы про страницу оформления заказа или про кнопку добавить в корзину?
Про кнопку добавить в корзину
10 Январь 2018, 10:38:57
Ответ #4
  • Ветеран
  • *****
  • Сообщений: 1161
  • Репутация: +15/-1
  • Сообщество PrestaShop
    • Просмотр профиля
В файле /modules/blockcart/ajax-cart.js нужно заменить
$('.ajax_add_to_cart_button').unbind('click').click(function(){...});на свою функцию с редиректом.
16 Январь 2018, 02:16:07
Ответ #5
  • Новичок
  • *
  • Сообщений: 4
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
В файле /modules/blockcart/ajax-cart.js нужно заменить
$('.ajax_add_to_cart_button').unbind('click').click(function(){...});на свою функцию с редиректом.
А если нужно сделать разные ссылки с каждого товара, как это можно реализовать?
Кстати, не нашел этой папки "blockcart" вообще
16 Январь 2018, 11:17:25
Ответ #6
  • Ветеран
  • *****
  • Сообщений: 1161
  • Репутация: +15/-1
  • Сообщество PrestaShop
    • Просмотр профиля
Если нет папки blockcart, тогда у вас установлен prestashop 1.7. В этой версии менять нужно файл /themes/название установленой темы/assets/js/theme.js
Чтобы у каждого товара была своя ссылка, нужно добавить новое поле в карточку товара и в нем сохранять url редиректа.
04 Апрель 2018, 15:19:16
Ответ #7
  • Новичок
  • *
  • Сообщений: 4
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Если нет папки blockcart, тогда у вас установлен prestashop 1.7. В этой версии менять нужно файл /themes/название установленой темы/assets/js/theme.js
Чтобы у каждого товара была своя ссылка, нужно добавить новое поле в карточку товара и в нем сохранять url редиректа.
Спасибо.
Но так и не смог разобраться в этом файле. Похоже, он закодирован, если я правильно понимаю. В нем вообще нет строки "ajax_add_to_cart_button". Вот кусок кода например !function(t){function e(i){if(n[i])return n[i].exports;var r=n[i]={i:i,l:!1,exports:{}};return t[i].call(r.exports,r,r.exports,e),r.l=!0,r.exports}var n={};e.m=t,e.c=n,e.i=function(t){return t},e.d=function(t,n,i){e.o(t,n)||Object.defineProperty(t,n,{configurable:!1,enumerable:!0,get:i})},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,"a",n),n},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p="",e(e.s=26)}([function(t,e){t.exports=jQuery},function(t,e){t.exports=prestashop},function(t,e,n){"use strict";function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var r=function(){function t(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}return function(e,n,i){return n&&t(e.prototype,n),i&&t(e,i),e}}(),o=n(0),s=function(t){return t&&t.__esModule?t:{default:t}}(o),a=function(){function t(e){i(this,t),this.el=e}return r(t,[{key:"init",value:function(){this.el.on("show.bs.dropdown",function(t,e){e?(0,s.default)("#"+e).find(".dropdown-menu").first().stop(!0,!0).slideDown():(0,s.default)(t.target).find(".dropdown-menu").first().stop(!0,!0).slideDown()}),this.el.on("hide.bs.dropdown",function(t,e){e?(0,s.default)("#"+e).find(".dropdown-menu").first().stop(!0,!0).slideUp():(0,s.default)(t.target).find(".dropdown-menu").first().stop(!0,!0).slideUp()}),this.el.find("select.link").each(function(t,e){(0,s.default)(e).on("change",function(t){window.location=(0,s.default)(this).val()})})}}]),t}();e.default=a,t.exports=e.default},function(t,e,n){"use strict";function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var r=function(){function t(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}return function(e,n,i){return n&&t(e.prototype,n),i&&t(e,i),e}}(),o=n(0),s=function(t){return t&&t.__esModule?t:{default:t}}(o),a=function(){function t(){i(this,t)}return
Ищу того, кто тыкнет носом. За вонаграждение.