Максим

Максим

С нами с 19 января 2017; Место в рейтинге пользователей: #462
Максим
05 ноября 2017, 05:42
0
Доброго времени суток! Вывожу форму отправки прям на странице сайта. Как можно реализовать сообщение об успешной отправке вместо самой формы? т.е див с формой чтоб заменился дивом с сообщением?
Максим
16 октября 2017, 19:56
0
Спасибо! А может возможно как то проще сделать через pdoPage?
Максим
26 сентября 2017, 23:20
0
Да это понятно. У меня есть другая мысль. pdoResources подтягивать ресурсы с условием сегодняшняя дата больше чем у анонса или нет. Остается вопрос как это условие прописать.
Хотя конечно это не много костыльный метод
Максим
28 марта 2017, 19:07
0
а можно вопрос. Этот файл откуда брать?
$(document).ready(function() {
	//вынесем параметр времени последней анимации в глобальную переменную, так как в противном случае при повторном запросе (например, при быстром переключении фильтров) не будет учитываться то, закончилась ли предыдущая анимация или нет.
	var last_animation_time = 0;

	//расширяем набор передаваемых значений в функцию, на случай, если потребуется отключить анимацию для определенных событий
	//(например подгрузка результатов скроллом)
	mSearch2.load = function (params, callback, animation) {
		if (!params || !Object.keys(params).length) {
			params = this.getFilters();
		}
		params.action = 'filter';
		params.pageId = mse2Config.pageId;

		this.beforeLoad();
		params.key = mse2Config.key;
		
		//по-умолчанию анимация всегда будет срабатывать, если ее не запретить
		var effects = '';

		if (animation == 'no-animation') {
			//теперь для отключения анимации достаточно передать в функцию mSearch2.load третий параметр 'no-animation'
			effects = 'no-animation';
		}
		else {
			last_animation_time = $.now();
			//если название ваших классов отличается от приведенных выше, то здесь их необходимо заменить
			$(this.options['results']).removeClass('fade-out').addClass('fade-in');
		}
		
		$.post(mse2Config.actionUrl, params, function(response) {
			mSearch2.afterLoad();		

			if (response.success) {
				mSearch2.Message.success(response.message);
				mSearch2.pagination.html(response.data['pagination']);
				
				//В моем случае анимация появления/скрытия отличаются друг от друга, поэтому необходимо накладывать последующий эффект только после окончания предыдущего для избежания "мельтешения".	

				//Мы, конечно, могли бы просто затормозить процесс добавления результатов на длину времени анимации, но в таком случае пользователю придется дольше ждать, если фильтры отработают быстрее самой анимации. Так что считаем разницу:
				var animation_delay = 0;
				if (effects != 'no-animation') {
					var animation_time_left;
					
					animation_time_left = $.now() - last_animation_time;
					//если время воспроизведения вашей анимации отличается, то здесь необходимо указать актуальное значение
					if (animation_time_left >= 500) {
						animation_delay = 0;
					}
					else {
						animation_delay = 500 - animation_time_left;
					}
				}
				
				setTimeout(function(){
					mSearch2.results.html(response.data['results']);
				
					if (effects != 'no-animation') {
						$(mSearch2.options['results']).addClass('fade-out').removeClass('fade-in');
					}
					
					//добавим запрет на переключение фильтров до момента завершения анимации появления
					setTimeout(function(){
						$(mSearch2.options.filters + ' .' + mSearch2.options.disabled_class).prop('disabled', false).removeClass(mSearch2.options.disabled_class);
					}, 500);
				}, animation_delay);
				
				mSearch2.setTotal(response.data.total);
				if (callback && $.isFunction(callback)) {
					callback.call(this, response, params);
				}
				mSearch2.setSuggestions(response.data.suggestions);
				mSearch2.setEmptyFieldsets();
				if (response.data.log) {
					$('.mFilterLog').html(response.data.log);
				}
				$(document).trigger('mse2_load', response);
			}
			else {
				mSearch2.Message.error(response.message);
			}
		}, 'json');
		
	};
	
	//Так как мы вынесли процесс обновления доступности фильтров в наш таймер, необходимо убрать аналогичный фукнционал из afterLoad (там же уберем и эффект полупрозрачности):
	
	mSearch2.beforeLoad = function() {
		$(this.options.pagination_link).addClass(this.options.active_class);
		this.filters.find('input, select').prop('disabled', true).addClass(this.options.disabled_class);
	};
	
	mSearch2.afterLoad = function() {

	};
});
Максим
28 марта 2017, 11:03
0
странно ковычки походу тут поставились, забыл обернуть в тег code, а так у меня эти ковычки ""
а вообще есть разница между таким видом
[[!msProducts?&parents=`[[*id]]`&tpl=`price.tpl`&sortby=`{"Data.price":"ASC"}`]]
и таким
[[!msProducts?&parents=`[[*id]]`&tpl=`price.tpl`&sortby=`Data.size`&sortdir=`asc`]]
?
Максим
28 марта 2017, 09:19
0
Буду очень благодарен если поможете
Максим
24 марта 2017, 03:05
0
Можно место medium число поставить как было
Максим
20 марта 2017, 19:31
0
Дмитрий спасибо! буду разбираться! Если есть возможность напишите мне в вк vk.com/dsx90
Максим
20 марта 2017, 19:28
0
Спасибо!!! то что нужно!!!
Максим
20 марта 2017, 15:44
1
0
Спасибо! Очень хороший комментарий. Но я пока PHP только начинаю изучать и до плагинов и MODX API еще не дошел. Могли бы вы более детально написать как сделать с меню выбора контекстов?
А с TV полями атометки надо сбивать в бекенде а вот теги от дополнения TvSuperSelect уже во вронтенде
Максим
20 марта 2017, 09:53
0
проверь, ты все закрыл?
и плюс не в редакторе это наполнять надо а в ace
Максим
17 марта 2017, 15:08
0
Добрый день у меня на сайте уже созданы контексты, данное дополнение с ними работать будет?
2. Можно ли реализовать какой то сброс всех тв полей для каждого контекста?
К примеру у каждого города есть метро и районы если у менеджера в ТВ Автодополении будет районы всех городов то это крайне не удобно.
Так же на сайте реализованы теги, которые подобраны для определенного города и они высвечиваются во всех контекстах. Думаю суть проблемы понятна.
Максим
17 марта 2017, 10:13
0
Не много не понял, в шаблон писать именно таким образом? Просто у меня ничего не вывелось
Максим
15 марта 2017, 16:59
0
Да я вот пробовал 3 вариант, только с вкладками бутсрап. Все карточки сбивались кучу без картинок но появлялись при любых изменениях размера окна. Не нашел выход как бы это исправить. Думал может есть более изящный вариант
Максим
15 марта 2017, 11:11
+1
Добрый день! По какой то причине не работает Alias в пути сохранения и в названии файла.
Путь сохранения:

assets/images/novostroyki/{palias}/{alias}/

Префикс имени файла:

logo-{alias}-{i}{s}

Сохранятся так
assets/images/novostroyki/zao-stroitel/logo-0941.png
не могу понять в чем причина
Максим
14 марта 2017, 19:01
0
Вообще тебе бы в идеале переверстать шапку. Но можно сделать так)))
<div class="b-logo col-xs-5 col-sm-5 col-md-4" style="z-index: 10">

<a href="/" title="ПЛАСТПАКЕТ"><img src="_include/include/images/logo.png" alt="ПЛАСТПАКЕТ">   </a>
            </div>