我创建了一个自定义模块,该模块定期使用选定的产品数据创建一个XML文件。生成XML的进程也可以通过自定义命令从Magento CLI运行。
尽管自定义命令生成提要,但cron似乎没有获得任何产品。在这两种情况下,都会调用一个helper来实际获取产品并写入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日志文件中,我可以看到作业正在运行(因为正在创建该文件),但其中没有产品。。。
有人能给我指一个正确的方向吗???