Upsell.php 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. <?php
  2. namespace Dotdigitalgroup\Email\Block\Adminhtml\Config\Dynamic;
  3. class Upsell extends \Dotdigitalgroup\Email\Block\Adminhtml\Config\Dynamic\ReadonlyFormField
  4. {
  5. /**
  6. * @var \Dotdigitalgroup\Email\Helper\Data
  7. */
  8. public $dataHelper;
  9. /**
  10. * Upsell 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. //passcode to append for url
  31. $passcode = $this->dataHelper->getPasscode();
  32. //last order id witch information will be generated
  33. $lastOrderid = $this->dataHelper->getLastOrderId();
  34. if (empty($passcode)) {
  35. $passcode = '[PLEASE SET UP A PASSCODE]';
  36. }
  37. if (!$lastOrderid) {
  38. $lastOrderid = '[PLEASE MAP THE LAST ORDER ID]';
  39. }
  40. //generate the base url and display for default store id
  41. $baseUrl = $this->dataHelper->generateDynamicUrl();
  42. $text = sprintf(
  43. '%sconnector/product/upsell/code/%s/order_id/@%s@',
  44. $baseUrl,
  45. $passcode,
  46. $lastOrderid
  47. );
  48. $element->setData('value', $text);
  49. return parent::_getElementHtml($element);
  50. }
  51. }