Вроде с виду простая задача, но не получается сделать.
27.12.2020 15:50:06
Вроде с виду простая задача, но не получается сделать.
|
|
|
|
27.12.2020 16:03:54
Ел котят на морозе, можно просто писать о том что не получается, а можно:
1) Почитать документацию по Bitrix Framework. Почитать что такое страница: Узнать что такое компоненты: Почитать про кастомизацию компонентов: Наткнуться на кеширование и почитать про его работу: 2) После пункта 1, у вас появится более-менее структурированный вопрос, основанный на конкретике: делаю {1 + 2 + 3} получаю { 456 }, ожидаю {6}. Этот вопрос можно погуглить и уже после этого задать на форуме. Возможно, мой ответ может показаться вам бессмысленным или оскорбительным, в таком случае можете просто проигнорировать это сообщение (нет нужны на него отвечать или писать что-то в догонку).
Голосуй за идеи по развитию API Bitrix:
|
|
|
|
27.12.2020 16:44:14
Я так понял, документация не соответствует действительности. И сам с собой там разговариваю, никто ничего не пишет, ни да, ни нет. |
|||
|
|
27.12.2020 17:42:47
Не вижу несоответствия. Там же написано: "для подсчета", а не для фильтрации самой выборки.
Если бы вы Ядро продукта - файлы, находящиеся в директории /bitrix/modules/ а так же файлы системных компонентов: /bitrix/components/bitrix/. Т.е. ваше решение сразу становится не поддерживаемый и как следствие не эффективным (хоть и решают исходную задачу).
Нельзя, потому что у вас нет "нарезанному на страницы навигации массиву с элементами". GetList формирует запрос в MySQL и получает результат выполнения запроса и в нем уже только эта страница. Легитимный вариант - при выводе на страницу проверять либо номер текущей страницы, либо другие параметры запроса.
Голосуй за идеи по развитию API Bitrix:
|
|||||||
|
|
27.12.2020 18:51:12
|
|||
|
|
27.12.2020 21:37:10
Ел котят на морозе, правильно ли я понимаю суть задачи: у вас есть инфоблок (предположим в нем 100 статей) и вы хотите вывести постраничную навигацию для него (по 10 элементов на страницу). Таким образом у вас будет 10 страниц по 10 элементов на каждой. Далее вы хотите добавить еще 1 элемент, который хотите вывести вначало таким образом, чтобы на первой странице было 9 элементов, а на последующих до 10.
Т.е.: 1 страница: спец.элемент + 9 обычный 2-10 страница: 10 обычных 11 страница: 1 элемент. Я вижу несколько вариантов решения данной ситуации: 1) Написание своего компонента для контроля над номером выводимой страницы и количеством элементов на этой странице. Это потребует достаточно широких познаний в области постраничной навигации, кешировании. 2) Добавление нового поля 'типа элемента' (для того чтобы отделить особый элемент от других) и созданием технического элемента. Это довольно простой и прямолинейный способ решить задачу без сильной кастомизации.
Голосуй за идеи по развитию API Bitrix:
|
|
|
|
28.12.2020 12:17:30
Спасибо за консультацию. Понял, что нормально почти не сделать, оставлю свой вариант.
|
|
|
|
28.12.2020 15:56:31
Задача описана не сильно точно, поскольку, чтобы элемент показывался в определенном разделе, надо лишь у этого элемента в редактировании выбрать нужный раздел.
В задаче есть также условие, что такой элемент должен выводиться первым на странице раздела. И также таких элементов может быть несколько. В итоге задача получается: как добавить определенному элементу сортировку, которая будет применяться, если элемент находится в определенном разделе. |
||||
|
|
|||