123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110 |
- <?php
- /**
- * Copyright © Magento, Inc. All rights reserved.
- * See COPYING.txt for license details.
- */
- namespace Magento\Downloadable\Block\Sales\Order\Email\Items;
- use Magento\Downloadable\Model\Link;
- use Magento\Downloadable\Model\Link\Purchased;
- use Magento\Downloadable\Model\Link\Purchased\Item;
- use Magento\Store\Model\ScopeInterface;
- /**
- * Downlaodable Sales Order Email items renderer
- *
- * @api
- * @since 100.0.2
- */
- class Downloadable extends \Magento\Sales\Block\Order\Email\Items\DefaultItems
- {
- /**
- * @var Purchased
- */
- protected $_purchased;
- /**
- * @var \Magento\Downloadable\Model\Link\PurchasedFactory
- */
- protected $_purchasedFactory;
- /**
- * @var \Magento\Downloadable\Model\ResourceModel\Link\Purchased\Item\CollectionFactory
- */
- protected $_itemsFactory;
- /**
- * @var \Magento\Framework\Url
- * @since 100.1.0
- */
- protected $frontendUrlBuilder;
- /**
- * @param \Magento\Framework\View\Element\Template\Context $context
- * @param \Magento\Downloadable\Model\Link\PurchasedFactory $purchasedFactory
- * @param \Magento\Downloadable\Model\ResourceModel\Link\Purchased\Item\CollectionFactory $itemsFactory
- * @param \Magento\Framework\Url $frontendUrlBuilder
- * @param array $data
- */
- public function __construct(
- \Magento\Framework\View\Element\Template\Context $context,
- \Magento\Downloadable\Model\Link\PurchasedFactory $purchasedFactory,
- \Magento\Downloadable\Model\ResourceModel\Link\Purchased\Item\CollectionFactory $itemsFactory,
- \Magento\Framework\Url $frontendUrlBuilder,
- array $data = []
- ) {
- $this->_purchasedFactory = $purchasedFactory;
- $this->_itemsFactory = $itemsFactory;
- $this->frontendUrlBuilder = $frontendUrlBuilder;
- parent::__construct($context, $data);
- }
- /**
- * Enter description here...
- *
- * @return Purchased
- */
- public function getLinks()
- {
- $this->_purchased = $this->_purchasedFactory->create()->load(
- $this->getItem()->getOrderItemId(),
- 'order_item_id'
- );
- $purchasedLinks = $this->_itemsFactory->create()->addFieldToFilter(
- 'order_item_id',
- $this->getItem()->getOrderItemId()
- );
- $this->_purchased->setPurchasedItems($purchasedLinks);
- return $this->_purchased;
- }
- /**
- * @return null|string
- */
- public function getLinksTitle()
- {
- return $this->getLinks()->getLinkSectionTitle() ?: $this->_scopeConfig->getValue(
- Link::XML_PATH_LINKS_TITLE,
- ScopeInterface::SCOPE_STORE
- );
- }
- /**
- * @param Item $item
- * @return string
- */
- public function getPurchasedLinkUrl($item)
- {
- return $this->frontendUrlBuilder->getUrl(
- 'downloadable/download/link',
- [
- 'id' => $item->getLinkHash(),
- '_scope' => $this->getOrder()->getStore(),
- '_secure' => true,
- '_nosid' => true
- ]
- );
- }
- }
|