Magento 2 pass multiple parameters in the admin grid action url












1














In Magento 2.2.5, I am sending the id in the url now, But, I want send multiple parameters in the admin grid action url. I created admin grid using layout Blocks. Not used ui component.



How to achieve this.



Here is my code:



<block class="MagentoBackendBlockWidgetGridColumn" as="action">
<arguments>
<argument name="id" xsi:type="string">action</argument>
<argument name="header" xsi:type="string" translate="true">Action</argument>
<argument name="type" xsi:type="string">action</argument>
<argument name="getter" xsi:type="string">getId</argument>
<argument name="filter" xsi:type="boolean">false</argument>
<argument name="sortable" xsi:type="boolean">false</argument>
<argument name="index" xsi:type="string">weblog</argument>
<argument name="is_system" xsi:type="boolean">true</argument>
<argument name="actions" xsi:type="array">
<item name="view_action" xsi:type="array">
<item name="caption" xsi:type="string" translate="true">Assign</item>
<item name="url" xsi:type="array">
<item name="base" xsi:type="string">apptha_customergroup/deal/assign</item>
</item>
<item name="field" xsi:type="string">id</item>
</item>
</argument>
<argument name="header_css_class" xsi:type="string">col-actions</argument>
<argument name="column_css_class" xsi:type="string">col-actions</argument>
</arguments>
</block>









share|improve this question






















  • dose you have any solution found that?
    – Prashant Patel
    19 hours ago










  • @PrashantPatel, Yes. I'll update my answer now.
    – Saravanan DS
    19 hours ago










  • Please let me know is this solution solved your issue.
    – Saravanan DS
    19 hours ago
















1














In Magento 2.2.5, I am sending the id in the url now, But, I want send multiple parameters in the admin grid action url. I created admin grid using layout Blocks. Not used ui component.



How to achieve this.



Here is my code:



<block class="MagentoBackendBlockWidgetGridColumn" as="action">
<arguments>
<argument name="id" xsi:type="string">action</argument>
<argument name="header" xsi:type="string" translate="true">Action</argument>
<argument name="type" xsi:type="string">action</argument>
<argument name="getter" xsi:type="string">getId</argument>
<argument name="filter" xsi:type="boolean">false</argument>
<argument name="sortable" xsi:type="boolean">false</argument>
<argument name="index" xsi:type="string">weblog</argument>
<argument name="is_system" xsi:type="boolean">true</argument>
<argument name="actions" xsi:type="array">
<item name="view_action" xsi:type="array">
<item name="caption" xsi:type="string" translate="true">Assign</item>
<item name="url" xsi:type="array">
<item name="base" xsi:type="string">apptha_customergroup/deal/assign</item>
</item>
<item name="field" xsi:type="string">id</item>
</item>
</argument>
<argument name="header_css_class" xsi:type="string">col-actions</argument>
<argument name="column_css_class" xsi:type="string">col-actions</argument>
</arguments>
</block>









share|improve this question






















  • dose you have any solution found that?
    – Prashant Patel
    19 hours ago










  • @PrashantPatel, Yes. I'll update my answer now.
    – Saravanan DS
    19 hours ago










  • Please let me know is this solution solved your issue.
    – Saravanan DS
    19 hours ago














1












1








1







In Magento 2.2.5, I am sending the id in the url now, But, I want send multiple parameters in the admin grid action url. I created admin grid using layout Blocks. Not used ui component.



How to achieve this.



Here is my code:



<block class="MagentoBackendBlockWidgetGridColumn" as="action">
<arguments>
<argument name="id" xsi:type="string">action</argument>
<argument name="header" xsi:type="string" translate="true">Action</argument>
<argument name="type" xsi:type="string">action</argument>
<argument name="getter" xsi:type="string">getId</argument>
<argument name="filter" xsi:type="boolean">false</argument>
<argument name="sortable" xsi:type="boolean">false</argument>
<argument name="index" xsi:type="string">weblog</argument>
<argument name="is_system" xsi:type="boolean">true</argument>
<argument name="actions" xsi:type="array">
<item name="view_action" xsi:type="array">
<item name="caption" xsi:type="string" translate="true">Assign</item>
<item name="url" xsi:type="array">
<item name="base" xsi:type="string">apptha_customergroup/deal/assign</item>
</item>
<item name="field" xsi:type="string">id</item>
</item>
</argument>
<argument name="header_css_class" xsi:type="string">col-actions</argument>
<argument name="column_css_class" xsi:type="string">col-actions</argument>
</arguments>
</block>









share|improve this question













In Magento 2.2.5, I am sending the id in the url now, But, I want send multiple parameters in the admin grid action url. I created admin grid using layout Blocks. Not used ui component.



How to achieve this.



Here is my code:



<block class="MagentoBackendBlockWidgetGridColumn" as="action">
<arguments>
<argument name="id" xsi:type="string">action</argument>
<argument name="header" xsi:type="string" translate="true">Action</argument>
<argument name="type" xsi:type="string">action</argument>
<argument name="getter" xsi:type="string">getId</argument>
<argument name="filter" xsi:type="boolean">false</argument>
<argument name="sortable" xsi:type="boolean">false</argument>
<argument name="index" xsi:type="string">weblog</argument>
<argument name="is_system" xsi:type="boolean">true</argument>
<argument name="actions" xsi:type="array">
<item name="view_action" xsi:type="array">
<item name="caption" xsi:type="string" translate="true">Assign</item>
<item name="url" xsi:type="array">
<item name="base" xsi:type="string">apptha_customergroup/deal/assign</item>
</item>
<item name="field" xsi:type="string">id</item>
</item>
</argument>
<argument name="header_css_class" xsi:type="string">col-actions</argument>
<argument name="column_css_class" xsi:type="string">col-actions</argument>
</arguments>
</block>






grid url magento-2.2.5 parameter






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Oct 10 '18 at 5:42









Saravanan DS

458522




458522












  • dose you have any solution found that?
    – Prashant Patel
    19 hours ago










  • @PrashantPatel, Yes. I'll update my answer now.
    – Saravanan DS
    19 hours ago










  • Please let me know is this solution solved your issue.
    – Saravanan DS
    19 hours ago


















  • dose you have any solution found that?
    – Prashant Patel
    19 hours ago










  • @PrashantPatel, Yes. I'll update my answer now.
    – Saravanan DS
    19 hours ago










  • Please let me know is this solution solved your issue.
    – Saravanan DS
    19 hours ago
















dose you have any solution found that?
– Prashant Patel
19 hours ago




dose you have any solution found that?
– Prashant Patel
19 hours ago












@PrashantPatel, Yes. I'll update my answer now.
– Saravanan DS
19 hours ago




@PrashantPatel, Yes. I'll update my answer now.
– Saravanan DS
19 hours ago












Please let me know is this solution solved your issue.
– Saravanan DS
19 hours ago




Please let me know is this solution solved your issue.
– Saravanan DS
19 hours ago










1 Answer
1






active

oldest

votes


















0














I used Renderer to achieve this.



Please find my code here.



Layout File:



<block class="MagentoBackendBlockWidgetGridColumn" as="action">
<arguments>
<argument name="id" xsi:type="string">action</argument>
<argument name="header" xsi:type="string" translate="true">Action</argument>
<argument name="type" xsi:type="string">action</argument>
<argument name="getter" xsi:type="string">getId</argument>
<argument name="filter" xsi:type="boolean">false</argument>
<argument name="sortable" xsi:type="boolean">false</argument>
<argument name="index" xsi:type="string">entity_id</argument>
<argument name="is_system" xsi:type="boolean">true</argument>
<argument name="renderer" xsi:type="string">AppthaDealBlockAdminhtmlDealGridColumnRendererAssignaction</argument>
<argument name="header_css_class" xsi:type="string">col-actions</argument>
<argument name="column_css_class" xsi:type="string">col-actions</argument>
</arguments>
</block>


Block file (AppthaDealBlockAdminhtmlDealGridColumnRendererAssignaction.php):



<?php
namespace AppthaDealBlockAdminhtmlDealGridColumnRenderer;
use MagentoFrameworkViewElementTemplate;
use MagentoFrameworkViewElementTemplateContext;
use MagentoStoreModelStoreManagerInterface;
use AppthaDealHelperData;

class Assignaction extends MagentoBackendBlockWidgetGridColumnRendererText
{

protected $_helper;
protected $urlBuilder;

public function __construct(MagentoFrameworkUrlInterface $urlBuilder)
{
$this->urlBuilder = $urlBuilder;
}

public function render(MagentoFrameworkDataObject $row)
{
/** @var MagentoIntegrationModelIntegration $row */
$merchantId = $row->getData("merchant_id");
$manageDealId = $row->getData("entity_id");
$actionUrl = $this->urlBuilder->getUrl("deals/deal/responsedetails/id/$manageDealId/mid/$merchantId" );
return "<a href=".$actionUrl.">Details</a>";
}
}





share|improve this answer























  • this way is fine but I want to pass data without URL is that possible?
    – Prashant Patel
    19 hours ago










  • Try in registry method.
    – Saravanan DS
    18 hours ago










  • Add Upvote if it is useful.
    – Saravanan DS
    18 hours ago











Your Answer








StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "479"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});

function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});


}
});














draft saved

draft discarded


















StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmagento.stackexchange.com%2fquestions%2f245845%2fmagento-2-pass-multiple-parameters-in-the-admin-grid-action-url%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown

























1 Answer
1






active

oldest

votes








1 Answer
1






active

oldest

votes









active

oldest

votes






active

oldest

votes









0














I used Renderer to achieve this.



Please find my code here.



Layout File:



<block class="MagentoBackendBlockWidgetGridColumn" as="action">
<arguments>
<argument name="id" xsi:type="string">action</argument>
<argument name="header" xsi:type="string" translate="true">Action</argument>
<argument name="type" xsi:type="string">action</argument>
<argument name="getter" xsi:type="string">getId</argument>
<argument name="filter" xsi:type="boolean">false</argument>
<argument name="sortable" xsi:type="boolean">false</argument>
<argument name="index" xsi:type="string">entity_id</argument>
<argument name="is_system" xsi:type="boolean">true</argument>
<argument name="renderer" xsi:type="string">AppthaDealBlockAdminhtmlDealGridColumnRendererAssignaction</argument>
<argument name="header_css_class" xsi:type="string">col-actions</argument>
<argument name="column_css_class" xsi:type="string">col-actions</argument>
</arguments>
</block>


Block file (AppthaDealBlockAdminhtmlDealGridColumnRendererAssignaction.php):



<?php
namespace AppthaDealBlockAdminhtmlDealGridColumnRenderer;
use MagentoFrameworkViewElementTemplate;
use MagentoFrameworkViewElementTemplateContext;
use MagentoStoreModelStoreManagerInterface;
use AppthaDealHelperData;

class Assignaction extends MagentoBackendBlockWidgetGridColumnRendererText
{

protected $_helper;
protected $urlBuilder;

public function __construct(MagentoFrameworkUrlInterface $urlBuilder)
{
$this->urlBuilder = $urlBuilder;
}

public function render(MagentoFrameworkDataObject $row)
{
/** @var MagentoIntegrationModelIntegration $row */
$merchantId = $row->getData("merchant_id");
$manageDealId = $row->getData("entity_id");
$actionUrl = $this->urlBuilder->getUrl("deals/deal/responsedetails/id/$manageDealId/mid/$merchantId" );
return "<a href=".$actionUrl.">Details</a>";
}
}





share|improve this answer























  • this way is fine but I want to pass data without URL is that possible?
    – Prashant Patel
    19 hours ago










  • Try in registry method.
    – Saravanan DS
    18 hours ago










  • Add Upvote if it is useful.
    – Saravanan DS
    18 hours ago
















0














I used Renderer to achieve this.



Please find my code here.



Layout File:



<block class="MagentoBackendBlockWidgetGridColumn" as="action">
<arguments>
<argument name="id" xsi:type="string">action</argument>
<argument name="header" xsi:type="string" translate="true">Action</argument>
<argument name="type" xsi:type="string">action</argument>
<argument name="getter" xsi:type="string">getId</argument>
<argument name="filter" xsi:type="boolean">false</argument>
<argument name="sortable" xsi:type="boolean">false</argument>
<argument name="index" xsi:type="string">entity_id</argument>
<argument name="is_system" xsi:type="boolean">true</argument>
<argument name="renderer" xsi:type="string">AppthaDealBlockAdminhtmlDealGridColumnRendererAssignaction</argument>
<argument name="header_css_class" xsi:type="string">col-actions</argument>
<argument name="column_css_class" xsi:type="string">col-actions</argument>
</arguments>
</block>


Block file (AppthaDealBlockAdminhtmlDealGridColumnRendererAssignaction.php):



<?php
namespace AppthaDealBlockAdminhtmlDealGridColumnRenderer;
use MagentoFrameworkViewElementTemplate;
use MagentoFrameworkViewElementTemplateContext;
use MagentoStoreModelStoreManagerInterface;
use AppthaDealHelperData;

class Assignaction extends MagentoBackendBlockWidgetGridColumnRendererText
{

protected $_helper;
protected $urlBuilder;

public function __construct(MagentoFrameworkUrlInterface $urlBuilder)
{
$this->urlBuilder = $urlBuilder;
}

public function render(MagentoFrameworkDataObject $row)
{
/** @var MagentoIntegrationModelIntegration $row */
$merchantId = $row->getData("merchant_id");
$manageDealId = $row->getData("entity_id");
$actionUrl = $this->urlBuilder->getUrl("deals/deal/responsedetails/id/$manageDealId/mid/$merchantId" );
return "<a href=".$actionUrl.">Details</a>";
}
}





share|improve this answer























  • this way is fine but I want to pass data without URL is that possible?
    – Prashant Patel
    19 hours ago










  • Try in registry method.
    – Saravanan DS
    18 hours ago










  • Add Upvote if it is useful.
    – Saravanan DS
    18 hours ago














0












0








0






I used Renderer to achieve this.



Please find my code here.



Layout File:



<block class="MagentoBackendBlockWidgetGridColumn" as="action">
<arguments>
<argument name="id" xsi:type="string">action</argument>
<argument name="header" xsi:type="string" translate="true">Action</argument>
<argument name="type" xsi:type="string">action</argument>
<argument name="getter" xsi:type="string">getId</argument>
<argument name="filter" xsi:type="boolean">false</argument>
<argument name="sortable" xsi:type="boolean">false</argument>
<argument name="index" xsi:type="string">entity_id</argument>
<argument name="is_system" xsi:type="boolean">true</argument>
<argument name="renderer" xsi:type="string">AppthaDealBlockAdminhtmlDealGridColumnRendererAssignaction</argument>
<argument name="header_css_class" xsi:type="string">col-actions</argument>
<argument name="column_css_class" xsi:type="string">col-actions</argument>
</arguments>
</block>


Block file (AppthaDealBlockAdminhtmlDealGridColumnRendererAssignaction.php):



<?php
namespace AppthaDealBlockAdminhtmlDealGridColumnRenderer;
use MagentoFrameworkViewElementTemplate;
use MagentoFrameworkViewElementTemplateContext;
use MagentoStoreModelStoreManagerInterface;
use AppthaDealHelperData;

class Assignaction extends MagentoBackendBlockWidgetGridColumnRendererText
{

protected $_helper;
protected $urlBuilder;

public function __construct(MagentoFrameworkUrlInterface $urlBuilder)
{
$this->urlBuilder = $urlBuilder;
}

public function render(MagentoFrameworkDataObject $row)
{
/** @var MagentoIntegrationModelIntegration $row */
$merchantId = $row->getData("merchant_id");
$manageDealId = $row->getData("entity_id");
$actionUrl = $this->urlBuilder->getUrl("deals/deal/responsedetails/id/$manageDealId/mid/$merchantId" );
return "<a href=".$actionUrl.">Details</a>";
}
}





share|improve this answer














I used Renderer to achieve this.



Please find my code here.



Layout File:



<block class="MagentoBackendBlockWidgetGridColumn" as="action">
<arguments>
<argument name="id" xsi:type="string">action</argument>
<argument name="header" xsi:type="string" translate="true">Action</argument>
<argument name="type" xsi:type="string">action</argument>
<argument name="getter" xsi:type="string">getId</argument>
<argument name="filter" xsi:type="boolean">false</argument>
<argument name="sortable" xsi:type="boolean">false</argument>
<argument name="index" xsi:type="string">entity_id</argument>
<argument name="is_system" xsi:type="boolean">true</argument>
<argument name="renderer" xsi:type="string">AppthaDealBlockAdminhtmlDealGridColumnRendererAssignaction</argument>
<argument name="header_css_class" xsi:type="string">col-actions</argument>
<argument name="column_css_class" xsi:type="string">col-actions</argument>
</arguments>
</block>


Block file (AppthaDealBlockAdminhtmlDealGridColumnRendererAssignaction.php):



<?php
namespace AppthaDealBlockAdminhtmlDealGridColumnRenderer;
use MagentoFrameworkViewElementTemplate;
use MagentoFrameworkViewElementTemplateContext;
use MagentoStoreModelStoreManagerInterface;
use AppthaDealHelperData;

class Assignaction extends MagentoBackendBlockWidgetGridColumnRendererText
{

protected $_helper;
protected $urlBuilder;

public function __construct(MagentoFrameworkUrlInterface $urlBuilder)
{
$this->urlBuilder = $urlBuilder;
}

public function render(MagentoFrameworkDataObject $row)
{
/** @var MagentoIntegrationModelIntegration $row */
$merchantId = $row->getData("merchant_id");
$manageDealId = $row->getData("entity_id");
$actionUrl = $this->urlBuilder->getUrl("deals/deal/responsedetails/id/$manageDealId/mid/$merchantId" );
return "<a href=".$actionUrl.">Details</a>";
}
}






share|improve this answer














share|improve this answer



share|improve this answer








edited 18 hours ago









Matthéo Geoffray

2,0371238




2,0371238










answered 19 hours ago









Saravanan DS

458522




458522












  • this way is fine but I want to pass data without URL is that possible?
    – Prashant Patel
    19 hours ago










  • Try in registry method.
    – Saravanan DS
    18 hours ago










  • Add Upvote if it is useful.
    – Saravanan DS
    18 hours ago


















  • this way is fine but I want to pass data without URL is that possible?
    – Prashant Patel
    19 hours ago










  • Try in registry method.
    – Saravanan DS
    18 hours ago










  • Add Upvote if it is useful.
    – Saravanan DS
    18 hours ago
















this way is fine but I want to pass data without URL is that possible?
– Prashant Patel
19 hours ago




this way is fine but I want to pass data without URL is that possible?
– Prashant Patel
19 hours ago












Try in registry method.
– Saravanan DS
18 hours ago




Try in registry method.
– Saravanan DS
18 hours ago












Add Upvote if it is useful.
– Saravanan DS
18 hours ago




Add Upvote if it is useful.
– Saravanan DS
18 hours ago


















draft saved

draft discarded




















































Thanks for contributing an answer to Magento Stack Exchange!


  • Please be sure to answer the question. Provide details and share your research!

But avoid



  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.


To learn more, see our tips on writing great answers.





Some of your past answers have not been well-received, and you're in danger of being blocked from answering.


Please pay close attention to the following guidance:


  • Please be sure to answer the question. Provide details and share your research!

But avoid



  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.


To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmagento.stackexchange.com%2fquestions%2f245845%2fmagento-2-pass-multiple-parameters-in-the-admin-grid-action-url%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

1300-talet

1300-talet

Display a custom attribute below product name in the front-end Magento 1.9.3.8