2017 © Pedro PelΓ‘ez
 

library zfs-grid

image

zfstarter/zfs-grid

  • Wednesday, July 16, 2014
  • by farior2109
  • Repository
  • 0 Watchers
  • 0 Stars
  • 152 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 1 Forks
  • 1 Open issues
  • 2 Versions
  • 0 % Grown

The README.md

zfs-grid

МодСль ΠΈ прСдставлСниС Π΄Π°Π½Π½Ρ‹Ρ… Π² Ρ‚Π°Π±Π»ΠΈΡ‡Π½ΠΎΠΌ Π²ΠΈΠ΄Π΅., (*1)

ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

МодСль ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ использована сразу послС подклчСния Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Ρ‡Π΅Ρ€Π΅Π· ΠΊΠΎΠΌΠΏΠΎΠ·Π΅Ρ€. Для использования ΠΏΠΎΠΌΠΎΡ‰Π½ΠΈΠΊΠΎΠ² Π²ΠΈΠ΄Π° (ViewHelper) Π½ΡƒΠΆΠ½ΠΎ Π² ваш application.config.php Π² Π²Π΅Ρ‚ΠΊΠΈ service_manager ΠΈ listeners Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:, (*2)

'service_manager' => array(
    'invokables' => array(
        'ZFS\Grid\View\Helper\Configurator' => 'ZFS\Grid\View\Helper\Configurator'
    )
),
'listeners' => array(
    'ZFS\Grid\View\Helper\Configurator'
)

ΠšΠ»ΡŽΡ‡ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ любой Π΄Ρ€ΡƒΠ³ΠΎΠΉ, Ссли Π΅ΡΡ‚ΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ. Для использования ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹Ρ… ΠΏΠΎΠΌΠΎΡ‰Π½ΠΈΠΊΠΎΠ² Π²ΠΈΠ΄Π°, ΠΈΡ… ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΊ ViewHelperManager:, (*3)

$serviceLocator
    ->get('ViewHelperManager')
    ->setInvokableClass('gridRowValue', 'ZFS\Grid\View\Helper\GridRowValue');

ИспользованиС

Для отобраТСния Π΄Π°Π½Π½Ρ‹Ρ… Π² Ρ‚Π°Π±Π»ΠΈΡ‡Π½ΠΎΠΌ Π²ΠΈΠ΄Π΅ Π½ΡƒΠΆΠ½Ρ‹: 1. Π‘Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Π΅:, (*4)

$users = array(
    array(
        'id'     => 1,
        'login'  => 'Vasia',
        'email'  => 'vasia@pupkin.com',
        'status' => '0',
    ),
    array(
        'id'     => 2,
        'login'  => 'Fedia',
        'email'  => 'Fedia@nepupkin.com',
        'status' => '1',
    )
);
  1. МодСль "сСтки":
$grid = new GridModel();
  1. Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π³Ρ€ΠΈΠ΄Ρƒ Π΄Π°Π½Π½Ρ‹Π΅:
$grid->setRows($users);
  1. Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π³Ρ€ΠΈΠ΄Ρƒ Π½Π°Π±ΠΎΡ€ ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ. ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ name - систСмноС имя ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ, fieldName - имя/ΠΊΠ»ΡŽΡ‡ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° Π² строкС для Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ ΠΈ подстановки Π² ячСйку, title - Π·Π°Π³Π»Π°Π²ΠΈΠ΅ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ:
$grid->setColumns(
    array(
        new ColumnModel(array(
            'name'      => 'id',
            'fieldName' => 'id',
            'title'     => 'ID',
        )),
        new ColumnModel(array(
            'name'      => 'login',
            'fieldName' => 'login',
            'title'     => 'Login',
        )),
        new ColumnModel(array(
            'name'      => 'email',
            'fieldName' => 'email',
            'title'     => 'E-mail',
        ))
    )
);
  1. ΠŸΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ Π³Ρ€ΠΈΠ΄ Π² прСдставлСниС:
// прСдставим, Ρ‡Ρ‚ΠΎ находимся Π² ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π΅
return new ViewModel(array('grid' => $grid));
  1. ΠžΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ Π² шаблонС с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ViewHelper'Π° Grid:
<?php echo $this->grid($grid); ?>

ΠΈΠ»ΠΈ ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ, Ссли Π²Ρ‹ Π½Π°ΠΌΠ΅Ρ€Π΅Π½Π½ΠΎ Π½Π΅ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΠ»ΠΈ ViewHelper'Ρ‹., (*5)

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ GridModel ΠΈ ColumnModel

ВсС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ColumnModel ΠΌΠΎΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ Ρ‡Π΅Ρ€Π΅Π· get* ΠΈ set* ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹:, (*6)

$column = new ColumnModel();
$column->setName('name');
$column->setFieldName('name');
$column->setTitle('User name');

ΠŸΠΎΠ»Π½Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² Ρƒ ColumnModel: - name - систСмноС имя ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ; - fieldName - имя/ΠΊΠ»ΡŽΡ‡ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° Π² строкС для Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ ΠΈ подстановки Π² ячСйку; - title - Π·Π°Π³Π»Π°Π²ΠΈΠ΅ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ; - formatter - callback, Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΈΠ΄Π΅Ρ‚ ΠΊΠ°ΠΊ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² ячСйку. ВызываСтся ΠΏΠΎΠΌΠΎΡ‰Π½ΠΈΠΊΠΎΠΌ Π²ΠΈΠ΄Π° GridRowValue послС получСния значСния ΠΈΠ· строки ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠΈ этого ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° Ρƒ ColumnModel. Π‘ΠΈΠ³Π½Π°Ρ‚ΡƒΡ€Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ: function ($valueFromRowCell, $wholeRow, $currentColumn) {};, (*7)

  • id - строка, подставляСтся Π² Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ id тэгу <th> Π² <thead> ΠΈ <tfoot>;
  • css - строка, подставляСтся Π² Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ class тэгу <th> Π² <thead> ΠΈ <tfoot>;
  • style - строка, подставляСтся Π² Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ style тэгу <th> Π² <thead> ΠΈ <tfoot>;

Π£ GridModel Ρ‚ΠΎΠΆΠ΅ Π΅ΡΡ‚ΡŒ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹: - id - строка, подставляСтся Π² Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ id тэгу <table>; - css - строка, подставляСтся Π² Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ class тэгу <table> - style - строка, подставляСтся Π² Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ style тэгу <table>, (*8)

И Ρƒ ColumnModel ΠΈ Ρƒ GridModel Π΅ΡΡ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ установки ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹Ρ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² Ρ‡Π΅Ρ€Π΅Π· магичСскиС __get ΠΈ __set для Ρ€ΡƒΡ‡Π½ΠΎΠΉ ΠΈΡ… ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π² ΡˆΠ°Π±Π»ΠΎΠ½Π°Ρ… прСдставлСния., (*9)

ΠŸΠΎΠΌΠΎΡ‰Π½ΠΈΠΊΠΈ Π²ΠΈΠ΄Π°

Π’ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΠΎΠΌΠΎΡ‰Π½ΠΈΠΊΠΈ Π²ΠΈΠ΄Π°: - grid - ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ стандартной Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ с использованиСм ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² id, css, style; - gridHeader - ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π±Π»ΠΎΠΊΠ° <thead>; - gridHeaderRow - ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ строки Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ°: <tr><th>...</th></tr>; - gridHeaderCell - ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ячСйки строки Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ°: <th>..</th>; - gridBody - ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π±Π»ΠΎΠΊΠ° <tbody>; - gridBodyRow - ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ строки Ρ‚Π΅Π»Π°: <tr><td>...<td></tr>; - gridBodyCell - ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ячСйки строки Ρ‚Π΅Π»Π°: <td>...</td>; - gridFooter - ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π±Π»ΠΎΠΊΠ° <tfoot>; - gridFooterRow - ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ строки Ρ„ΡƒΡ‚Π΅Ρ€Π°: <tr><th>...</th></tr>; - gridFooterCell - ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ячСйки строки Ρ„ΡƒΡ‚Π΅Ρ€Π°: <th>..</th>; - gridRowValue - ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ значСния ячСйки строки Π΄Π°Π½Π½Ρ‹Ρ…., (*10)

Для отобраТСния стандартной Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ достаточно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ лишь grid:, (*11)

<?php echo $this->grid($grid); ?>

Если Π²Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ΅Π½ Ρ„ΡƒΡ‚Π΅Ρ€, ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΏΠΎΠΌΠΎΡ‰Π½ΠΈΠΊΠ°ΠΌΠΈ Π²ΠΈΠ΄Π° Π½ΠΈΠΆΠ΅ уровня: gridHeader, gridBody:, (*12)

<?php echo $this->grid()->openTag($grid); ?>
<?php echo $this->gridHeader($grid); ?>
<?php echo $this->gridBody($grid); ?>
<?php echo $this->grid()->closeTag(); ?>

Полная аналогия с ΠΏΠΎΠΌΠΎΡ‰Π½ΠΈΠΊΠ°ΠΌΠΈ Π²ΠΈΠ΄Π° Zend\Form., (*13)

ЛицСнзия

MIT, (*14)

The Versions

16/07 2014

dev-master

9999999-dev

  Sources   Download

MIT

The Requires

 

11/06 2014

1.0

1.0.0.0

  Sources   Download

MIT

The Requires