Agreements.php 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\CheckoutAgreements\Block;
  7. use Magento\Store\Model\ScopeInterface;
  8. /**
  9. * @api
  10. * @since 100.0.2
  11. */
  12. class Agreements extends \Magento\Framework\View\Element\Template
  13. {
  14. /**
  15. * @var \Magento\CheckoutAgreements\Model\ResourceModel\Agreement\CollectionFactory
  16. */
  17. protected $_agreementCollectionFactory;
  18. /**
  19. * @param \Magento\Framework\View\Element\Template\Context $context
  20. * @param \Magento\CheckoutAgreements\Model\ResourceModel\Agreement\CollectionFactory $agreementCollectionFactory
  21. * @param array $data
  22. * @codeCoverageIgnore
  23. */
  24. public function __construct(
  25. \Magento\Framework\View\Element\Template\Context $context,
  26. \Magento\CheckoutAgreements\Model\ResourceModel\Agreement\CollectionFactory $agreementCollectionFactory,
  27. array $data = []
  28. ) {
  29. $this->_agreementCollectionFactory = $agreementCollectionFactory;
  30. parent::__construct($context, $data);
  31. }
  32. /**
  33. * @return mixed
  34. */
  35. public function getAgreements()
  36. {
  37. if (!$this->hasAgreements()) {
  38. $agreements = [];
  39. if ($this->_scopeConfig->isSetFlag('checkout/options/enable_agreements', ScopeInterface::SCOPE_STORE)) {
  40. /** @var \Magento\CheckoutAgreements\Model\ResourceModel\Agreement\Collection $agreements */
  41. $agreements = $this->_agreementCollectionFactory->create();
  42. $agreements->addStoreFilter($this->_storeManager->getStore()->getId());
  43. $agreements->addFieldToFilter('is_active', 1);
  44. }
  45. $this->setAgreements($agreements);
  46. }
  47. return $this->getData('agreements');
  48. }
  49. }