| Current Path : /var/www/clients/client3/web2/web/vendor/dotmailer/dotmailer-magento2-extension/Block/ |
| Current File : /var/www/clients/client3/web2/web/vendor/dotmailer/dotmailer-magento2-extension/Block/Wishlist.php |
<?php
namespace Dotdigitalgroup\Email\Block;
use Dotdigitalgroup\Email\Model\Product\ImageFinder;
use Dotdigitalgroup\Email\Model\Product\ImageType\Context\DynamicContent;
/**
* Wishlist block
*
* @api
*/
class Wishlist extends Recommended
{
/**
* @var \Dotdigitalgroup\Email\Helper\Data
*/
public $helper;
/**
* @var \Magento\Framework\Pricing\Helper\Data
*/
public $priceHelper;
/**
* @var \Magento\Customer\Model\CustomerFactory
*/
public $customerFactory;
/**
* @var \Dotdigitalgroup\Email\Model\ResourceModel\Wishlist
*/
public $wishlist;
/**
* @var \Magento\Customer\Model\ResourceModel\Customer
*/
private $customerResource;
/**
* Wishlist constructor.
*
* @param \Magento\Catalog\Block\Product\Context $context
* @param Helper\Font $font
* @param \Dotdigitalgroup\Email\Model\Catalog\UrlFinder $urlFinder
* @param DynamicContent $imageType
* @param ImageFinder $imageFinder
* @param \Magento\Customer\Model\ResourceModel\Customer $customerResource
* @param \Dotdigitalgroup\Email\Model\ResourceModel\Wishlist $wishlist
* @param \Magento\Customer\Model\CustomerFactory $customerFactory
* @param \Dotdigitalgroup\Email\Helper\Data $helper
* @param \Magento\Framework\Pricing\Helper\Data $priceHelper
* @param array $data
*/
public function __construct(
\Magento\Catalog\Block\Product\Context $context,
Helper\Font $font,
\Dotdigitalgroup\Email\Model\Catalog\UrlFinder $urlFinder,
DynamicContent $imageType,
ImageFinder $imageFinder,
\Magento\Customer\Model\ResourceModel\Customer $customerResource,
\Dotdigitalgroup\Email\Model\ResourceModel\Wishlist $wishlist,
\Magento\Customer\Model\CustomerFactory $customerFactory,
\Dotdigitalgroup\Email\Helper\Data $helper,
\Magento\Framework\Pricing\Helper\Data $priceHelper,
array $data = []
) {
$this->wishlist = $wishlist;
$this->customerFactory = $customerFactory;
$this->helper = $helper;
$this->priceHelper = $priceHelper;
$this->customerResource = $customerResource;
parent::__construct($context, $font, $urlFinder, $imageType, $imageFinder, $data);
}
/**
* Get wishlist items.
*
* @return boolean|\Magento\Wishlist\Model\ResourceModel\Item\Collection
*/
public function getWishlistItems()
{
$wishlist = $this->_getWishlist();
if ($wishlist && $wishlist->getItemCollection()->getSize()) {
return $wishlist->getItemCollection();
} else {
return false;
}
}
/**
* @return bool|\Magento\Framework\DataObject
*/
public function _getWishlist()
{
$params = $this->getRequest()->getParams();
if (! $params['customer_id'] ||
! isset($params['code']) ||
! $this->helper->isCodeValid($params['code'])
) {
$this->helper->log('Wishlist no id or valid code is set');
return false;
}
$customerId = (int) $params['customer_id'];
$customer = $this->customerFactory->create();
$this->customerResource->load($customer, $customerId);
if (! $customer->getId()) {
return false;
}
return $this->wishlist->getWishlistsForCustomer($customerId);
}
/**
* Wishlist display mode type.
*
* @return string|boolean
*/
public function getMode()
{
return $this->helper->getWebsiteConfig(
\Dotdigitalgroup\Email\Helper\Config::XML_PATH_CONNECTOR_DYNAMIC_CONTENT_WISHLIST_DISPLAY
);
}
/**
* Product url.
*
* @param null|string|bool|int|\Magento\Store\Api\Data\StoreInterface $store
*
* @return boolean|string
*/
public function getTextForUrl($store)
{
/** @var \Magento\Store\Model\Store $store */
$store = $this->_storeManager->getStore($store);
return $store->getConfig(
\Dotdigitalgroup\Email\Helper\Config::XML_PATH_CONNECTOR_DYNAMIC_CONTENT_LINK_TEXT
);
}
}