Использование selector в режиме or-mode для выборки по опционному свойству.

Материал из Umicms
Версия от 10:07, 31 декабря 2013; Williwaw (обсуждение | вклад) (Новая страница: «'''Актуально для версии 2.9.5''' == Задача == Предположим, в Каталоге имеются товары, у которых з…»)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к:навигация, поиск

Актуально для версии 2.9.5

Задача

Предположим, в Каталоге имеются товары, у которых задано опционное некое свойство, например "упаковка". При этом, у двух товаров есть два различных варианта упаковки с модификаторами цены 30 и 40, у третьего только 40, а у четвертого, также, один вариант упаковки с модификатором 60. Необходимо задать выборку, которая выведет в итоге все товары, у которых упаковка может стоить 30 или 40 у.е.

Решение

Код выборки будет следующий:

$pages = new selector('pages');
$pages->types('hierarchy-type')->name('catalog', 'object');
$pages->option('or-mode')->field('upakovka');               
$pages->where('upakovka')->equals(array('float' => 30)); 
$pages->where('upakovka')->equals(array('float' => 40));

Результаты можно вывести например так:

foreach($pages as $page){

        echo "<a href=\"{$page->link}\">{$page->name}</a>\n";
}
echo "Pages found: {$pages->length}";