Только так и удалось исправить.
23.08.2017 14:57:11
Доброго времени суток!
Подскажите, а этот код должен в компоненте оформления заказа (bitrix::sale.order.ajax) выводить сверху текст ошибки? [QUOTE]Александр Воробьев написал: if (!$order instanceof \Bitrix\Sale\Order) { return new \Bitrix\Main\EventResult( \Bitrix\Main\EventResult::ERROR, new \Bitrix\Sale\ResultError('Неверный объект заказа', 'SALE_EVENT_WRONG_ORDER'), 'sale' ); } [/QUOTE] |
|
|
16.11.2016 20:42:09
[QUOTE]Vadim Dumbravanu написал:
Возможно, поможет этот материал: [URL=http://dev.1c-bitrix.ru/learning/course/index.php?COURSE_ID=43&LESSON_ID=2741]http://dev.1c-bitrix.ru/learning/course/index.php?COURSE_ID=43&LESSON_ID=2741[/URL] [/QUOTE] Спасибо! Направление интересное. Только bitrix.highloadblock.list пока похоже не поддерживает новую пагинацию. В компоненте так и написано: [CODE]// limit $limit = array( 'nPageSize' => $arParams['ROWS_PER_PAGE'], 'iNumPage' => is_set($_GET['PAGEN_1']) ? $_GET['PAGEN_1'] : 1, 'bShowAll' => true );[/CODE]ни ЧПУ, ни параметр с page-<n> он не понимает. Пришлось немного переделать шаблон, добавить в result_modifier.php обработку параметра страницы и в целом заработало. Одно радует, теперь не нужно выбирать все записи для того, чтобы построить постраничную навигацию. |
|
|
15.11.2016 22:12:40
[QUOTE]Андрей Чурсин написал:
Для желающих добавить к результирующему массиву постраничную..[QUOTE] [URL=https://dev.1c-bitrix.ru/api_help/main/reference/cdbresult/navstart.php]https://dev.1c-bitrix.ru/api_help/main/reference/cdbresult/navstart.php[/URL] [/QUOTE] [CODE] // Создаем сортировку if($arParams["ROWS_PER_PAGE"]){ $rs_ObjectList = new CDBResult; $rs_ObjectList->InitFromArray($arResult['rows']); $rs_ObjectList->NavStart($arParams["ROWS_PER_PAGE"],true); $arResult["NAV_STRING"] = $rs_ObjectList->GetPageNavString("", '.default'); $arResult["PAGE_START"] = $rs_ObjectList->SelectedRowsCount() - ($rs_ObjectList->NavPageNomer - 1) * $rs_ObjectList->NavPageSize; unset($arResult['rows']); while($ar_Field = $rs_ObjectList->Fetch()){ $arResult['rows'][] = $ar_Field; } } [/CODE][/QUOTE] Пока, что лучший результат который встречал. Единственный минус, на любой странице все равно нужно выбрать все элементы Highload блока и потом разбивать их на страницы. Спасибо автору, пока жду ответа от ТП Битркис буду использовать этот способ. |
|
|
15.11.2016 22:10:00
[QUOTE]Alexes написал:
$main_query = new Entity\Query($entity); $main_query->setSelect(array('*')); $main_query->setOrder(array($sort_id => $sort_type)); //$main_query->setSelect($select) // ->setFilter($arFilter) // ->setGroup($group) // ->setOrder($order) // ->setOptions($options);$result = $main_query->exec(); $result = new CDBResult($result); $result->NavStart($arParams['ROWS_PER_PAGE']); // делим на страницы while ($row = $result->Fetch()){ echo "<pre>"; print_r($row); echo "</pre>"; } $arResult['NAV_STRING'] = $result->GetPageNavStringEx($navComponentObject, '', $arParams["PAGER_TEMPLATE"], 'N');$arResult["NAV_CACHED_DATA"] = $navComponentObject->GetTemplateCachedData(); $arResult["NAV_RESULT"] = $result;[/QUOTE] Такой подход не работает. В итоге выводится только одна страница без ссылок на следующие. |
|
|