Джойстик Опубликовано 14 марта, 2016 Жалоба Поделиться Опубликовано 14 марта, 2016 Добрый, есть страница "доставка", где вполне очевидно описана доставка.Хотелось бы прикрутить еще API калькулятор СДЭКа, но скрипт не исполняется.Выкладывать весь код не очень разумно.Оставлю ссылку на него. http://www.edostavka.ru/website/edostavka/upload/custom/files/cdek_calculator.zipТот, который на JS (calc_deliv_cdek_js)В принципе не работает автокомплит. (выборка городов по первым буквам), соответственно не передается ID города в получатели, скрипт выводит ошибку, что поле получателя пустое.Может еще что не работает, но пока застрал на этом.Код вставлял через phpmyadmin.Как я понял, то скрипт не выполняется на уровне движка, ибо сделал отдельный шаблон и заинклюдил в произвольное место. Скрипт опять же не выполнился.Благодарю за любые подсказки. Цитата Ссылка на сообщение Поделиться на другие сайты
yr4ik Опубликовано 14 марта, 2016 Жалоба Поделиться Опубликовано 14 марта, 2016 Вариантов много.Как по мне самый простой - это через iframe С js - смотрите ошибки. Скорее всего что то не так сделали. По php - можно попробовать подключить через http://forum.simplacms.ru/topic/10939-виджеты-для-simpla/#entry84135 Цитата Ссылка на сообщение Поделиться на другие сайты
Джойстик Опубликовано 14 марта, 2016 Автор Жалоба Поделиться Опубликовано 14 марта, 2016 (изменено) Благодарю.яс нормально отрабатывается вне симплы, как в локале, так и в хостинге, т.ч. ошибки исключены.простенькие яс тоже отрабатываются (alert например)попробую через фрейм конечно. но просто хотел сделать попап еще. появятся скроллы. но если выбора нет, то пересмотрю с попапом.хайд не нашел, выложу так код. не все будут качать архив, понимаю. может кто подскажет <script type="text/javascript"> /** * автокомплит * подтягиваем список городов ajax`ом, данные jsonp в зависмости от введённых символов */ $(function() { $("#city").autocomplete({ source : function(request, response) { $.ajax({ url : "http://api.cdek.ru/city/getListByTerm/jsonp.php?callback=?", dataType : "jsonp", data : { q : function() { return $("#city").val() }, name_startsWith : function() { return $("#city").val() } }, success : function(data) { response($.map(data.geonames, function(item) { return { label : item.name, value : item.name, id : item.id } })); } }); }, minLength : 1, select : function(event, ui) { //console.log("Yep!"); $('#receiverCityId').val(ui.item.id); } }); /** * ajax-запрос на сервер для получения информации по доставке */ $('#cdek').submit(function() { var formData = form2js('cdek', '.', true, function(node) { if(node.id && node.id.match(/callbackTest/)) { return { name : node.id, value : node.innerHTML }; } }); var formDataJson = JSON.stringify(formData); // console.log(JSON.stringify(formData)); document.getElementById('testArea').innerHTML = 'Отправляемые данные: <br />' + JSON.stringify(formData, null, '\t'); $.ajax({ url : 'http://api.cdek.ru/calculator/calculate_price_by_jsonp.php', jsonp : 'callback', data : { "json" : formDataJson }, type : 'GET', dataType : "jsonp", success : function(data) { console.log(data); if(data.hasOwnProperty("result")) { document.getElementById('resArea').innerHTML = 'Цена доставки: ' + data.result.price + '<br />Срок доставки: ' + data.result.deliveryPeriodMin + ' - ' + data.result.deliveryPeriodMax + 'дн. ' + '<br />Планируемая дата доставки: c ' + data.result.deliveryDateMin + ' по ' + data.result.deliveryDateMax + '<br />id тарифа, по которому произведён расчёт: ' + data.result.tariffId + '<br />'; if(data.result.hasOwnProperty("cashOnDelivery")) { document.getElementById('resArea').innerHTML = document.getElementById('resArea').innerHTML + 'Ограничение оплаты наличными, от (руб): ' + data.result.cashOnDelivery; } } else { for(var key in data["error"]) { // console.log(key); // console.log(data["error"][key]); document.getElementById('resArea').innerHTML = document.getElementById('resArea').innerHTML+'Код ошибки: ' + data["error"][key].code + '<br />Текст ошибки: ' + data["error"][key].text + '<br /><br />'; } } } }); return false; }); }); </script> Изменено 14 марта, 2016 пользователем Джойстик Цитата Ссылка на сообщение Поделиться на другие сайты
Джойстик Опубликовано 26 марта, 2016 Автор Жалоба Поделиться Опубликовано 26 марта, 2016 Не, фреймы не устраивают категорически после теста.Неужели местные гуру не знают, как вставить код, если спецсимволы режутся? Неужели нет хука какого? Цитата Ссылка на сообщение Поделиться на другие сайты
yr4ik Опубликовано 26 марта, 2016 Жалоба Поделиться Опубликовано 26 марта, 2016 можете через http://forum.simplacms.ru/topic/10939-виджеты-для-simpla/#entry84135 1) Устанавливаете дополнение2) Создаете tpl в шаблоне например xxx.tpl с нужным содержимым 3) В тексте страницы где нужно вывести (в админке) пишите: [widget name=tpl tpl=xxx.tpl] 4) Далее делаете что нужно в xxx.tpl Цитата Ссылка на сообщение Поделиться на другие сайты
Джойстик Опубликовано 28 марта, 2016 Автор Жалоба Поделиться Опубликовано 28 марта, 2016 (изменено) можете через http://forum.simplacms.ru/topic/10939-виджеты-для-simpla/#entry84135 1) Устанавливаете дополнение2) Создаете tpl в шаблоне например xxx.tpl с нужным содержимым 3) В тексте страницы где нужно вывести (в админке) пишите: [widget name=tpl tpl=xxx.tpl] 4) Далее делаете что нужно в xxx.tpl Нет друг, не подключаются скрипты.Не исключаю, что я с кудрявыми руками. Я так то не по этой теме. Интересующийся.Попробуй сам.Но если брать по логике, то тот же shopscript на смарти, но видел, что вставляется легко.calc_deliv_cdek_js.zip Изменено 28 марта, 2016 пользователем Джойстик Цитата Ссылка на сообщение Поделиться на другие сайты
Kors Опубликовано 28 марта, 2016 Жалоба Поделиться Опубликовано 28 марта, 2016 В принципе не работает автокомплит...Надо выяснять не "в принципе", а ТОЧНО проверять детально все действия внутри скрипта, где не работает, почему, и затем исправлять. А методом тыка можно тянуть время долго и безрезультатно. Если бы Вы выложили ссылку на страницу с ошибкой, может, быстрее бы полезный совет получили... Цитата Ссылка на сообщение Поделиться на другие сайты
yr4ik Опубликовано 28 марта, 2016 Жалоба Поделиться Опубликовано 28 марта, 2016 Что бы нормально сделать - скорее всего вам придется обращаться за платной помощью.Бесплатно вряд ли кто сделает нормально На стандартном шаблоне тут конфликт jquery autocomplete. + нужно читать апи доставки. Скорее всего что еще не так с параметрами http://tmp.pp.ua/dostavkatest.zip Цитата Ссылка на сообщение Поделиться на другие сайты
Джойстик Опубликовано 28 марта, 2016 Автор Жалоба Поделиться Опубликовано 28 марта, 2016 Надо выяснять не "в принципе", а ТОЧНО проверять детально все действия внутри скрипта, где не работает, почему, и затем исправлять.А методом тыка можно тянуть время долго и безрезультатно.Если бы Вы выложили ссылку на страницу с ошибкой, может, быстрее бы полезный совет получили...Ссылка на локалхосте. Сам скрипт отдельно работает. Не работает внутри симплы.Так то я бы выносил голову разработчику скрипта. Цитата Ссылка на сообщение Поделиться на другие сайты
Джойстик Опубликовано 28 марта, 2016 Автор Жалоба Поделиться Опубликовано 28 марта, 2016 Что бы нормально сделать - скорее всего вам придется обращаться за платной помощью.Бесплатно вряд ли кто сделает нормально На стандартном шаблоне тут конфликт jquery autocomplete. + нужно читать апи доставки. Скорее всего что еще не так с параметрами http://tmp.pp.ua/dostavkaДа параметры дело второе. Там же включено показывать передаваемые параметры. Это все настраиваемо. Вес, отправитель. Это потом.Комплит тоже получает по API список городов. А он их не получает. Цитата Ссылка на сообщение Поделиться на другие сайты
Kors Опубликовано 28 марта, 2016 Жалоба Поделиться Опубликовано 28 марта, 2016 Ссылка на локалхосте. Сам скрипт отдельно работает. Не работает внутри симплы. Почини мне то, не скажу что...Ну что же, продолжайте делать из простого вопроса сложный, у Вас это хорошо получается.... Цитата Ссылка на сообщение Поделиться на другие сайты
Джойстик Опубликовано 28 марта, 2016 Автор Жалоба Поделиться Опубликовано 28 марта, 2016 (изменено) Почини мне то, не скажу что...Ну что же, продолжайте делать из простого вопроса сложный, у Вас это хорошо получается....Вот за что люблю около IT публику, так они всегда важнее всех остальных. сарказм.Если скрипт не работает, то смысл его подключать в рабочий сайт?Я могу сделать дамп сайта и опубликовать на другом хосте, если в теме архива со скриптом недостаточно. Изменено 28 марта, 2016 пользователем Джойстик Цитата Ссылка на сообщение Поделиться на другие сайты
yr4ik Опубликовано 28 марта, 2016 Жалоба Поделиться Опубликовано 28 марта, 2016 Да параметры дело второе. Там же включено показывать передаваемые параметры. Это все настраиваемо. Вес, отправитель. Это потом.Комплит тоже получает по API список городов. А он их не получает. Я ж вам дал пример где уже работает получение города https://yadi.sk/i/ShQAhhaOqYCG3Просто сказал что нужно будет еще разобраться с параметрами и убрать конфликт плагинов (если в шаблоне подключен стандартный скрипт автозаполнения поиска) Не пойму в чем загвоздка теперь? Цитата Ссылка на сообщение Поделиться на другие сайты
Джойстик Опубликовано 28 марта, 2016 Автор Жалоба Поделиться Опубликовано 28 марта, 2016 Я ж вам дал пример где уже работает получение города https://yadi.sk/i/ShQAhhaOqYCG3Просто сказал что нужно будет еще разобраться с параметрами и убрать конфликт плагинов (если в шаблоне подключен стандартный скрипт автозаполнения поиска) Не пойму в чем загвоздка теперь? Каюсь, после слов "конфликт jquery" подумалось о нерабочем.Да, кстати, автозаполнение есть. Так он с ним конфликтует? Цитата Ссылка на сообщение Поделиться на другие сайты
Kors Опубликовано 28 марта, 2016 Жалоба Поделиться Опубликовано 28 марта, 2016 Если скрипт не работает, то смысл его подключать в рабочий сайт? Я могу сделать дамп сайта и опубликовать на другом хосте, если в теме архива со скриптом недостаточно.Так сделайте, опубликуйте и дайте ссылку... Цитата Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.