Skip to content

Commit 01cfa18

Browse files
committed
image url
1 parent 84099c8 commit 01cfa18

File tree

1 file changed

+28
-3
lines changed

1 file changed

+28
-3
lines changed

Model/Resolver/LabelDataProvider.php

100644100755
Lines changed: 28 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,13 +25,17 @@
2525

2626
use Magento\Catalog\Api\Data\ProductInterface;
2727
use Magento\Framework\Exception\LocalizedException;
28+
use Magento\Framework\Exception\NoSuchEntityException;
2829
use Magento\Framework\GraphQl\Config\Element\Field;
2930
use Magento\Framework\GraphQl\Query\ResolverInterface;
3031
use Magento\Framework\GraphQl\Schema\Type\ResolveInfo;
32+
use Magento\Framework\UrlInterface;
3133
use Mageplaza\ProductLabels\Block\Label;
3234
use Mageplaza\ProductLabels\Helper\Data;
35+
use Mageplaza\ProductLabels\Helper\Image;
3336
use Mageplaza\ProductLabels\Model\LabelRepository;
3437
use Mageplaza\ProductLabels\Model\Rule;
38+
use Magento\Store\Model\StoreManagerInterface;
3539

3640
/**
3741
* Class LabelDataProvider
@@ -54,21 +58,29 @@ class LabelDataProvider implements ResolverInterface
5458
*/
5559
protected $helperData;
5660

61+
/**
62+
* @var StoreManagerInterface
63+
*/
64+
protected $storeManager;
65+
5766
/**
5867
* LabelDataProvider constructor.
5968
*
6069
* @param LabelRepository $labelRepository
6170
* @param Label $label
6271
* @param Data $helperData
72+
* @param StoreManagerInterface $storeManager
6373
*/
6474
public function __construct(
6575
LabelRepository $labelRepository,
6676
Label $label,
67-
Data $helperData
77+
Data $helperData,
78+
StoreManagerInterface $storeManager
6879
) {
6980
$this->labelRepository = $labelRepository;
7081
$this->label = $label;
7182
$this->helperData = $helperData;
83+
$this->storeManager = $storeManager;
7284
}
7385

7486
/**
@@ -92,12 +104,25 @@ public function resolve(Field $field, $context, ResolveInfo $info, array $value
92104
foreach ($this->label->getRulesApplyProduct($product) as $rule) {
93105
if ($this->label->validateProductInRule($rule, $product->getId())) {
94106
$label = $this->labelRepository->getById($rule->getId());
95-
$label->setLabelTemplate($this->label->getTemplateUrl($label->getLabelTemplate()));
96-
$label->setListTemplate($this->helperData->getImageUrl($label->getListTemplate()));
107+
$label->setLabelTemplate($this->getImageUrl($label->getLabelTemplate()));
108+
$label->setListTemplate($this->getImageUrl($label->getListTemplate()));
97109
$labelData[] = $label;
98110
}
99111
}
100112

101113
return $labelData;
102114
}
115+
116+
/**
117+
* @param string $fileName
118+
*
119+
* @return string
120+
* @throws NoSuchEntityException
121+
*/
122+
public function getImageUrl($fileName)
123+
{
124+
$mediaPath = $this->storeManager->getStore()->getBaseUrl(UrlInterface::URL_TYPE_MEDIA);
125+
126+
return $mediaPath . Image::TEMPLATE_MEDIA_PATH . '/' . Image::TEMPLATE_MEDIA_LABEL . '/' . $fileName;
127+
}
103128
}

0 commit comments

Comments
 (0)