Notice: You are browsing the documentation for PrestaShop 9, which is currently in development.
You might want to read the documentation for the current version, PrestaShop 8. Read the current version of this page
Grid Actions are tasks available for your grid for common actions.
This action allows to add a label to the Grid Actions block. Then you can manage the behavior when clicking on this label using Javascript for example.
SimpleGridAction
actions.Properties | Expected value |
---|---|
Id | A string |
Type | simple |
Name | A string |
Icon | A string |
This action will create a labelized link into the Grid actions block.
Properties | Expected value(s) |
---|---|
Id | A string |
Type | link |
Name | A string |
Icon | A string |
Options | route |
route_params |
|
Requirements | route |
Defaults | route_params => [] |
Allowed Types | route (string) |
route_params (array) |
This action will create a submittable label into the Grid actions block.
Properties | Expected value(s) |
---|---|
Id | A string |
Type | submit |
Name | A string |
Icon | A string |
Options | submit_route |
submit_method |
|
confirm_message |
|
Requirements | submit_route |
Defaults | submit_method => ‘POST’ |
confirm_message => null |
|
Allowed Types | submit_route (string) |
confirm_message (string or null) |
|
Allowed Values | submit_method => (‘POST’ or ‘GET’) |
Grid Row Actions are tasks available in a Grid row when defining a column that supports tasks.
Very similar to the LinkGridAction, but capable to manage User accesses on the content.
Properties | Expected value(s) |
---|---|
Id | A string |
Type | link |
Name | A string |
Icon | A string |
Options | route |
route_param_name |
|
route_param_field |
|
confirm_message |
|
accessibility_checker |
|
clickable_row |
|
Requirements | route |
route_param_name |
|
route_param_field |
|
Defaults | confirm_message => '’ |
accessibility_checker => null |
|
clickable_row => false |
|
Allowed Types | route (string) |
route_param_name (string) |
|
route_param_field (string) |
|
confirm_message (string) |
|
accessibility_checker (callable or null or instance of AccessibilityCheckerInterface) |
|
clickable_row (boolean) |
Very similar to the SubmitGridAction, but capable to manage User accesses on the content.
Properties | Expected value(s) |
---|---|
Id | A string |
Type | submit |
Name | A string |
Icon | A string |
Options | route |
route_param_name |
|
route_param_field |
|
confirm_message |
|
accessibility_checker |
|
method |
|
Requirements | route |
route_param_name |
|
route_param_field |
|
Defaults | confirm_message => '' |
accessibility_checker => null |
|
method => ‘POST’ |
|
Allowed Types | route (string) |
route_param_name (string) |
|
route_param_field (string) |
|
method (string) |
|
confirm_message (string) |
|
accessibility_checker (callable or null or instance of AccessibilityCheckerInterface) |
This row action will delete the Customer in Sell > Customers page.
Properties | Expected value(s) |
---|---|
Id | A string |
Type | delete_customer |
Name | A string |
Icon | A string |
Options | customer_id_field |
customer_delete_route |
|
Requirements | customer_id_field |
customer_delete_route |
|
Defaults | customer_id_field (string) |
customer_delete_route => (string) |
This row action will delete the Category in Catalog > Categories page.
Properties | Expected value(s) |
---|---|
Id | A string |
Type | delete_category |
Name | A string |
Icon | A string |
Options | category_id_field |
category_delete_route |
|
Requirements | category_id_field |
category_delete_route |
|
Defaults | category_id_field (string) |
category_delete_route => (string) |
<?php
// /modules/my-module/src/Grid/MyGridDefinitionFactory.php
namespace MyModule\Grid;
use PrestaShop\PrestaShop\Core\Grid\Definition\Factory\AbstractGridDefinitionFactory;
use PrestaShop\PrestaShop\Core\Grid\Action\GridActionCollection;
use PrestaShop\PrestaShop\Core\Grid\Action\Type\SubmitGridAction;
use PrestaShop\PrestaShop\Core\Grid\Column\Type\Common\ActionColumn;
use PrestaShop\PrestaShop\Core\Grid\Action\Row\RowActionCollection;
use PrestaShop\PrestaShop\Core\Grid\Action\Row\Type\LinkRowAction;
use PrestaShop\PrestaShop\Core\Grid\Action\Row\Type\SubmitRowAction;
use PrestaShop\PrestaShop\Core\Grid\Column\ColumnCollection;
/**
* How to define the Grid's actions?
* You can adapt this example or look at the existing ones
* in PrestaShop's Core.
*/
class MyGridDefinitionFactory extends AbstractGridDefinitionFactory
{
/**
* {@inheritdoc}
*/
protected function getGridActions()
{
return (new GridActionCollection())
->add(
(new SubmitGridAction('delete_all_email_logs'))
->setName('Erase all')
->setIcon('delete')
->setOptions([
'submit_route' => 'admin_logs_delete_all',
'confirm_message' => 'Are you sure?',
])
)
;
}
/**
* {@inheritdoc}
*/
protected function getColumns()
{
return (new ColumnCollection())
->add(
(new ActionColumn('actions'))
->setName($this->trans('Actions', [], 'Admin.Global'))
->setOptions([
'actions' => (new RowActionCollection())
->add(
(new LinkRowAction('edit'))
->setName('Edit')
->setIcon('edit')
->setOptions([
'route' => 'edit_stuff',
'route_param_name' => 'stuffId',
'route_param_field' => 'stuffId',
// A click on the row will have the same effect as this action
'clickable_row' => true,
])
)
->add(
(new SubmitRowAction('delete'))
->setName('Delete')
->setIcon('delete')
->setOptions([
'confirm_message' => 'Delete selected item?',
'route' => 'delete_stuff',
'route_param_name' => 'stuffId',
'route_param_field' => 'stuffId',
])
)
])
)
;
}
}