Всего 125 685 комментариев

Константин Ильин
10 декабря 2020, 22:50
0
Поясняю

var slider_demo2 = $('.slider_demo2');
var slider_demo1 = $('.slider_demo1');

эти две строчки как бы принимают объекты, но т.к. у вас из-за ajaxsnippet нет объектов $('.slider_demo2'); и $('.slider_demo1'); их физечески не существует при загрузке страницы, то переменные пусты или не объявлены. Соответственно, присвоение эти переменных должно происходить в as_complete, т.е. когда ajaxsnippet загрузит данные и в странице появится slider_demo2.

Более того ваше первое условие
if ($('.slider_demo2').length > 0) {

Говорит о том что если такого объекта slider_demo2 не существует, то не выполнять этот код.

Надеюсь тут все ясно станет.
Денис
10 декабря 2020, 21:49
0
Так выглядит вся инициализация главного слайдера и зависимого:

if ($('.slider_demo2').length > 0) {
            var slider_demo2 = $('.slider_demo2');
            var slider_demo1 = $('.slider_demo1');
			
			$(document).on('as_complete', document, function(e,d) {
				slider_demo2.slick({
					slidesToShow: 1,
					slidesToScroll: 1,
					arrows: false,
					fade: true,
					asNavFor: '.slider_demo1'
				});

			});
			
            slider_demo1.slick({
                slidesToShow: 7,
                slidesToScroll: 1,
                asNavFor: '.slider_demo2',
                dots: false,
                prevArrow: "<div class='slider_arrow arrow_left'><i class='fal fa-angle-left'></i></div>",
                nextArrow: "<div class='slider_arrow arrow_right'><i class='fal fa-angle-right'></i></div>",
                centerMode: true,
                focusOnSelect: true,
                responsive: [{
                    breakpoint: 10000,
                    settings: {
                        slidesToShow: 7,
                        slidesToScroll: 1,
                        infinite: true,
                    }
                }, {
                    breakpoint: 1300,
                    settings: {
                        slidesToShow: 6,
                        slidesToScroll: 1,
                        infinite: true,
                    }
                }, {
                    breakpoint: 1024,
                    settings: {
                        slidesToShow: 7,
                        slidesToScroll: 1,
                        infinite: true,
                    }
                }, {
                    breakpoint: 600,
                    settings: {
                        slidesToShow: 3,
                        slidesToScroll: 1
                    }
                }, {
                    breakpoint: 480,
                    settings: {
                        slidesToShow: 2,
                        slidesToScroll: 1
                    }
                }]
            });
        }
Alexey
10 декабря 2020, 21:02
0
Привет! Класс rows нужно дать тегу tbody, а не table-list
Aleksandr Huz
10 декабря 2020, 20:19
0
Нужно использовать магическое заклинание со своими рецептами. Думаю, что может помочь только Гарри Поттер.
Артур Шевченко
10 декабря 2020, 19:39
0
А чем именно он будет неудобен? Место в админке будет занимать)))
dokreg
10 декабря 2020, 19:24
0
Спасибо, буду пробовать, отдельный раздел просто будет неудобен, поэтому буду пробовать удалять из migx-массива
Артур Шевченко
10 декабря 2020, 19:06
+1
Если охота прям заморочиться, тогда
$tv = json_decode($resource->getTVValue('migxtvname'),1);
$tv['date'] = '';
$resource->setTVValue('migxtvname', json_encode($tv, JSON_UNESCAPED_UNICODE));
$resource->save();
Я написал на один элемент, вообще надо конечно в цикле, т.е. $tv это массив и по нему надо пройти в цикле и сравнивать даты и дальше по вашей логике, НО я бы просто сделал отдельный раздел с ресурсами и и использовал возможность автоматического снятия с публикации, на вкладке Настройки любого ресурса есть поле Дата отмены публикации.
Sergikovich
10 декабря 2020, 19:05
0
Возникла такая же проблема, получилось решить?
Константин Ильин
10 декабря 2020, 19:01
0
переменная slider_demo2 должна объявляется внутри этого кода, иначе slider_demo2 наверняка пустая.
dokreg
10 декабря 2020, 18:47
0
Нет, этот код затерет же все элементы MIGX, просто у меня есть migx-тв в котором находятся отзывы, одним из полей является поле с датой, например я выкладываю сразу 20 отзывов и заполняю дату их удаления, и они в запланированную дату удаляются из админки, соответственно и из фронтенда.
Alexey
10 декабря 2020, 18:25
0
Ошибки есть в консоли браузера?
Денис
10 декабря 2020, 18:08
0
К сожалению не помогло

$(document).on('as_complete', document, function(e,d) {
    slider_demo2.slick({
	slidesToShow: 1,
	slidesToScroll: 1,
	arrows: false,
	fade: true,
        asNavFor: '.slider_demo1'
    });
});
perfkirill
10 декабря 2020, 17:58
0
Да, точно, заработало))) Спасибо, в первый раз мне тут реально помогли)
Наумов Алексей
10 декабря 2020, 17:54
+1
В файле в formitform.map.inc.php, вы там изменения вносили, но в одном месте не дописали.
perfkirill
10 декабря 2020, 17:53
0
metadata.mysql.php

А разве он не возьмет схему, которую я поправил?
perfkirill
10 декабря 2020, 17:50
0
Подскажите где это?
Артур Шевченко
10 декабря 2020, 17:48
0
Опишите задачу, а не ваше решение, если хотите развернутый ответ. А так удалить значение TV можно просто его затерев
$resource->setTVValue('tvname', '');
$resource->save();
Наумов Алексей
10 декабря 2020, 17:45
0
В $xpdo_meta_map['FormItForm'] есть поле fields, как минимум туда image забыли добавить.
perfkirill
10 декабря 2020, 17:41
0
Естественно)) Да мне просто интересно как это вообще работает. Это не проект. Сижу уже часов 7 над этим, интересно)