Денис Усманов

Денис Усманов

С нами с 23 августа 2019; Место в рейтинге пользователей: #41
Денис Усманов
29 октября 2023, 11:53
0
[[!+modx.user.id:isloggedin:is=`1`:then=`
Если нет ЛК для обычных пользователей конечно…
Денис Усманов
28 октября 2023, 23:36
0
Быть такого не может, напиши мне в телеграм, помогу: denius_dev
Денис Усманов
28 октября 2023, 23:33
0
А есть надо что то показывать при пустой строке или 0, используй ещё 1 модификатор :default=`нет даты`
Денис Усманов
28 октября 2023, 23:31
0
А надо использовать и сниппет из ссылки, что я скинул, и strtotime
Денис Усманов
27 октября 2023, 15:16
0
Вызов msOrder как у меня, с! знаком? Т.е. всё не кешированное вызывается?
Денис Усманов
27 октября 2023, 14:18
0
Вот код чанка msOrder.tpl у меня:
Денис Усманов
27 октября 2023, 14:17
0
Ну вот же, я показал, что можно просто сделать модальное окно в модальном окне по сути, во 2 пункте у меня в коде посмотри, идёт вызов msOrder, где код опять же как модальное окно, а в корзине кнопка «оформить» это вызов этого модального окна… ну и с getOrder так же просто поступи…
Денис Усманов
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
Денис Усманов
23 октября 2023, 17:49
0
Засунуть в файл вряд-ли получится, так не передашь ID… вызывать в шаблоне страницы, где эта функция должна выполняться. Вызывается классом modalTrigger на кнопке необходимой, а выводится вызов в блоке с id modalAjax
Денис Усманов
23 октября 2023, 16:18
0
Простейший способ решения задачи: сделать запрашиваемый ресурс без шаблона.
Вот у меня скрипт 1 есть, мб поможет как:
$(document).on('click', '.modalTrigger', function(e) {
	e.preventDefault();
	$.ajax({  
	  type: "POST",  
	  url: '[[~ID]]', 
	  data: {parent: '[[*id]]'},
	  success:  function(data) { 
		if (data){
		    $('#modalAjax').html(data);
		}else{
		  AjaxForm.Message.error('Что-то пошло не так, попробуйте позже!');
		}
	  } 
	}); 
});
Денис Усманов
23 октября 2023, 15:58
0
Попробуйте не [[~ID]], а [[#ID.content]]
Денис Усманов
23 октября 2023, 07:06
0
Может плагин какой реагирует на поле какое этого шаблона, мб поле какое от компонента какое то особенное, может смайлики где… много факторов.
Денис Усманов
13 октября 2023, 11:23
0
В общем то, вроде надо у параметра:
&tplParentRow=`<li class="top-level__item"><a href="[[+link]]" class="top-level__link" [[+attributes]]>[[+pagetitle]]</a></li>[[+wrapper]]`

Добавить [[+classnames]]:
&tplParentRow=`<li class="top-level__item top-level__[[+classnames]]"><a href="[[+link]]" class="top-level__link" [[+attributes]]>[[+pagetitle]]</a></li>[[+wrapper]]`
Денис Усманов
13 октября 2023, 11:13
0
С выводом pdoMenu в целом, всё в порядке, дело в этом:


Попробовал сделать так:


И всё встало на свои места.