Ничего не найдено
Быстрый старт
CSS
Компоненты
Меню
Динамическое содержимое
SEO-паук
Социальные теги
Прочее
Установка
Категории v3
Категории v3: типы свойств

Работа со списком

При получении списка есть ряд полезных методов для работы с ним.

Группировка

Для группировки есть метод getGroupped().

Можно группировать по нескольким полям.

Трансформация в массив

Не используйте данный способ для генерации страниц на сайте. Данный способ нужен для передачи данных в какую-то внешнюю среду (например в UI от API).

В ответе будет

Array
(
    [0] => Array
        (
            [name] => Тест новость
            [photo] => Array
                (
                    [path] => /upload/dynamic/2024-04/01/cats-pyramyd-00fcb056-eddb6021.jpg
                    [evapreview] => /autoresize/rs.evapreview/upload/dynamic/2024-04/01/cats-pyramyd-00fcb056-eddb6021.jpg
                    [real] => /upload/dynamic/2024-04/01/cats-pyramyd-00fcb056-eddb6021.jpg
                    [same_file] => 
                )

            [type] => 1
            [id] => 1
            [type_model] => Array
                (
                    [name] => Новость
                    [system] => Array
                        (
                            [name] => Новость
                            [img] => 
                        )

                )

            [system] => Array
                (
                    [name] => Тест новость
                    [img] => 
                )

        )
)

Получение «сырых» данных из списка

Сырые данные необходимы для двух целей:

  • Посмотреть каким образом названы поля в выборке, чтоб построить по ним фильтр или сортировку
  • Передать данные куда-то еще, чтоб там можно было создать объект типа список (данный метод используется при передачи данных в компонент)

Для получения сырых данных используйте метод getRawData.

В ответе будет:

Array
(
    [0] => Array
        (
            [name] => Тест новость
            [date] => 2024-04-12 00:00:00
            [photo] => /upload/dynamic/2024-04/01/cats-pyramyd-00fcb056-eddb6021.jpg
            [type] => 1
            [counter] => 11
            [detail_text] => ...
            [id] => 1
            [created_by] => 1
            [modified_by] => 1
            [created_time] => 2024-04-01 07:32:41
            [modified_time] => 2024-04-03 09:30:00
            [photo__width] => 1024
            [photo__height] => 1024
            [photo__size] => 305159
            [photo__description] => 
            [address__index] => 
            [address__country] => Россия
            [address__town] => Москва
            [address__street] => Янгеля
            [address__house] => 8
            [address__housing] => 3
            [address__building] => 
            [address__flat] => 999
            [address__office] => 
            [address__floor] => 5
            [address__entrance] => 6
            [address__street_address] => 
            [address__post_address] => Россия, Москва, Янгеля, д. 8, корпус 3, кв. 999
            [address__full_address] => Россия, Москва, Янгеля, д. 8, корпус 3, кв. 999, этаж 5, подъезд 6
            [address__short_address] => Янгеля, д. 8, корпус 3
            [address__map__lat] => 55.7410278747
            [address__map__lng] => 37.5910945440
            [legal__inn] => 7703728082
            [legal__kpp] => 770301001
            [legal__bank_name] => ПАО Сбербанк г. Москва
            [legal__bank_ks] => 30101810400000000225
            [legal__rs] => 40702810038170015826
            [legal__bank_bik] => 044525225
            [legal__name] => ООО "АПРИВЕР"
            [legal__ogrn] => 123123123
        )

)

Пример формирования объекта списка из сырых данных:

Построение постраничной навигации

Для этого в блендер нужно передать параметры постраничной навигации, используя методы setItemsPerPagegeneratePages и setPage . После чего вызвать метод getPages() у объекта со списком.

В ответе будет:

Array
(
    [rows] => 2
    [pages] => 2
    [page] => 1
    [next_page] => 2
    [prev_page] => 0
    [next_page_url] => /test.php?page=2
    [next_page_append_memory] => {"page":"2"}
    [links] => Array
        (
            [0] => Array
                (
                    [page] => 1
                    [sel] => 1
                    [append_memory] => {"page":"1"}
                    [url] => /test.php
                )

            [1] => Array
                (
                    [page] => 2
                    [sel] => 0
                    [append_memory] => {"page":"2"}
                    [url] => /test.php?page=2
                )

        )

)