HooLIGUN Опубликовано 10 января, 2021 Поделиться Опубликовано 10 января, 2021 Может кто нибудь знает, где раздобыть код системной пагинации? Хочу использовать ее на отдельной странице,в блоке Нашел что то похожее на то, но как это использовать?) Есть где нибудь описание параметров? <div data-role="tablePagination"> {template="pagination" group="global" app="core" location="global" params="$table->baseUrl, $table->pages, $table->page, $table->limit, TRUE, $table->getPaginationKey()"} </div> Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
HooLIGUN Опубликовано 10 января, 2021 Автор Поделиться Опубликовано 10 января, 2021 Вставил $baseUrl = 'https://site.ru/list/'; $pages = 20; $activePage=1; $perPage=10; $ajax=TRUE; $pageParam='st'; В логах ошибка Error: Call to a member function setPage() on string in /var/www/dev/data/www/site.ru/system/Theme/Theme.php(860) : eval()'d code:3322 Stack trace: #0 /var/www/dev/data/www/site.ru/system/Theme/SandboxedTemplate.php(61): IPS\Theme\class_core_global_global->pagination('https://site.r...', 20, 1, 10, true, 'st') #1 /var/www/dev/data/www/site.ru/system/Theme/Theme.php(4465) : eval()'d code(961): IPS\Theme\_SandboxedTemplate->__call('pagination', Array) #2 /var/www/dev/data/www/site.ru/applications/cms/sources/Blocks/Block.php(217): IPS\Theme\content_blocks_1() #3 /var/www/dev/data/www/site.ru/applications/cms/widgets/Blocks.php(143): IPS\cms\Blocks\_Block::display(Object(IPS\cms\Blocks\Block), 'horizontal') #4 /var/www/dev/data/www/site.ru/system/Widget/Widget.php(833): IPS\cms\widgets\_Blocks->render() #5 /var/www/dev/data/www/site.ru/system/Widget/Widget.php(858): IPS\_Widget->_render() #6 /var/www/dev/data/www/site.ru/system/Theme/Theme.php(860) : eval()'d code(17159): IPS\_Widget->__toString() #7 /var/www/dev/data/www/site.ru/system/Theme/SandboxedTemplate.php(61): IPS\Theme\class_core_front_global->widgetContainer('header', 'horizontal') #8 /var/www/dev/data/www/site.ru/system/Theme/Theme.php(860) : eval()'d code(6502): IPS\Theme\_SandboxedTemplate->__call('widgetContainer', Array) #9 /var/www/dev/data/www/site.ru/system/Theme/SandboxedTemplate.php(61): IPS\Theme\class_core_front_global->globalTemplate('472f5b574780d17...', '\n<div id="elCms...', Array) #10 /var/www/dev/data/www/site.ru/system/Dispatcher/Dispatcher.php(172): IPS\Theme\_SandboxedTemplate->__call('globalTemplate', Array) #11 /var/www/dev/data/www/site.ru/system/Dispatcher/Standard.php(113): IPS\_Dispatcher->finish() #12 /var/www/dev/data/www/site.ru/system/Dispatcher/Front.php(640): IPS\Dispatcher\_Standard->finish() #13 /var/www/dev/data/www/site.ru/system/Dispatcher/Dispatcher.php(154): IPS\Dispatcher\_Front->finish() #14 /var/www/dev/data/www/site.ru/index.php(13): IPS\_Dispatcher->run() #15 {main}Error: Call to a member function setPage() on null in /var/www/dev/data/www/.ru/system/Theme/Theme.php(860) : eval()'d code:3322 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
accop Опубликовано 10 января, 2021 Поделиться Опубликовано 10 января, 2021 HooLIGUN 2 часа назад, HooLIGUN сказал: $baseUrl = 'https://site.ru/list/'; $pages = 20; $activePage=1; $perPage=10; $ajax=TRUE; $pageParam='st'; это вы объект заменили на константы? Такие фокусы не прокатят. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
HooLIGUN Опубликовано 10 января, 2021 Автор Поделиться Опубликовано 10 января, 2021 accop Как быть? Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
accop Опубликовано 10 января, 2021 Поделиться Опубликовано 10 января, 2021 HooLIGUN а где собираетесь использовать пагинацию? я боюсь, что придётся писать огромный гайд для тебя, если я думаю о том, что ты собираешься сделать Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
HooLIGUN Опубликовано 10 января, 2021 Автор Поделиться Опубликовано 10 января, 2021 accop в блоках У меня пагинация рабочая уже есть, но мне не нравится ее реализация. Хочу адаптировать под ips лимиты, кол-во страниц и все остальные переменные уже есть Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
accop Опубликовано 10 января, 2021 Поделиться Опубликовано 10 января, 2021 HooLIGUN в каких блоках? ничего пока не понимаю Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
HooLIGUN Опубликовано 10 января, 2021 Автор Поделиться Опубликовано 10 января, 2021 accop Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
accop Опубликовано 10 января, 2021 Поделиться Опубликовано 10 января, 2021 HooLIGUN Всё очень плохо. Через встроенную пагинацию вы это точно не сделаете - без шансов. Либо это нормально подключать через плагин, приложение или CMS база данных (страницы > Базы данных) и там уже она будет (кроме вроде плагина, в плагинах кажется нет этих штук) Либо использовать магию JS фреймворка ReactJS - если вам надо SPA. Либо смериться и сделать просто дизайн как в встроенной пагинации и всё. (Можно посыпать магией JS, чтобы был AJAX) Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Silence Опубликовано 11 января, 2021 Поделиться Опубликовано 11 января, 2021 Или просто измеите и использовать ето код {{$firstPage = $baseUrl->setPage( $pageParam );}} {{if $activePage > 1 || $pages > 1}} {{$uniqId = mt_rand();}} <ul class='ipsPagination' id='elPagination_{expression="md5($baseUrl)"}_{$uniqId}' data-ipsPagination-seoPagination='{{if $firstPage->seoPagination}}true{{else}}false{{endif}}' data-pages='{$pages}' {{if $ajax and ( theme.ajax_pagination or \IPS\Request::i()->isAjax())}}data-ipsPagination {{if $pageParam != 'page'}}data-ipsPagination-pageParam='{$pageParam}'{{endif}} data-ipsPagination-pages="{$pages}" data-ipsPagination-perPage='{$perPage}'{{endif}}> {{if $simple}} {{if $activePage > 1}} <li class='ipsPagination_prev'><a href='{$baseUrl->setPage( $pageParam, $activePage - 1 )}' rel="prev" data-page='{expression="$activePage - 1"}' data-ipsTooltip title='{lang="prev_page"}'>{lang="prev"}</a></li> {{endif}} {{if $activePage < $pages}} <li class='ipsPagination_next'><a href='{$baseUrl->setPage( $pageParam, $activePage + 1 )}' rel="next" data-page='{expression="$activePage + 1"}' data-ipsTooltip title='{lang="next_page"}'>{lang="next"}</a></li> {{endif}} {{else}} {{if $activePage != 1}} <li class='ipsPagination_first'><a href='{$firstPage}' rel="first" data-page='1' data-ipsTooltip title='{lang="first_page"}'><i class='fa fa-angle-double-left'></i></a></li> <li class='ipsPagination_prev'><a href='{$baseUrl->setPage( $pageParam, $activePage - 1 )}' rel="prev" data-page='{expression="$activePage - 1"}' data-ipsTooltip title='{lang="prev_page"}'>{lang="prev"}</a></li> {{foreach range( ( ( $activePage - 5 ) > 0 ) ? ( $activePage - 5 ) : 1, $activePage - 1 ) as $idx => $i}} <li class='ipsPagination_page'><a href='{$baseUrl->setPage( $pageParam, $i )}' data-page='{$i}'>{$i}</a></li> {{endforeach}} {{else}} <li class='ipsPagination_first ipsPagination_inactive'><a href='{$firstPage}' rel="first" data-page='1' data-ipsTooltip title='{lang="first_page"}'><i class='fa fa-angle-double-left'></i></a></li> <li class='ipsPagination_prev ipsPagination_inactive'><a href='{$baseUrl->setPage( $pageParam, $activePage - 1 )}' rel="prev" data-page='{expression="$activePage - 1"}' data-ipsTooltip title='{lang="prev_page"}'>{lang="prev"}</a></li> {{endif}} <li class='ipsPagination_page ipsPagination_active'><a href='{$baseUrl->setPage( $pageParam, $activePage )}' data-page='{$activePage}'>{$activePage}</a></li> {{if $activePage != $pages}} {{foreach range( $activePage + 1, ( ( $activePage + 5 ) > $pages ) ? $pages : ( $activePage + 5 ) ) as $idx => $i}} <li class='ipsPagination_page'><a href='{$baseUrl->setPage( $pageParam, $i )}' data-page='{$i}'>{$i}</a></li> {{endforeach}} <li class='ipsPagination_next'><a href='{$baseUrl->setPage( $pageParam, $activePage + 1 )}' rel="next" data-page='{expression="$activePage + 1"}' data-ipsTooltip title='{lang="next_page"}'>{lang="next"}</a></li> <li class='ipsPagination_last'><a href='{$baseUrl->setPage( $pageParam, $pages )}' rel="last" data-page='{$pages}' data-ipsTooltip title='{lang="last_page"}'><i class='fa fa-angle-double-right'></i></a></li> {{else}} <li class='ipsPagination_next ipsPagination_inactive'><a href='{$baseUrl->setPage( $pageParam, ( $activePage + 1 > $pages ) ? $pages : $activePage + 1 )}' rel="next" data-page='{expression="( $activePage + 1 > $pages ) ? $pages : $activePage + 1"}' data-ipsTooltip title='{lang="next_page"}'>{lang="next"}</a></li> <li class='ipsPagination_last ipsPagination_inactive'><a href='{$baseUrl->setPage( $pageParam, $pages )}' rel="last" data-page='{$pages}' data-ipsTooltip title='{lang="last_page"}'><i class='fa fa-angle-double-right'></i></a></li> {{endif}} {{if $pages > 1}} <li class='ipsPagination_pageJump'> <a href='#' data-ipsMenu data-ipsMenu-closeOnClick='false' data-ipsMenu-appendTo='#elPagination_{expression="md5($baseUrl)"}_{$uniqId}' id='elPagination_{expression="md5($baseUrl)"}_{$uniqId}_jump'>{lang="pagination" sprintf="$activePage, $pages"} <i class='fa fa-caret-down'></i></a> <div class='ipsMenu ipsMenu_narrow ipsPadding ipsHide' id='elPagination_{expression="md5($baseUrl)"}_{$uniqId}_jump_menu'> <form accept-charset='utf-8' method='post' action='{$baseUrl->setPage( 'page', NULL )}' data-role="pageJump"> <ul class='ipsForm ipsForm_horizontal'> <li class='ipsFieldRow'> <input type='number' min='1' max='{$pages}' placeholder='{lang="page_number"}' class='ipsField_fullWidth' name='{$pageParam}'> </li> <li class='ipsFieldRow ipsFieldRow_fullWidth'> <input type='submit' class='ipsButton_fullWidth ipsButton ipsButton_verySmall ipsButton_primary' value='{lang="go"}'> </li> </ul> </form> </div> </li> {{endif}} {{endif}} </ul> {{endif}} SlawkA 1 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
accop Опубликовано 11 января, 2021 Поделиться Опубликовано 11 января, 2021 Silence там внешний php файл подключается через include через блоки (страницы - блоки) и автор хочет использовать встроенную пагинацию для этого файла Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
HooLIGUN Опубликовано 11 января, 2021 Автор Поделиться Опубликовано 11 января, 2021 А это разве проблема,то что файл внешний? Делаю это просто для удобства написания кода через нотпад Это тоже самое,если бы я писал код напрямую в блоке Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.