![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/old/vendor/amasty/feed/Ui/DataProvider/Feed/ |
<?php /** * @author Amasty Team * @copyright Copyright (c) Amasty (https://www.amasty.com) * @package Product Feed for Magento 2 */ namespace Amasty\Feed\Ui\DataProvider\Feed; use Amasty\Feed\Model\ResourceModel\Feed\CollectionFactory; use Magento\Ui\DataProvider\AbstractDataProvider; use Magento\Framework\Escaper; class FeedDataProvider extends AbstractDataProvider { /** * @var \Magento\Ui\DataProvider\AddFieldToCollectionInterface[] */ private $addFieldStrategies; /** * @var \Magento\Ui\DataProvider\AddFilterToCollectionInterface[] */ private $addFilterStrategies; /** * @var Escaper */ private $escaper; public function __construct( $name, $primaryFieldName, $requestFieldName, Escaper $escaper, CollectionFactory $collectionFactory, array $addFieldStrategies = [], array $addFilterStrategies = [], array $meta = [], array $data = [] ) { parent::__construct($name, $primaryFieldName, $requestFieldName, $meta, $data); $this->escaper = $escaper; $this->collection = $collectionFactory->create(); $this->addFieldStrategies = $addFieldStrategies; $this->addFilterStrategies = $addFilterStrategies; } public function getCollection() { $collection = parent::getCollection(); $collection->addFieldToFilter('is_template', 0); return $collection; } /** * Add field to select * * @param string|array $field * @param string|null $alias * * @return void */ public function addField($field, $alias = null) { if (isset($this->addFieldStrategies[$field])) { $this->addFieldStrategies[$field]->addField($this->getCollection(), $field, $alias); } else { parent::addField($field, $alias); } } /** * {@inheritdoc} */ public function addFilter(\Magento\Framework\Api\Filter $filter) { if (isset($this->addFilterStrategies[$filter->getField()])) { $this->addFilterStrategies[$filter->getField()] ->addFilter( $this->getCollection(), $filter->getField(), [$filter->getConditionType() => $filter->getValue()] ); } else { parent::addFilter($filter); } } /** * @see \Amasty\Feed\Ui\Component\Listing\Column\Generated::getColumnValue * @return Escaper */ public function getEscaper() { return $this->escaper; } }