Всего 123 801 комментарий

Денис Усманов
27 октября 2023, 15:16
0
Вызов msOrder как у меня, с! знаком? Т.е. всё не кешированное вызывается?
Игорь
27 октября 2023, 15:14
0
ну так и у меня практически также: в модальном окне корзины есть кнопка вызова модального окна заказа…
У тебя меняется стоимость доставки и общая сумма заказа в модальном окне? У меня нет
Денис Усманов
27 октября 2023, 14:18
0
Вот код чанка msOrder.tpl у меня:
Денис Усманов
27 октября 2023, 14:17
0
Ну вот же, я показал, что можно просто сделать модальное окно в модальном окне по сути, во 2 пункте у меня в коде посмотри, идёт вызов msOrder, где код опять же как модальное окно, а в корзине кнопка «оформить» это вызов этого модального окна… ну и с getOrder так же просто поступи…
Игорь
27 октября 2023, 14:15
0
Корзину-то в модалку я уже вывел (это по верстке отдельное окно) — там все работает хорошо (суммы меняются и т.п.)… А вот страница оформления заказа что-то не хочет подружиться с аяксом — стоимость доставки не подхватывается (на обычной странице все хорошо работает)
Денис Усманов
27 октября 2023, 14:02
0
Ну, а что бы как в моём случае после оформления заказа открывалась модалка с id (в конце скрина во 2 пункте) orderSuccess, необходимо изменить js файл MiniShop2:
assets/components/minishop2/js/web/default.js
Строки примерно такие:
callbacks.submit.response.success = function (response) {
                if (response.data['redirect']) {
                    document.location.href = response.data['redirect'];
                } 
                else if (response.data['msorder']) {
                    $('#msMiniCart').removeClass('full');
                    $('#miniCart').removeClass('open');
                    $('body').find('.global-overlay').removeClass('overlay-open');
                    $.fancybox.close([{
                          src  : '#msOrder'
                      }]);
                    $.fancybox.open([{
                          src  : '#orderSuccess',
                          padding: 0
                      }]);
                }
                else {
                    $.fancybox.open([{
                          src  : '#orderSuccess',
                          padding: 0
                      }]);
                }
            };
Денис Усманов
27 октября 2023, 13:49
0
1) Создаёшь ресурс без шалона со сниппетом msCart


2) В чанк (как моём случае customMiniCart) вкладываешь код самой корзины, сниппет msOrder и т.п., а так же доп. скрипты


3) На миникорзину вешаешь вызов модального окна, так же такой скрипт:

<script>
  $(document).on('click', '.msMiniCart', function(e) {
	e.preventDefault();
	$.ajax({  
	  type: "POST",  
	  url: '[[~ID ресурса созданного при 1 пункте]]', 
	  data: {parent: '[[*id]]'},
	  success:  function(data) { 
		if (data){
		    $('#miniCartContainer').html(data);
		    miniShop2.Order.initialize();
		}else{
		  AjaxForm.Message.error('Что-то пошло не так, попробуйте позже!');
		}
	  } 
	}); 
  });
</script>
#miniCartContainer — это то, что должно быть в модальном окне, куда будет подгружаться корзина

Ну и напоследок: Для динамического изменения кол. товаров и при чём корректного, я использую компонент msMiniCartDynamic
Евгений
27 октября 2023, 12:56
0
MODX Revolution 2.8.5-pl
Не работает плагин, настроил всё правильно, отображает на поддомене просто главную страницу
Дима
27 октября 2023, 12:09
0
MODX Revolution 2.8.5-pl
Дима
27 октября 2023, 12:09
0
да, пробовали
Игорь
27 октября 2023, 11:36
0
Здравствуйте.
Вы нашли решение?
Николай Савин
26 октября 2023, 19:28
0
Я имел в виду как раз после неудавшейся установки свежей версии, пробовали ее установить еще раз?
Дима
26 октября 2023, 18:53
0
Какое точно рабочее окружение используете?
использовали php 7.4 + apache + MySQL-8.0.34. Сам сервер на убунту. Подскажите, пожалуйста, это достаточно подробно, или нужны конкретные настройки?
Дима
26 октября 2023, 18:49
0
Пробовали повторную установку MiniShop2?
да, у нас была старая версия, мы начали её обновлять на тесте. После чего старая версия стёрлась, а новая не установилась.
Дима
26 октября 2023, 18:48
0
без обновления копия работает, но в каталоге нет привью
Николай Савин
26 октября 2023, 18:37
0
А без обновления эта копия работает? Никаких проблем нет?
Пробовали повторную установку MiniShop2?
Какое точно рабочее окружение используете?
Олег Захаров
26 октября 2023, 17:47
0
Да и код заработал не сразу, а через 15 минут как указано в https://yandex.ru/dev/geosuggest/doc/ru/quickstart.
В первые моменты выводило ошибку доступа на
Access to XMLHttpRequest at 'https://suggest-maps.yandex.ru/v1/suggest?... from origin ... has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on
Олег Захаров
26 октября 2023, 17:43
0
Разобрался в чем была проблема. Автору дополнения надо учесть это.
Яндекс API изменилось.
Теперь помимо основного ключа Api в случае если на сайте используется поисковые подсказки (что в дополнении реализовано при вводе адреса доставки строка поиска suggestview и выводит всплывающими подсказками варианты адресов) — то надо подключить API Геосаджеста.
Ответ от Разработчиков (повторю здесь есть на просторах тырнета):
Теперь все обращения к Геосаджесту требуют ключа от этого сервиса, включая все подсказки в JavaScript API (SuggestView, поисковая строка, панель маршрутов). Подробней это описано на страницах используемых методов.

Чтобы использовать саджест в JS API:

Получите ключ для саджеста через личный кабинет.
Укажите его при подключении JS API в формате
https://api-maps.yandex.ru/2.1/?lang=ru_RU&apikey=<ваш ключ для JS API>&suggest_apikey=<ваш ключ для Suggest API>
.
Угловые скобки вокруг полученного в кабинете разработчика ключа оставлять не надо.
Я добавил в кабинете разработчика ключ API Геосаджеста, добавил его в у себя на сайте.
А именно:
1. У меня подключение к API-карт продублировано в head перед подключением метрики, т.к. были проблемы с кодом метрики, конфликтовал. Не ставить код яндекс.карт рядом с кодом Яндекс.Метрики — замечена ошибка работы карт если код карт ставить рядом с кодом метрики. Также код ниже указан с apikey т.к. замечено что иногда код не подхватывается на мобильных устройствах — судя по справкам и анализу ошибок это связано с тем что в некоторых случаях браузер из-за низкой скорости интернета в основном на мобильных устройствах блокирует работу скриптов для ускорения.
<script src="https://api-maps.yandex.ru/2.1/?apikey=ваш_ключ_для_JS_API&suggest_apikey=ваш_ключ_для_Suggest_API&lang=ru_RU&mode=debug&load=package.full&onload=mscDistance.Ymaps.ready&ns=ymaps" type="text/javascript">
    </script>
2. apikey должны быть также указаны в assets/components/mscdistance/js/web/default.js:
if (!window.ymaps) {
	document.writeln('<script src="' +
		'https://api-maps.yandex.ru/2.1/?' +
		'lang=ru_RU' +
		'&mode=debug' +
		'&load=package.full' +
		'&onload=mscDistance.Ymaps.ready' +
		'&ns=ymaps' +
		'&apikey=ваш_ключ_для_JS_API' +
		'&suggest_apikey=ваш_ключ_для_Suggest_API' +
		'"><\/script>');
}
Олег Захаров
26 октября 2023, 15:36
0
Разобрался сам, расписал ниже.