mranger / yii2-load-more-pager
类似于“加载更多”按钮的 Yii2 分页小部件。
1.0.2
2016-11-02 16:59 UTC
This package is not auto-updated.
Last update: 2024-09-14 20:14:51 UTC
README
这是 Yii 2 版本的分页小部件。我为了自己制作了这个小部件。它的主要特点是完全可自定义的布局,更重要的是,分页小部件在代码(布局/元素)通过 Ajax/Json 更新后仍能继续工作,因为它的事件绑定不是针对特定的元素,而是针对选择器(jQuery.on)。
安装
php composer.phar require --prefer-dist mranger/yii2-load-more-pager "*"
或
"mranger/yii2-load-more-pager": "*"
使用
ListView::widget([ 'id' => 'comment-list', 'dataProvider' => $dataProvider, 'options' => [ 'tag' => 'ol', 'class' => 'commentlist', ], 'itemOptions' => [ 'tag' => 'li', ], 'pager' => [ 'class' => 'mranger\load_more_pager\LoadMorePager', 'id' => 'comment-list-pagination', 'contentSelector' => '#comment-list', 'contentItemSelector' => '.comment:not(.even)', ], ])
请注意,必须指定分页器的唯一 ID,否则无法保证其正常工作。
配置
'pager' => [ 'class' => 'mranger\load_more_pager\LoadMorePager', 'id' => 'comment-list-pagination', 'buttonText' => 'Больше комментариев', // Текст на кнопке пагинации 'template' => '<div class="text-center">{button}</div>', // Шаблон вывода кнопки пагинации 'contentSelector' => '#comment-list', // Селектор контента 'contentItemSelector' => '.comment:not(.even)', // Селектор эллементов контента 'includeCssStyles' => true, // Подключать ли CSS стили виджета, или вы оформите пагинацию сами 'loaderShow' => true, // Отображать ли индикатор загрузки 'loaderAppendType' => LoadMorePager::LOADER_APPEND_TYPE_BUTTON, // Тот эллемент, к которому будет прикреплен индикатор загрузки. Варианты: тег body, после контента, перед кнопкой пагинации, внутри кнопки пагинации 'loaderTemplate' => '<i class="load-more-loader"></i>', // Шаблон индикатора загрузки 'options' => [], // Массив опций кнопки паганации 'onLoad' => null, // Событие javascript которое будет вызываться в момент начала загрузки новых эллементов, обработчик должен быть описан через JsExpression, в функцию будет передаваться объект с настройками пагинатора, которые вы указали при инициализации 'onAfterLoad' => null, // Событие javascript которое будет вызываться в момент окончания загрузки новых эллементов 'onFinished' => null, // Событие javascript которое будет вызываться в момент, когда все страницы паганации були загружены 'onError' => null, // Событие javascript которое будет вызываться в момент, когда произошла ошибка при загрузке новых эллементов ],