mranger/yii2-load-more-pager

类似于“加载更多”按钮的 Yii2 分页小部件。

安装次数: 34,128

依赖项: 0

建议者: 0

安全性: 0

星标: 7

关注者: 2

分支: 1

开放问题: 3

语言:JavaScript

类型:yii2-extension

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 которое будет вызываться в момент, когда произошла ошибка при загрузке новых эллементов
],