<?php
ini_set('display_errors', 1);
ini_set('max_execution_time', 0);
ignore_user_abort(true);
$templates = array(3);
$tv_price_id = 1;
$currency = $modx->getOption('shopmodx.default_currency');
$q = $modx->newQuery('modResource', [
"template:in" => $templates,
]);
$q->leftJoin('modTemplateVarResource', 'tv_price', "tv_price.contentid = modResource.id AND tv_price.tmplvarid = {$tv_price_id}");
$q->leftJoin('ShopmodxProduct', "Product");
$q->where(array(
"Product.id" => null,
));
print "\nНайдено товаров: ". $modx->getCount('modResource', $q);
$q->select(array(
"modResource.*",
"tv_price.value as sm_price",
));
foreach($modx->getIterator('modResource', $q) as $doc){
$doc->class_key = 'ShopmodxResourceProduct';
$doc->save();
$data = array_merge($doc->toArray(), array(
"sm_currency" => $currency,
));
$response = $modx->runProcessor('resource/update', $data);
if($response->isError()){
print "Error!";
print_r($response->getResponse());
return '';
}
}
print "\nOK";