Crosssell.php 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. <?php
  2. namespace Dotdigitalgroup\Email\Block\Adminhtml\Config\Dynamic\Cart;
  3. class Crosssell extends \Dotdigitalgroup\Email\Block\Adminhtml\Config\Dynamic\ReadonlyFormField
  4. {
  5. /**
  6. * @var \Dotdigitalgroup\Email\Helper\Data
  7. */
  8. public $dataHelper;
  9. /**
  10. * Crosssell constructor.
  11. *
  12. * @param \Magento\Backend\Block\Template\Context $context
  13. * @param \Dotdigitalgroup\Email\Helper\Data $dataHelper
  14. */
  15. public function __construct(
  16. \Magento\Backend\Block\Template\Context $context,
  17. \Dotdigitalgroup\Email\Helper\Data $dataHelper
  18. ) {
  19. $this->dataHelper = $dataHelper;
  20. parent::__construct($context);
  21. }
  22. /**
  23. * @param \Magento\Framework\Data\Form\Element\AbstractElement $element
  24. *
  25. * @return string
  26. */
  27. public function _getElementHtml(
  28. \Magento\Framework\Data\Form\Element\AbstractElement $element
  29. ) {
  30. //base url
  31. $baseUrl = $this->escapeUrl($this->dataHelper->generateDynamicUrl());
  32. //config passcode
  33. $passcode = $this->dataHelper->getPasscode();
  34. //last quote id for dynamic page
  35. $lastQuoteId = $this->dataHelper->getLastQuoteId();
  36. if (empty($passcode)) {
  37. $passcode = '[PLEASE SET UP A PASSCODE]';
  38. }
  39. //alert message for last order id is not mapped
  40. if (!$lastQuoteId) {
  41. $lastQuoteId = '[PLEASE MAP THE LAST QUOTE ID]';
  42. }
  43. //full url for dynamic content
  44. $text
  45. = sprintf(
  46. '%sconnector/quoteproducts/crosssell/code/%s/quote_id/@%s@',
  47. $baseUrl,
  48. $passcode,
  49. $lastQuoteId
  50. );
  51. $element->setData('value', $text);
  52. return parent::_getElementHtml($element);
  53. }
  54. }