diff --git a/app/code/Magento/Catalog/Controller/Product/Compare/Add.php b/app/code/Magento/Catalog/Controller/Product/Compare/Add.php index 89eb6c9be929f..eb9cc83125541 100644 --- a/app/code/Magento/Catalog/Controller/Product/Compare/Add.php +++ b/app/code/Magento/Catalog/Controller/Product/Compare/Add.php @@ -36,7 +36,14 @@ public function execute() $productName = $this->_objectManager->get( \Magento\Framework\Escaper::class )->escapeHtml($product->getName()); - $this->messageManager->addSuccess(__('You added product %1 to the comparison list.', $productName)); + $this->messageManager->addComplexSuccessMessage( + 'addCompareSuccessMessage', + [ + 'product_name' => $productName, + 'compare_list_url' => $this->_url->getUrl('catalog/product_compare') + ] + ); + $this->_eventManager->dispatch('catalog_product_compare_add_product', ['product' => $product]); } diff --git a/app/code/Magento/Catalog/etc/frontend/di.xml b/app/code/Magento/Catalog/etc/frontend/di.xml index d62ecdb632ac4..14deaec9b4586 100644 --- a/app/code/Magento/Catalog/etc/frontend/di.xml +++ b/app/code/Magento/Catalog/etc/frontend/di.xml @@ -79,6 +79,18 @@ recently_compared_product + + + + + \Magento\Framework\View\Element\Message\Renderer\BlockRenderer::CODE + + Magento_Catalog::messages/addCompareSuccessMessage.phtml + + + + + diff --git a/app/code/Magento/Catalog/view/frontend/templates/messages/addCompareSuccessMessage.phtml b/app/code/Magento/Catalog/view/frontend/templates/messages/addCompareSuccessMessage.phtml new file mode 100644 index 0000000000000..5f44c42e17c57 --- /dev/null +++ b/app/code/Magento/Catalog/view/frontend/templates/messages/addCompareSuccessMessage.phtml @@ -0,0 +1,14 @@ + +escapeHtml(__( + 'You added product %1 to the comparison list.', + $block->getData('product_name'), + $block->getData('compare_list_url')), + ['a'] +); diff --git a/dev/tests/integration/testsuite/Magento/Catalog/Controller/Product/CompareTest.php b/dev/tests/integration/testsuite/Magento/Catalog/Controller/Product/CompareTest.php index 21cbd6b9fb92e..3f2a0cdeaba0f 100644 --- a/dev/tests/integration/testsuite/Magento/Catalog/Controller/Product/CompareTest.php +++ b/dev/tests/integration/testsuite/Magento/Catalog/Controller/Product/CompareTest.php @@ -49,7 +49,7 @@ public function testAddAction() ); $this->assertSessionMessages( - $this->equalTo(['You added product Simple Product 1 Name to the comparison list.']), + $this->equalTo(['You added product Simple Product 1 Name to the comparison list.']), MessageInterface::TYPE_SUCCESS );