Автор Тема: Ошибка вызова модуля  (Прочитано 1208 раз)

01 Март 2017, 21:31:57
  • Старожил
  • ****
  • Сообщений: 366
  • Репутация: +0/-0
  • Skype: away4people
    • Просмотр профиля
Модуль "Быстрый заказ" - его работу можно увидеть на сайте mircom.ua, положив товар в корзину, после чего нажав на кнопку "Оформление заказа" в корзине:
\при этом идёт запрос на ajax.php этого модуля, который, почему-то внезапно стал возвращать кривой урл, из-за чего и получаем 404 ошибку и неработающий модуль:

собсно, подскажите, где формируется этот урл?
01 Март 2017, 21:41:53
Ответ #1
  • Ветеран
  • *****
  • Сообщений: 3419
  • Репутация: +79/-6
  • Сообщество PrestaShop
    • Просмотр профиля
В шаблоне модуля корзины смотри url на кнопке.
01 Март 2017, 22:23:16
Ответ #2
  • Старожил
  • ****
  • Сообщений: 366
  • Репутация: +0/-0
  • Skype: away4people
    • Просмотр профиля
этот модуль есть на 2-х сайтах - работает только на одном.
рабочий вариант /themes/default_bootstrap/modules/blockcart/blockcart.tpl:
<a id="button_order_cart" class="quickorder btn btn-default button button-small" title="{l s='Быстрый заказ' mod='blockcart'}" rel="nofollow">
<span>
{l s='Быстрый заказ' mod='blockcart'}<i class="icon-chevron-right right"></i>
</span>
</a>

НЕрабочий вариант /themes/leo_exist/modules/blockcart/blockcart.tpl:
<a id="button_order_cart" class="quickorder btn btn-default button button-small" title="{l s='Быстрый заказ' mod='blockcart'}" rel="nofollow">
<span>
{l s='Check out' mod='blockcart'}
</span>
</a>   

если НЕрабочий вариант заменить рабочим - всё так же не работает
01 Март 2017, 22:26:47
Ответ #3
  • Старожил
  • ****
  • Сообщений: 366
  • Репутация: +0/-0
  • Skype: away4people
    • Просмотр профиля
т.е. href Вообще отсутствует
02 Март 2017, 10:23:26
Ответ #4
  • Старожил
  • ****
  • Сообщений: 366
  • Репутация: +0/-0
  • Skype: away4people
    • Просмотр профиля
нашёл нужное место:
localhost/mircom/modules/quickorder/quickorder.js

$.ajax({
type: 'POST',
url: 'modules/quickorder/ajax.php',
.....

$('.quickorder').click(function(){
$.fancybox({
'type':'ajax',
'transitionIn' : 'zoomIn',
'transitionOut' : 'zoomOut',
'titleShow'      : false,
'showCloseButton' : true,
'centerOnScroll' : true,
'href' : 'modules/quickorder/ajax.php',

.....

}
02 Март 2017, 11:48:57
Ответ #5
  • Ветеран
  • *****
  • Сообщений: 3419
  • Репутация: +79/-6
  • Сообщество PrestaShop
    • Просмотр профиля
Скорее всего проблема с видимостью переменных. Класс, ид проверь, включи профилирование, посмотри что передает в ajax.php
03 Март 2017, 08:14:42
Ответ #6
  • Старожил
  • ****
  • Сообщений: 366
  • Репутация: +0/-0
  • Skype: away4people
    • Просмотр профиля
ну, там в href стояло BaseDir + урл modules/..
т.е. эта переменная возвращала null - наверное, область видимости. хотя ведь должно было работать =(
как включить профилирование вообще?
03 Март 2017, 10:45:13
Ответ #7
  • Партнер
  • Ветеран
  • ****
  • Сообщений: 22816
  • Репутация: +17143/-1
  • Разработка веб-сайтов и веб-программирование
    • Просмотр профиля
Во всех современных браузерах встроен отладчик JavaScript. Запускается консоль одинаково, нажатием на F12.
Интернет-магазин под ключ.
Какой выбрать движок для интернет магазина ?
Какой движок лучше ?
Magento или Prestashop ?
Решение всех Ваших вопросов в создании Интернет-магазина.