Skip to content
Snippets Groups Projects
Commit 6a48b85e authored by Ievgen Shakhsuvarov's avatar Ievgen Shakhsuvarov Committed by GitHub
Browse files

MAGETWO-86845: #12714 - pass parameter for export button url #13208

parents f28dbc0c e15c7213
Branches
No related merge requests found
......@@ -35,7 +35,13 @@
<listingToolbar name="listing_top">
<bookmark name="bookmarks"/>
<columnsControls name="columns_controls"/>
<exportButton name="export_button"/>
<exportButton name="export_button">
<settings>
<additionalParams>
<param xsi:type="string" active="true" name="order_id">*</param>
</additionalParams>
</settings>
</exportButton>
<filterSearch name="fulltext"/>
<filters name="listing_filters">
<filterSelect name="store_id" provider="${ $.parentName }">
......
......@@ -35,7 +35,13 @@
<listingToolbar name="listing_top">
<bookmark name="bookmarks"/>
<columnsControls name="columns_controls"/>
<exportButton name="export_button"/>
<exportButton name="export_button">
<settings>
<additionalParams>
<param xsi:type="string" active="true" name="order_id">*</param>
</additionalParams>
</settings>
</exportButton>
<filterSearch name="fulltext"/>
<filters name="listing_filters">
<filterSelect name="store_id" provider="${ $.parentName }">
......
......@@ -35,7 +35,13 @@
<listingToolbar name="listing_top">
<bookmark name="bookmarks"/>
<columnsControls name="columns_controls"/>
<exportButton name="export_button"/>
<exportButton name="export_button">
<settings>
<additionalParams>
<param xsi:type="string" active="true" name="order_id">*</param>
</additionalParams>
</settings>
</exportButton>
<filterSearch name="fulltext"/>
<filters name="listing_filters">
<filterSelect name="store_id" provider="${ $.parentName }">
......
......@@ -54,11 +54,13 @@ class ExportButton extends AbstractComponent
*/
public function prepare()
{
$context = $this->getContext();
$config = $this->getData('config');
if (isset($config['options'])) {
$options = [];
foreach ($config['options'] as $option) {
$option['url'] = $this->urlBuilder->getUrl($option['url']);
$additionalParams = $this->getAdditionalParams($config, $context);
$option['url'] = $this->urlBuilder->getUrl($option['url'], $additionalParams);
$options[] = $option;
}
$config['options'] = $options;
......@@ -66,4 +68,25 @@ class ExportButton extends AbstractComponent
}
parent::prepare();
}
/**
* Get export button additional parameters
*
* @param array $config
* @param ContextInterface $context
* @return array
*/
protected function getAdditionalParams($config, $context)
{
$additionalParams = [];
if (isset($config['additionalParams'])) {
foreach ($config['additionalParams'] as $paramName => $paramValue) {
if ('*' == $paramValue) {
$paramValue = $context->getRequestParam($paramName);
}
$additionalParams[$paramName] = $paramValue;
}
}
return $additionalParams;
}
}
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment