К содержанию

Как получить количество товаров с определенным значением в tv поле ?

Здравствуйте, подскажите пожалуйста у меня есть товары созданные с помощью компонента miniShop2 у этих товаров есть tv поле которые называется Proiz, у некоторых товаров в этом tv поле хранить такая строка «Atlas Concore», собственно вопрос в том, как получить количество товаров с таким значением в tv поле «Atlas Concore»?
Сергей Хлопов
Сергей Хлопов
25 июня 2018, 12:26
modx.pro
1 916
Реклама

Комментарии: 9

Павел Романов
Павел Романов Проверенный
25 июня 2018, 17:18
Можно так:
<?php
$count = 0;
foreach ($modx->getIterator('msProduct') as $resource) {
	if($resource->getTVValue('Proiz') == 'Atlas Concore') $count++;
}
return $count;
    Михаил
    Михаил Эксперт
    25 июня 2018, 17:38
    Лучше через leftJoin чем каждую итерацию перебирать
    Сергей Хлопов
    Сергей Хлопов Старожил
    25 июня 2018, 17:46
    Благодарю Вас
    Антон
    Антон Старожил
    04 сентября 2018, 12:57
    Подскажите а можно получить количество товаров с определенным значением в tv поля, только в той категории в которой находишься, а то этот код выдает все товары из всех категорий. Нужно подсчитать количество товара в категории с определенным значением в tv поля.
      Сергей Хлопов
      Сергей Хлопов Старожил
      04 сентября 2018, 21:02
      $count = 0;
      $output = $modx->getIterator('msProduct',array("parent" => 5)); //Тут id вашей категории
      foreach ($output as $resource) {
      	if($resource->getTVValue('flagImagesYandex') == '1') $count++;
      }
      return $count;
      Вот попробуйте этот код, соответственно имя тв, значение и id категории вам нужно подставить своё
        Антон
        Антон Старожил
        05 сентября 2018, 22:01
        Все работает, огромное вам спасибо!
      Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
      9