Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Передача переменной в виджет.
Форумы портала PHP.SU » » Вопросы новичков » Передача переменной в виджет.

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

1. AdisPrint - 02 Марта, 2018 - 21:51:38 - перейти к сообщению
Сразу скажу, я не программист, так кое что делаю для себя.
Сейчас пытаюсь прикрутить на сайт виджет СДЭК. Сайт работает на движке 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 переменная пустая.
2. Строитель - 02 Марта, 2018 - 22:41:13 - перейти к сообщению
AdisPrint, ошибка была в строке: '<?php echo $_SESSION['city']; ?>', ну и возможно это вам будет полезным:
Спойлер (Отобразить)
Спойлер (Отобразить)
3. AdisPrint - 03 Марта, 2018 - 07:04:17 - перейти к сообщению
Строитель пишет:
AdisPrint, ошибка была в строке: '<?php echo $_SESSION['city']; ?>', ну и возможно это вам будет полезным:
Спойлер (Отобразить)
Спойлер (Отобразить)


Я наверное недостаточно подробно объяснил. Извиняюсь я дополнил первый пост. Не понял какая именно ошибка в строке '<?php echo $_SESSION['city']; ?>'
Переменная сессии объявлена в другом файле, а в том в котором она мне нужна я ее не вижу. Да, если объявить переменную сессии в файле с картой index.php то она в этом файле будет видна, только зачем это делать? Мне нужно узнать город который вводит пользователь и для этого города вывести карту с адресами.
4. Строитель - 03 Марта, 2018 - 11:06:54 - перейти к сообщению
AdisPrint пишет:
Не понял какая именно ошибка в строке '<?php echo $_SESSION['city']; ?>'
Ключ city прописан в одинарных кавычках - посмотрите на мой пример в предыдущем посту.
5. AdisPrint - 03 Марта, 2018 - 12:51:38 - перейти к сообщению
Строитель пишет:
AdisPrint пишет:
Не понял какая именно ошибка в строке '<?php echo $_SESSION['city']; ?>'
Ключ city прописан в одинарных кавычках - посмотрите на мой пример в предыдущем посту.

В двойных тоже не работает. В файле с картой index.php переменная $_SESSION["city"] пустая, хотя в файле checkout.php она задана и там она не пустая. Огорчение
6. Строитель - 03 Марта, 2018 - 13:08:19 - перейти к сообщению
AdisPrint пишет:
В файле с картой index.php переменная $_SESSION["city"] пустая, хотя в файле checkout.php она задана и там она не пустая.
А в файле index.php (там где пустая переменная) есть старт сессии?
7. AdisPrint - 03 Марта, 2018 - 13:43:38 - перейти к сообщению
Строитель пишет:
AdisPrint пишет:
В файле с картой index.php переменная $_SESSION["city"] пустая, хотя в файле checkout.php она задана и там она не пустая.
А в файле index.php (там где пустая переменная) есть старт сессии?

Да есть. Я мягко говоря не сильно разбираюсь в программировании, все что знал, перепробовал уже. Способы передачи которые прекрасно работают между другими страницами в данном случае не срабатывают. Огорчение Такое ощущение что виджет живет вне сессий сайта.

 

Powered by ExBB FM 1.0 RC1