151 lines
4.2 KiB
PHP
Executable File
151 lines
4.2 KiB
PHP
Executable File
<?php
|
|
|
|
/**
|
|
* Athlete2 Theme
|
|
*
|
|
* NOTICE OF LICENSE
|
|
*
|
|
* This source file is subject to the Olegnax.com license that is
|
|
* available through the world-wide-web at this URL:
|
|
* https://www.olegnax.com/license
|
|
*
|
|
* DISCLAIMER
|
|
*
|
|
* Do not edit or add to this file if you wish to upgrade this extension to newer
|
|
* version in the future.
|
|
*
|
|
* @category Olegnax
|
|
* @package Olegnax_Athlete2
|
|
* @copyright Copyright (c) 2023 Olegnax (http://www.olegnax.com/)
|
|
* @license https://www.olegnax.com/license
|
|
*/
|
|
|
|
namespace Olegnax\Athlete2\Block\Html;
|
|
|
|
use Magento\Backend\Block\Template\Context;
|
|
use Magento\Framework\View\Element\Template;
|
|
use Olegnax\Athlete2\Helper\Helper;
|
|
use Olegnax\Athlete2\Helper\ProductImage as HelperProductImage;
|
|
|
|
class PrevNextProduct extends Template
|
|
{
|
|
|
|
/**
|
|
*
|
|
* @var \Olegnax\Athlete2\Helper\PrevNextProduct
|
|
*/
|
|
protected $prevNextProductHelper;
|
|
|
|
/**
|
|
*
|
|
* @var HelperProductImage
|
|
*/
|
|
protected $imageHelper;
|
|
protected $product;
|
|
/**
|
|
* @var Helper
|
|
*/
|
|
private $helper;
|
|
|
|
public function __construct(
|
|
Context $context,
|
|
\Olegnax\Athlete2\Helper\PrevNextProduct $prevNextProductHelper,
|
|
Helper $helper,
|
|
HelperProductImage $imageHelper,
|
|
array $data = []
|
|
) {
|
|
$this->prevNextProductHelper = $prevNextProductHelper;
|
|
$this->helper = $helper;
|
|
$this->imageHelper = $imageHelper;
|
|
parent::__construct($context, $data);
|
|
}
|
|
|
|
public function getName()
|
|
{
|
|
if ($this->isProductExists()) {
|
|
return $this->getProduct()->getName();
|
|
}
|
|
return false;
|
|
}
|
|
|
|
public function isProductExists()
|
|
{
|
|
return (bool)$this->getProduct();
|
|
}
|
|
|
|
public function getProductUrl()
|
|
{
|
|
if ($this->isProductExists()) {
|
|
return $this->getProduct()->getProductUrl();
|
|
}
|
|
return false;
|
|
}
|
|
|
|
public function getImage($imageId, $template = HelperProductImage::TEMPLATE, array $attributes = [], $properties = [])
|
|
{
|
|
if ($this->isProductExists()) {
|
|
return $this->imageHelper->getImage($this->getProduct(), $imageId, $template,
|
|
$attributes, $properties);
|
|
}
|
|
return false;
|
|
}
|
|
|
|
public function getImageHover($imageId, $imageId_hover, $template = HelperProductImage::HOVER_TEMPLATE, array $attributes = [], $properties = [])
|
|
{
|
|
if ($this->isProductExists()) {
|
|
return $this->imageHelper->getImageHover($this->getProduct(), $imageId,
|
|
$imageId_hover, $template, $attributes, $properties);
|
|
}
|
|
return false;
|
|
}
|
|
|
|
public function getResizedImage($imageId, $size, $template = HelperProductImage::TEMPLATE, array $attributes = [], $properties = [])
|
|
{
|
|
if ($this->isProductExists()) {
|
|
return $this->imageHelper->getResizedImage($this->getProduct(), $imageId, $size,
|
|
$template, $attributes, $properties);
|
|
}
|
|
return false;
|
|
}
|
|
|
|
public function getResizedImageHover($imageId, $imageId_hover, $size, $template = HelperProductImage::HOVER_TEMPLATE, array $attributes = [], $properties = [])
|
|
{
|
|
if ($this->isProductExists()) {
|
|
return $this->imageHelper->getResizedImageHover($this->getProduct(), $imageId,
|
|
$imageId_hover, $size, $template, $attributes, $properties);
|
|
}
|
|
return false;
|
|
}
|
|
|
|
public function hasHoverImage($imageId, $imageId_hover)
|
|
{
|
|
if ($this->isProductExists()) {
|
|
return $this->imageHelper->hasHoverImage($this->getProduct(), $imageId,
|
|
$imageId_hover);
|
|
}
|
|
return false;
|
|
}
|
|
|
|
protected function _prepareLayout()
|
|
{
|
|
if ($this->getIsNext()) {
|
|
$this->setData('product', $this->prevNextProductHelper->getNextProduct());
|
|
} else {
|
|
$this->setData('product', $this->prevNextProductHelper->getPreviousProduct());
|
|
}
|
|
|
|
return parent::_prepareLayout();
|
|
}
|
|
|
|
protected function _toHtml()
|
|
{
|
|
if ($this->helper->isEnabled() &&
|
|
$this->helper->getModuleConfig('product/prev_next') &&
|
|
$this->isProductExists()) {
|
|
return parent::_toHtml();
|
|
}
|
|
return '';
|
|
}
|
|
|
|
}
|