Список всех значений дополнительного свойства по id

#
Список всех значений дополнительного свойства по id
Подскажите пожалуйста, как получить список всех значений дополнительного свойства по его id, нужно чтобы обработать в PHP минимальное и максимальное значение для фильтра.
Модератор
#
Re: Список всех значений дополнительного свойства по id
$oProperty = Core_Entity::factory('Property', 123);
$aList_Items = $oProperty->List->List_Items->findAll(FALSE);

foreach ($aList_Items as $oList_Item)
{
   // ...
}
#
Re: Список всех значений дополнительного свойства по id
$oProperty->List->List_Items->findAll(FALSE);

Спасибо, вот тут не знал что писать. =)
#
Re: Список всех значений дополнительного свойства по id
Так, не много не то что нужно, я наверное не правильно объяснил. У товаров есть доп поле "мощность в кв.", для фильтра мне нужно получить минимальное значение этого доп поля, к примеру 10 кв. и максимальное, к примеру 300 кв.

То есть мне нужно получить значение всех заполненных у товаров в этой группе, чтобы выявить минимальное и максимальное значение.

#
Re: Список всех значений дополнительного свойства по id
В общем решил проблему так:

   $oCore_DataBase = Core_DataBase::instance()
          ->setQueryType(0)
          ->query('SELECT * FROM property_value_strings WHERE property_id=84 GROUP BY value');
   $aRows = $oCore_DataBase->asAssoc()->result();
   foreach ($aRows as $oRows) {
      echo $oRows["value"];
   }


Есть какой то способ безопаснее и проще? подскажите..
#
Re: Список всех значений дополнительного свойства по id
Пример контроллера с получением минимальных/максимальных значений доп свойства:


<?php

class Shop_Controller_Extend_Show extends Shop_Controller_Show
{

   public function addMinMaxProperty($aProperties_id)
   {
      $iCurrentShopGroup = intval($this->group);

      $oShop = $this->getEntity();
   
         foreach($aProperties_id as $property_id)
         {
            $aPropertyValues = '';
            $oProperty = Core_Entity::factory('Property', $property_id);

            $oShop_Items = $oShop->Shop_Items;
            $this->_applyItemConditionsQueryBuilder($oShop_Items->queryBuilder());

            $aShop_Items = $oShop_Items->getAllByShop_Group_Id($iCurrentShopGroup);            
            
            foreach($aShop_Items as $oShop_Item)
            {
               $oPropertyValue = $oProperty->getValues($oShop_Item->id, FALSE);
               if(isset($oPropertyValue[0]))
               {
                  $aPropertyValues[] = $oPropertyValue[0]->value;
               }
            }

            if(is_array($aPropertyValues))
            {
               $minPropertyValue = min($aPropertyValues);
               $maxPropertyValue = max($aPropertyValues);

               $this->addEntity(
                  Core::factory('Core_Xml_Entity')
                        ->name('minPropertyValue')
                        ->value($minPropertyValue)
                        ->addAttribute('id', $property_id)
                     )
                  ->addEntity(
                     Core::factory('Core_Xml_Entity')
                        ->name('maxPropertyValue')
                        ->value($maxPropertyValue)
                        ->addAttribute('id', $property_id)
                  );
            }
         }

      return $this;
   }
}
«Не выходи из комнаты, не совершай ошибку…»
#
Re: Список всех значений дополнительного свойства по id
llirik,
Скажите, как это использовать в стандартном ТДС http://demoshop.hostcms.ru ?
E-mail: info@syrbek.ru / телега: @syrbek /skype: activexm / syrbek.ru / Поддержка сайтов / г. Москва [HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, Git, SVN, Redmine]
#
Re: Список всех значений дополнительного свойства по id
В поддержке дали подробный ответ. Спасибо.
E-mail: info@syrbek.ru / телега: @syrbek /skype: activexm / syrbek.ru / Поддержка сайтов / г. Москва [HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, Git, SVN, Redmine]
Модератор
#
Re: Список всех значений дополнительного свойства по id
1. Для использования у фильтра или в ТДС вместо new Shop_Controller_Show() используете new Shop_Controller_Extend_Show()
2. Добавление значений для свойств 5, 7 и 9:
->addMinMaxProperty(array(5, 7, 9))
->show();
#
Re: Список всех значений дополнительного свойства по id
hostcms писал(а):
1. Для использования у фильтра или в ТДС вместо new Shop_Controller_Show() используете new Shop_Controller_Extend_Show()
2. Добавление значений для свойств 5, 7 и 9:
->addMinMaxProperty(array(5, 7, 9))
->show();


Спасибо большое! Всё работает.
Ускорение сайтов / Любые работы по сайту / Обращайтесь в nivaks-studio.ru
Авторизация