Автор Тема: Не работает помещение товара в корзину  (Прочитано 541 раз)

25 Май 2020, 11:22:44
  • Ветеран
  • *****
  • Сообщений: 1090
  • Репутация: +5/-1
  • Иногда заглядываю
    • Просмотр профиля
    • Помощь патентообладателям по продаже патентов.
PrestaShop™ 1.4.5.1

Возникает ошибка:

TECHNICAL ERROR: unable to add the product.

Details:
Error thrown: [object XMLHttpRequest]
Text status: error

Это предупреждение находится в файле /modules/blockcart/ajax-cart.js

Кто то может подсказать, что надо исправить?
Не боги горшки обжигают, не зачем им такой хренью заниматься.
25 Май 2020, 11:59:00
Ответ #1
  • Ветеран
  • *****
  • Сообщений: 1808
  • Репутация: +49/-1
  • Сообщество PrestaShop
    • Просмотр профиля
По такому описанию ничего не определить.
Лог ошибок посмотрите, в консоле браузера проверьте, нужно больше информации.
25 Май 2020, 12:38:33
Ответ #2
  • Ветеран
  • *****
  • Сообщений: 16670
  • Репутация: +14630/-5
  • Сообщество PrestaShop
    • Просмотр профиля
C Prestashop 1.4 проблемы могут быть из-за установленой версии php.
99% хостингов уже не поддерживают php 5.4.
25 Май 2020, 13:59:57
Ответ #3
  • Ветеран
  • *****
  • Сообщений: 1090
  • Репутация: +5/-1
  • Иногда заглядываю
    • Просмотр профиля
    • Помощь патентообладателям по продаже патентов.
Версия php 5.3
В логе ошибок ничего нет.

Посмотрел в инете там предлагают решение связанное с командой
PHP.INI - mbstring, но что с ней делать пока не понятно.

Странно другое, у меня два сайта на PS 1.4.х.х. один работает, а второй отказывается.
Не боги горшки обжигают, не зачем им такой хренью заниматься.
25 Май 2020, 14:31:18
Ответ #4
  • Ветеран
  • *****
  • Сообщений: 1614
  • Репутация: +32/-1
  • Сообщество PrestaShop
    • Просмотр профиля
Кеш в ручную очистите.
В разных браузерах проверяли?
25 Май 2020, 15:39:37
Ответ #5
  • Ветеран
  • *****
  • Сообщений: 1090
  • Репутация: +5/-1
  • Иногда заглядываю
    • Просмотр профиля
    • Помощь патентообладателям по продаже патентов.
Кеш в ручную очистите.
В разных браузерах проверяли?
Не помогло.
Ни в каких браузерах не работает.
Не боги горшки обжигают, не зачем им такой хренью заниматься.
26 Май 2020, 12:08:24
Ответ #6
  • Ветеран
  • *****
  • Сообщений: 1614
  • Репутация: +32/-1
  • Сообщество PrestaShop
    • Просмотр профиля
У сайтов могут быть разные модули, сравните в чем сайты отличаются.
27 Май 2020, 12:55:04
Ответ #7
  • Ветеран
  • *****
  • Сообщений: 1090
  • Репутация: +5/-1
  • Иногда заглядываю
    • Просмотр профиля
    • Помощь патентообладателям по продаже патентов.
У сайтов могут быть разные модули, сравните в чем сайты отличаются.

PS 1.4.2.5   работает

PS 1.4.5.1   не работает

Различия в модулях есть но незначительные
и количество модулей лет пять нигде не менялось.
Какие-то различия в модулях разных версий могут
быть, но изначально они были не критичны.

Какие-то изменения в файлах периодически вносились.

Эта ошибка появилась после установки SSL сертификата
на всех сайтах, и то не сразу.

По способу предоставления эта ошибка системная и
изначально прошита в файле /modules/blockcart/ajax-cart.js
а раз она там есть. то должно быть и стандартное решение.
Но пока не нашел
Не боги горшки обжигают, не зачем им такой хренью заниматься.
27 Май 2020, 13:33:07
Ответ #8
  • Ветеран
  • *****
  • Сообщений: 1808
  • Репутация: +49/-1
  • Сообщество PrestaShop
    • Просмотр профиля
Эта ошибка появилась после установки SSL сертификата
на всех сайтах, и то не сразу.
Проверьте ajax-cart.js возможно что при переходе на https там нужно указать протол.
 
27 Май 2020, 14:24:25
Ответ #9
  • Ветеран
  • *****
  • Сообщений: 22125
  • Репутация: +25303/-1
  • Prestashop - просто и эффективно
    • Просмотр профиля
В prestashop 1.4 при подключении SSL нужно было переопределять контролеры и классы
classes/FrontController.php
classes/Tools.php
classes/Link.php
Никакой ошибки в /modules/blockcart/ajax-cart.js нет, все функции используют базовые классы и методы.
На форуме была инструкция как подключить защищенный протокол на prestashop 1.4
Эксперт Prestashop - решения всех проблем, написание модулей, создание тем для интернет-магазинов под Prestashop.
Эксперт Magento - создам сайт на Magento, программирование кастомных модулей для Magento, кастомизация тем Magento.
Лучшие цены!!!
29 Май 2020, 11:41:51
Ответ #10
  • Ветеран
  • *****
  • Сообщений: 1090
  • Репутация: +5/-1
  • Иногда заглядываю
    • Просмотр профиля
    • Помощь патентообладателям по продаже патентов.
А поточнее можно, что значит переопределить классы, как это должно выглядеть в коде?
К сожалению не программист, много раз пытался понять что значит переопределить, пока не получилось?

Заметил интересную особенность,
из Каталога, Новинок и окна Продукта кнопка добавить в корзину выдает
эту ошибку, а если из папки Лидеры продаж, то добавляет без проблем.
Не боги горшки обжигают, не зачем им такой хренью заниматься.
30 Май 2020, 10:15:41
Ответ #11
  • Ветеран
  • *****
  • Сообщений: 22125
  • Репутация: +25303/-1
  • Prestashop - просто и эффективно
    • Просмотр профиля
В classes/FrontController.php находите
if (!defined('_PS_BASE_URL_')){
меняете код внутри этого блока на
if (true){
if (Tools::usingSecureMode())
define('_PS_BASE_URL_', Tools::getShopDomainSsl(true));
else
define('_PS_BASE_URL_', Tools::getShopDomain(true));
}else{
define('_PS_BASE_URL_', Tools::getShopDomain(true));
}
В файле classes/Tools.php меняете
public static function getProtocol($use_ssl = null)
{
if (true){ 
return self::getCurrentUrlProtocolPrefix();

}
return (!is_null($use_ssl) && $use_ssl ? 'https://' : 'http://');
}
В файле classes/Link.php находите метод GetPageLink и заменяетя код на
return ((($ssl && _PS_SSL_ENABLED_) ||  Tools::usingSecureMode()) ? Tools::getShopDomainSsl(true) : Tools::getShopDomain(true)).__PS_BASE_URI__.ltrim($uri_path, '/');
Эксперт Prestashop - решения всех проблем, написание модулей, создание тем для интернет-магазинов под Prestashop.
Эксперт Magento - создам сайт на Magento, программирование кастомных модулей для Magento, кастомизация тем Magento.
Лучшие цены!!!
31 Май 2020, 14:18:28
Ответ #12
  • Ветеран
  • *****
  • Сообщений: 1090
  • Репутация: +5/-1
  • Иногда заглядываю
    • Просмотр профиля
    • Помощь патентообладателям по продаже патентов.
Спасибо уже лучше, остался неработающим только каталог Новинок
и при открытии окна из этого каталога тоже не работает.

Все заработало, нашел свою ошибку при правке файла /classes/FrontController.php
Не боги горшки обжигают, не зачем им такой хренью заниматься.
11 Июль 2020, 12:56:17
Ответ #13
  • Ветеран
  • *****
  • Сообщений: 1090
  • Репутация: +5/-1
  • Иногда заглядываю
    • Просмотр профиля
    • Помощь патентообладателям по продаже патентов.
В файле classes/Link.php находите метод GetPageLink и заменяетя код на
return ((($ssl && _PS_SSL_ENABLED_) ||  Tools::usingSecureMode()) ? Tools::getShopDomainSsl(true) : Tools::getShopDomain(true)).__PS_BASE_URI__.ltrim($uri_path, '/');[/quote]

Не могу найти в файле classes/Link.php место для вставки кода,
там три места с  методом getPageLink

public function getPageLink($filename, $ssl = false, $id_lang = NULL)

$switchLangLink = $this->getPageLink(substr($_SERVER['PHP_SELF'], strlen(__PS_BASE_URI__)), false, $id_lang).$query;

$url = $this->getPageLink(basename($url));
Не боги горшки обжигают, не зачем им такой хренью заниматься.
11 Июль 2020, 13:37:29
Ответ #14
  • Ветеран
  • *****
  • Сообщений: 22125
  • Репутация: +25303/-1
  • Prestashop - просто и эффективно
    • Просмотр профиля
Эксперт Prestashop - решения всех проблем, написание модулей, создание тем для интернет-магазинов под Prestashop.
Эксперт Magento - создам сайт на Magento, программирование кастомных модулей для Magento, кастомизация тем Magento.
Лучшие цены!!!