Action.php 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Email\Block\Adminhtml\Template\Grid\Renderer;
  7. /**
  8. * Email templates grid block action item renderer
  9. *
  10. * @author Magento Core Team <core@magentocommerce.com>
  11. */
  12. class Action extends \Magento\Backend\Block\Widget\Grid\Column\Renderer\Action
  13. {
  14. /**
  15. * Render grid column
  16. *
  17. * @param \Magento\Framework\DataObject $row
  18. * @return string
  19. */
  20. public function render(\Magento\Framework\DataObject $row)
  21. {
  22. $actions = [];
  23. $actions[] = [
  24. 'url' => $this->getUrl('adminhtml/*/preview', ['id' => $row->getId()]),
  25. 'popup' => true,
  26. 'caption' => __('Preview'),
  27. ];
  28. $this->getColumn()->setActions($actions);
  29. return parent::render($row);
  30. }
  31. /**
  32. * Get escaped value
  33. *
  34. * @param string $value
  35. * @return string
  36. */
  37. protected function _getEscapedValue($value)
  38. {
  39. return addcslashes(htmlspecialchars($value), '\\\'');
  40. }
  41. /**
  42. * Convert actions to html
  43. *
  44. * @param array $actions
  45. * @return string
  46. */
  47. protected function _actionsToHtml(array $actions)
  48. {
  49. $html = [];
  50. $attributesObject = new \Magento\Framework\DataObject();
  51. foreach ($actions as $action) {
  52. $attributesObject->setData($action['@']);
  53. $html[] = '<a ' . $attributesObject->serialize() . '>' . $action['#'] . '</a>';
  54. }
  55. return implode(' <span class="separator">&nbsp;|&nbsp;</span> ', $html);
  56. }
  57. }