Категории

[FAQ] Часто задаваемые вопросы и ответы

Проблемы и решения

Ошибки и исправления

Общие вопросы

Расширения

Установка и обновление

Модули

Шаблоны

Локализация интерфейса

Коммерческие предложения

Учимся бизнесу

Бизнес книги

Поисковая оптимизация (SEO)

Магазины на ShopOS

Хостинг для ShopOS

Предложения и пожелания

Курилка

Очистить корзину методом GET и Perl скрипт в интерфейсе магазина

Чтоб не плодить темы напишу сразу два вопроса.
Использую некий perl скрипт для оформления заказа (для передачи данных о количестве и наименовании заказанного товара в партнерский магазин), столкнулся с двумя нюансами
1. Скрипт после удачного выполнения делает get запрос на очистку корзины, естественно этот параметр пуст и его нужно заполнить, но вот только возможно ли с помощью GET запроса в shoposе очистить ее? Если да, то как он должен выглядеть?
2. При нажатии на кнопку оформить в корзине сделал вызов скрипта с передачей ему параметров заказа, пример - shop.ru/cgi-bin/script.pl?cart=45221-1,3325-2
и он открывается не в теле магазина, как мне бы хотелось, а просто на весь экран, заменяя собой страницу магазина. Как бы сделать так, чтоб он открывался как та же корзина, в том же окошке и при этом принял GET запрос?


Ну подскажите же, хоть что-то


Ну спросите хоть что-то по-нормальному, а не тяп-ляп.


1. Скрипт после удачного выполнения делает get запрос на очистку корзины, естественно этот параметр пуст и его нужно заполнить...


Бессмысленное выражение "этот параметр", так как до того НИ ОДНОГО упоминания ни о каком параметре не было. Соответственно, и вопрос  смысла не имеет.



2. При нажатии на кнопку оформить в корзине сделал вызов скрипта с передачей ему параметров заказа, пример - shop.ru/cgi-bin/script.pl?cart=45221-1,3325-2
и он открывается не в теле магазина, как мне бы хотелось, а просто на весь экран, заменяя собой страницу магазина. Как бы сделать так, чтоб он открывался как та же корзина, в том же окошке и при этом принял GET запрос?


"сделал вызов скрипта" - понятие растяжимое, возможны варианты, а подробностей никаких...


В теле скрипта есть переменная, которой вручную задается урл для очистки корзины

# URL, get-обращение к которому происходит в фоновом режиме
# сразу после успешного оформления заказа. Используется для
# очистки собственной корзины.
clearCartURL => '',

Скрипт на перле. Да и какая разница в принципе, в конце выполнения он обращается к переменной clearCartURL, которая пуста, т.к. туда нужно подставить урл, по которому можно очистить корзину. Если б в корзине была кнопка "очистить корзину", то думаю проблем не возникло бы, но т.к. я нигде не нашел, каким образом очистить корзину одним разом, то вопрос остается открытым.
Какие именно нужны подробности? В корзине при нажатии кнопки "оформить" данные из нее передаются следующему скрипту "checkout_confirmation.php" и тд., у меня передаются перловскому скрипту, по сути такая же форма, но со своими особенностями. Чтоб форма отображалась в теле магазина нужно что-то прописывать в самом скрипте?



В теле скрипта есть переменная, которой вручную задается урл для очистки корзины


Так Вам нужен URL, который очищает корзину? Готового, кажется, нет. Напишите свой.



Чтоб форма отображалась в теле магазина нужно что-то прописывать в самом скрипте?


А как же, Вы думали, по волшебству само сделается?
Смотрите, как страницы в магазине сделаны и по аналогии...


Прикрепленный clean_cart.php

скопировать в папку modules/plugins/

Админка - Дополнения - Плагины - clean_cart - установить

и после перехода по адресу адресу  index.php?page=clean_cart
должна чиститься корзина

<?php

add_action('page', 'clean_cart');

function clean_cart()
{
  if (isset($_SESSION['cart']))
  {
      $_SESSION['cart']->reset();   
  echo 'ok';
  }
  else
  {
      echo 'error';
  }
}

?>


Спасибо, попробую


Источник



Copyright ShopOS