PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (1): [1]

> Найдено сообщений: 5
AdisPrint Отправлено: 19 Марта, 2018 - 20:41:54 • Тема: Прелоадер • Форум: Вопросы новичков

Ответов: 0
Просмотров: 96
В интернет магазине vamshop реализовано оформление заказа на одной странице checkout.php, для нее есть СМАРТИ шаблон checkout.html. Данная страница отправляет запросы на API разных служб доставки и получает результаты расчетов. Чем больше служб подключено тем соответственно дольше длится обработка. Т.е. покупатель кликает по кнопке "Оформить заказ", а страница открывается только после того как получены результаты расчетов, а это где-то 5-7 сек.
Пробовал вешать прелоадер на страницу checkout, это не работает. Т.е. так же приходится ждать 5-7 сек пока сработает прелоадер.
Нужно как-то повесить анимацию на кнопку "Оформить заказ", чтобы она крутилась, пока не загрузится страница checkout.php

Я не программист, поэтому буду благодарен за примеры которые можно было бы встроить.

Код ссылки на страницу checkout.php из корзины.
CODE (htmlphp):
скопировать код в буфер обмена
  1. $box->assign('LINK_CHECKOUT', vam_href_link(FILENAME_CHECKOUT_SHIPPING, '', 'SSL'));

и в СМАРТИ
CODE (htmlphp):
скопировать код в буфер обмена
  1. <a class="btn btn-inverse checkout" href="{$LINK_CHECKOUT}"><i class="fa fa-check"></i> {#text_checkout#}</a>
AdisPrint Отправлено: 03 Марта, 2018 - 13:43:38 • Тема: Передача переменной в виджет. • Форум: Вопросы новичков

Ответов: 6
Просмотров: 497
Строитель пишет:
AdisPrint пишет:
В файле с картой index.php переменная $_SESSION["city"] пустая, хотя в файле checkout.php она задана и там она не пустая.
А в файле index.php (там где пустая переменная) есть старт сессии?

Да есть. Я мягко говоря не сильно разбираюсь в программировании, все что знал, перепробовал уже. Способы передачи которые прекрасно работают между другими страницами в данном случае не срабатывают. Огорчение Такое ощущение что виджет живет вне сессий сайта.
AdisPrint Отправлено: 03 Марта, 2018 - 12:51:38 • Тема: Передача переменной в виджет. • Форум: Вопросы новичков

Ответов: 6
Просмотров: 497
Строитель пишет:
AdisPrint пишет:
Не понял какая именно ошибка в строке '<?php echo $_SESSION['city']; ?>'
Ключ city прописан в одинарных кавычках - посмотрите на мой пример в предыдущем посту.

В двойных тоже не работает. В файле с картой index.php переменная $_SESSION["city"] пустая, хотя в файле checkout.php она задана и там она не пустая. Огорчение
AdisPrint Отправлено: 03 Марта, 2018 - 07:04:17 • Тема: Передача переменной в виджет. • Форум: Вопросы новичков

Ответов: 6
Просмотров: 497
Строитель пишет:
AdisPrint, ошибка была в строке: '<?php echo $_SESSION['city']; ?>', ну и возможно это вам будет полезным:
Спойлер (Отобразить)
Спойлер (Отобразить)


Я наверное недостаточно подробно объяснил. Извиняюсь я дополнил первый пост. Не понял какая именно ошибка в строке '<?php echo $_SESSION['city']; ?>'
Переменная сессии объявлена в другом файле, а в том в котором она мне нужна я ее не вижу. Да, если объявить переменную сессии в файле с картой index.php то она в этом файле будет видна, только зачем это делать? Мне нужно узнать город который вводит пользователь и для этого города вывести карту с адресами.
AdisPrint Отправлено: 02 Марта, 2018 - 21:51:38 • Тема: Передача переменной в виджет. • Форум: Вопросы новичков

Ответов: 6
Просмотров: 497
Сразу скажу, я не программист, так кое что делаю для себя.
Сейчас пытаюсь прикрутить на сайт виджет СДЭК. Сайт работает на движке vamshop. Оформление заказа формируется в файле checkout.php, на экран выводится через смарти. Имеется модуль доставки cdek.php который рассчитывает доставку и в него нужно добавить возможность выбора ПВЗ через их виджет. Забросил на свой сайт папку с виджетом. В файле cdek.php сделал ссылку на файл виджета, карта открывается в модальном окне.
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. <a class="iframe" target="_blank" href=/cdek/index.php>Выберите пункт выдачи заказов</a>
  3.  

В папке имеется файл index.php который выводит карту с адресами ПВЗ. Вот кусок кода где задается город для которого нужно выводить адреса. Задача собственно взять город из файла cdek.php и передать в файл с картой.
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. <?
  3. header('Content-Type: text/html; charset=utf-8');
  4. include('includes/application_top.php');
  5. ?>
  6. <script id="ISDEKscript" type="text/javascript" src="widjet.js"></script>
  7. <script>       
  8.         console.log('Город', '<?php echo $_SESSION['city']; ?>'); // Пробовал так указывать город в defaultCity: но не работает
  9.         var widjet = new ISDEKWidjet({
  10.                 hideMessages: false,
  11.                 defaultCity: 'Москва',         
  12.                 country: 'Россия',
  13.                 choose: true, //скрыть кнопку выбора
  14.                 //path : true,
  15.                 link: 'forpvz',        
  16.                 onReady: onReady,
  17.                 onChoose: onChoose
  18.         });
  19.  

Попробовал через echo подсунуть название города в defaultCity: и это работает, только если переменная задается в самом файле index.php, а мне нужно получить переменную из фала checkout.php или cdek.php. Переменные сессии имеющиеся в checkout.php не воспринимается. В консоли пусто console.log('Город', ''). Еще лучше конечно получить переменную из cdek.php. Там есть переменная со значением города $city_delivery_name
Я ее пытался получить в файл index.php и методом POST и через сессию вот так
CODE (htmlphp):
скопировать код в буфер обмена
  1. $city_delivery_name = $value_postcodearray["cityName"];
  2. $_SESSION['city'] = $city_delivery_name;

Не получается никак. Внутри файла index.php переменная пустая.

Страниц (1): [1]
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB