<?php
define('MODX_API_MODE', true);
require_once __DIR__ . '/../core/config/config.inc.php';
require_once MODX_CORE_PATH . 'model/modx/modx.class.php';
$modx = new modX();
$modx->initialize('web');
$modx->getService('error', 'error.modError', '', '');
$modx->error->message = null;
$q = $modx->newQuery('modResource');
$q->leftJoin('msProductData','Data','modResource.id = Data.id');
$q->leftJoin('msProductFile','File','modResource.id = File.product_id and File.parent = 0 ');
$q->select('`modResource`.`pagetitle`,`modResource`.`content`,`Data`.`price`,`Data`.`price` as price2, GROUP_CONCAT(`File`.`url` SEPARATOR \';;\') as `images`');
$q->where([
'class_key'=>'msProduct',
'parent:NOT IN'=>[19],
]);
$q->groupby('modResource.id');
$out = [];
$site_url = rtrim($modx->getOption('site_url'),'/');
if ($q->prepare() && $q->stmt->execute()) {
$res = $q->stmt->fetchAll(PDO::FETCH_ASSOC);
$name = 'file.csv';
header('Content-type: text/csv; charset=UTF-8');
header('Content-Disposition: attachment; filename=' . $name);
$output = fopen('php://output', 'w');
foreach ($res as $product){
$images = explode(';;',$product['images']);
unset($product['images']);
$i=0;
foreach ($images as $img){
$product['image'.$i] = $site_url.$img;
$i++;
}
$product['content'] = str_replace(["\n", "\r", "\r\n",' '], ' ', $product['content']);
fputcsv($output, $product,';');
}
}
Created
January 28, 2021 16:41
-
-
Save Ibochkarev/a45a38269de25b752ea0499473e44bd0 to your computer and use it in GitHub Desktop.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment