Отключить все модификации товара если его нет в файле
        На сайте установлен msOptionsPrice2. Есть файл domovoy.xlsx с артиклями модификаций. И есть php 
Буду благодарен за любую помощь и наводку
    
    
                                                                                
            if ( $xlsx = SimpleXLSX::parse(dirname(__FILE__).'/assets/bitrix/domovoy.xlsx') ) {
    $belor = SimpleXLSX::parse(dirname(__FILE__).'/assets/bitrix/domovoy.xlsx');
    
    $importBarcodeArr = $belor->rows();
	
	$importBarcodeCount = 0;
	foreach($importBarcodeArr as $k => $cellY){
		if($k == 0){
			continue;
		}
		if( $modification = $modx->getObject('msopModification', array('article'=> $cellY[0] )) ){
			echo 'FOUND barcode '.$cellY[0].'</br>';
			$modification->active = 1;
			$modification->save();
		}
	}
	echo $importBarcodeCount.' - done';
} else {
	echo SimpleXLSX::parseError();
}который включает модификацию, если артикль есть в файле. Вопрос в том, как отключить все остальные модификации, которых нет в файле?Буду благодарен за любую помощь и наводку
Комментарии: 5
                пока в голову пришло только с начало отключить все модификаторы, а потом включать те, что есть в файле
но может есть более рациональный способ?
                    $modifications = $modx->getCollection('msopModification');
foreach ($modifications as $modification) {
	$modification->active = 0;
	$modification->save();
} но может есть более рациональный способ?
                В целом мысль здравая. Но лучше использовать метод $modx->getIteraror(). И выбирать модификации только текущего ресурса.            
                    
                появилась еще одна проблема
как это можно исправить?
                    if( $modification = $modx->getObject('msopModification', array('article'=> $cellY[0] )) ){если на сайте несколько одинаковых артиклей, то меняет не все, а только первыйкак это можно исправить?
$modifications = $modx->getObject('msopModification', array('article'=> $cellY[0] );
foreach($modifications as $modification){
// тут остальное
}            
                спасибо большое за помощь!            
                    
                            Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.