Прошу помочь чуть-чуть доработать
Сейчас обновляются цены cron, нужно каждый раз чистить колонку рублевую, хотел бы чтобы обновлялись только те у которых tv price_eur что-то содержит, а остальное не трогалось. Помогите, пожалуйста)
<?php
$ids = $modx->runSnippet('pdoResources', array(
'parents'=>0,
'templates'=>8,
'limit'=>0,
'returnIds'=>1
));
$arr = explode(',', $ids);
$rate = $modx->runSnippet('CRcalc', array('input'=>1, 'multiplier'=>'EUR'));
foreach($arr as $id){
$resource = $modx->getObject('modResource', $id);
if($resource->getTVValue('price')) continue;
$price_eur = $resource->getTVValue('price_eur');
$price_rub = $price_eur*$rate;
$resource->setTVValue('price', $price_rub);
}
Комментарии: 5
Может быть вот так
<?php
$ids = $modx->runSnippet('pdoResources', array(
'parents'=>0,
'templates'=>8,
'limit'=>0,
'returnIds'=>1
));
$arr = explode(',', $ids);
$rate = $modx->runSnippet('CRcalc', array('input'=>1, 'multiplier'=>'EUR'));
foreach($arr as $id){
$resource = $modx->getObject('modResource', $id);
if ($resource->getTVValue('price_eur') != 0 && $resource->getTVValue('price_eur') != '') {
if($resource->getTVValue('price')) continue;
$price_eur = $resource->getTVValue('price_eur');
$price_rub = $price_eur*$rate;
$resource->setTVValue('price', $price_rub);
}
}
не перезаписывает поле если уже заполнено tv price(
убирал if($resource->getTVValue('price')) continue; не помогло
убирал if($resource->getTVValue('price')) continue; не помогло
<?php
$ids = $modx->runSnippet('pdoResources', array(
'parents'=>0,
'templates'=>8,
'limit'=>0,
'returnIds'=>1
));
$arr = explode(',', $ids);
$rate = $modx->runSnippet('CRcalc', array('input'=>1, 'multiplier'=>'EUR'));
foreach($arr as $id){
$resource = $modx->getObject('modResource', $id);
if ($resource->getTVValue('price_eur') != 0 && $resource->getTVValue('price_eur') != '') {
if($resource->getTVValue('price')) continue;
$price_eur = $resource->getTVValue('price_eur');
$price_rub = $price_eur*$rate;
$resource->setTVValue('price', $price_rub);
} else {
if($resource->getTVValue('price')) continue;
$resource->setTVValue('price', $price_rub);
}
}
whatsapp +79195151313 помогу чем смогу
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.