PaymentLink.php 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. <?php
  2. /**
  3. * Copyright 2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
  4. *
  5. * Licensed under the Apache License, Version 2.0 (the "License").
  6. * You may not use this file except in compliance with the License.
  7. * A copy of the License is located at
  8. *
  9. * http://aws.amazon.com/apache2.0
  10. *
  11. * or in the "license" file accompanying this file. This file is distributed
  12. * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
  13. * express or implied. See the License for the specific language governing
  14. * permissions and limitations under the License.
  15. */
  16. namespace Amazon\Payment\Block;
  17. use Amazon\Core\Helper\CategoryExclusion;
  18. use Amazon\Core\Helper\Data;
  19. use Magento\Framework\View\Element\Template;
  20. use Magento\Framework\View\Element\Template\Context;
  21. use Magento\Catalog\Model\Product;
  22. /**
  23. * @api
  24. */
  25. class PaymentLink extends Template
  26. {
  27. /**
  28. * @var Data
  29. */
  30. protected $coreHelper;
  31. /**
  32. * @var CategoryExclusion
  33. */
  34. protected $categoryExclusionHelper;
  35. /**
  36. * @param Context $context
  37. * @param Data $coreHelper
  38. * @param CategoryExclusion $categoryExclusionHelper
  39. * @param array $data
  40. */
  41. public function __construct(
  42. Context $context,
  43. Data $coreHelper,
  44. CategoryExclusion $categoryExclusionHelper,
  45. array $data = []
  46. ) {
  47. parent::__construct($context, $data);
  48. $this->coreHelper = $coreHelper;
  49. $this->categoryExclusionHelper = $categoryExclusionHelper;
  50. }
  51. /**
  52. * {@inheritdoc}
  53. */
  54. protected function _toHtml()
  55. {
  56. if (! $this->coreHelper->isPaymentButtonEnabled() || $this->categoryExclusionHelper->isQuoteDirty()) {
  57. return '';
  58. }
  59. return parent::_toHtml();
  60. }
  61. }