Пользовательский модуль Magento 2 экспорт через cron нет продуктов - PullRequest
0 голосов
/ 21 октября 2019

Я создал пользовательский модуль, который через равные промежутки времени создает файл XML с данными выбранного продукта. Процесс, генерирующий XML, также можно запустить из Magento CLI с помощью пользовательской команды.

Несмотря на то, что пользовательская команда создает канал, cron, похоже, не получает никаких продуктов. В обоих случаях вызывается помощник, который фактически получает продукты и записывает файл XML. Вот код, который получает продукты:

$objectManager = \Magento\Framework\App\ObjectManager::getInstance();

        try{
            $appState = $objectManager->get('Magento\Framework\App\State');
            $appState->setAreaCode(\Magento\Framework\App\Area::AREA_ADMINHTML);
        } finally {
            //
        }

        $this->collection = $objectManager->create('Magento\Catalog\Model\ResourceModel\Product\Collection');
        $this->collection->addAttributeToFilter('status', 1); //enabled
        $this->collection->addAttributeToFilter('visibility', 4); //catalog, search
        if( !$this->show_outofstock ) {
            $this->stockFilter->addInStockFilterToCollection($this->collection);
        }
        $this->collection->addWebsiteFilter(1);
        $this->collection->load();

        $this->iterator->walk( $this->collection->getSelect(), array(array($this, 'productCallback')) );

В файле журнала cron я вижу, что задание запущено (поскольку файл создается), но в нем нет продуктов ...

Кто-нибудь может указать мне правильное направление с этим ???

...