Максим

Максим

С нами с 19 января 2017; Место в рейтинге пользователей: #438
05 ноября 2017, 05:42
0
Доброго времени суток! Вывожу форму отправки прям на странице сайта. Как можно реализовать сообщение об успешной отправке вместо самой формы? т.е див с формой чтоб заменился дивом с сообщением?
16 октября 2017, 19:56
0
Спасибо! А может возможно как то проще сделать через pdoPage?
26 сентября 2017, 23:20
0
Да это понятно. У меня есть другая мысль. pdoResources подтягивать ресурсы с условием сегодняшняя дата больше чем у анонса или нет. Остается вопрос как это условие прописать.
Хотя конечно это не много костыльный метод
07 июля 2017, 16:54
0
А где это исправить?
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:45
0
спасибо!!!
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>