Как получить количество товаров с определенным значением в tv поле ?
Здравствуйте, подскажите пожалуйста у меня есть товары созданные с помощью компонента miniShop2 у этих товаров есть tv поле которые называется Proiz, у некоторых товаров в этом tv поле хранить такая строка «Atlas Concore», собственно вопрос в том, как получить количество товаров с таким значением в tv поле «Atlas Concore»?
Комментарии: 9
Можно так:
<?php
$count = 0;
foreach ($modx->getIterator('msProduct') as $resource) {
if($resource->getTVValue('Proiz') == 'Atlas Concore') $count++;
}
return $count;
Лучше через leftJoin чем каждую итерацию перебирать
Благодарю Вас за ответ, а подскажите пожалуйста как через leftJoin?
Благодарю
Благодарю Вас
Подскажите а можно получить количество товаров с определенным значением в tv поля, только в той категории в которой находишься, а то этот код выдает все товары из всех категорий. Нужно подсчитать количество товара в категории с определенным значением в tv поля.
$count = 0;
$output = $modx->getIterator('msProduct',array("parent" => 5)); //Тут id вашей категории
foreach ($output as $resource) {
if($resource->getTVValue('flagImagesYandex') == '1') $count++;
}
return $count;
Вот попробуйте этот код, соответственно имя тв, значение и id категории вам нужно подставить своё
Все работает, огромное вам спасибо!
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.