zikula/sortable-columns 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

zikula/sortable-columns

最新稳定版本:1.0.0

Composer 安装命令:

composer require zikula/sortable-columns

包简介

SortableColumns is a zikula component to help manage data table column headings that can be clicked to sort the data

README 文档

README

SortableColumns has been included into the core repository.

SortableColumns

SortableColumns is a Zikula component to help manage data table column headings that can be clicked to sort the data. The collection is an Doctrine\Common\Collections\ArrayCollection of Zikula\Component\SortableColumns\Column objects. Use SortableColumns::generateSortableColumns to create an array of attributes (url, css class) indexed by column name which can be used in the generation of table headings/links.

Controller:

use Zikula\Component\SortableColumns\SortableColumns;

// in controller method
$orderBy = $request->query->get('orderby', 'pageid');
$currentSortDirection = $request->query->get('sdir', Column::DIRECTION_DESCENDING);

$sortableColumns = new SortableColumns($this->get('router'), 'zikulapagesmodule_admin_index', 'orderby', 'sdir');
$sortableColumns->addColumn(new Column('pageid')); // first added is automatically the default
$sortableColumns->addColumn(new Column('title'));
$sortableColumns->addColumn(new Column('cr_date'));
$sortableColumns->setOrderBy($sortableColumns->getColumn($orderBy), $currentSortDirection);
$sortableColumns->setAdditionalUrlParameters(array(
    'language' => isset($filterData['language']) ? $filterData['language'] : null,
));

$templateParameters['sort'] = $sortableColumns->generateSortableColumns();

Twig template:

<tr>
    <th><a class='{{ sort.pageid.class }}' href='{{ sort.pageid.url }}'>{% trans %}ID{% endtrans %}</a></th>
    <th><a class='{{ sort.title.class }}' href='{{ sort.title.url }}'>{% trans %}Title{% endtrans %}</a></th>
    <th><a class='{{ sort.cr_date.class }}' href='{{ sort.cr_date.url }}'>{% trans %}Created{% endtrans %}</a></th>
</tr>

Additional shortcut methods are available:

  • $sortableColumns->addColumns()
  • $sortableColumns->setOrderByFromRequest()
$sortableColumns->addColumns([new Column('pageid'), new Column('title'), new Column('cr_date')]);
$sortableColumns->setOrderByFromRequest($request);

If needed, you can obtain the values of the orderByFields (e.g. for a DB query) using:

$sortableColumns->getSortColumn()->getName()
$sortableColumns->getSortDirection()

统计信息

  • 总下载量: 26.59k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 8
  • 依赖项目数: 7
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 5
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2020-01-21