1 Востаннє редагувалося mutio43 (27.02.2020 18:29:07)

Тема: Слайдер в вайбері

Є масив обєктів:

oList = [{
    img_url: "Тест1",
    name: "Тест1"
    
}, {
    img_url: "Тест2",
    name: "Тест2"
}];

Пробую вивести його в слайдер(каруселька) у вайбері.
Ось так:

for (var i = 0; i < data.oList.length; i++) {
    data.oName = data.oList[i].name;
    data.oImg = data.ooList[i].img_url;
    data.slider = {
        Type: "rich_media",
        ButtonsGroupColumns: 6,
        ButtonsGroupRows: 5,
        BgColor: "#FFFFFF",
        Buttons: [{
                Columns: 6,
                Rows: 3,
                ActionType: "none",
                ActionBody: "none",
                Text: "",
                TextSize: "regular",
                TextVAlign: "center",
                Image: data.oImg,
                TextHAlign: "left"
            },
            {
                Columns: 6,
                Rows: 1,
                Text: data.oName,
                ActionType: "reply",
                ActionBody: "end_dialog",
                TextSize: data.t_size,
                TextVAlign: "middle",
                TextHAlign: "middle",
                BgColor: data.bgc
            }
        ]
    };
}

Виводить тільки остатній обєкт. Як вивести всі?
Велике прохання допомогти аматору.

2 Востаннє редагувалося koala (27.02.2020 18:29:20)

Re: Слайдер в вайбері

Гадки не маю, як воно там у Вайбері влаштовано, і не люблю JS, але ви ось тут

for (var i = 0; i < data.oList.length; i++) {
    ...
    data.slider = {  //<------ ось тут
    ...
    }
}

в циклі перезаписуєте значення data.slider. А якщо вам треба, щоб там було кілька різних об'єктів, то, мабуть, слід зібрати їх у масив, якось так:

    data.slider.push({
    ...
    });

Якщо data.slider перед цим не існував, то його слід створити перед циклом:

data.slider = [];
Подякували: mutio43, leofun01, bebyk3