Использование selector в режиме or-mode для выборки по опционному свойству. — различия между версиями
Материал из Umicms
Williwaw (обсуждение | вклад) (Новая страница: «'''Актуально для версии 2.9.5''' == Задача == Предположим, в Каталоге имеются товары, у которых з…») |
Williwaw (обсуждение | вклад) |
||
Строка 25: | Строка 25: | ||
</source> | </source> | ||
− | [[Категория: | + | [[Категория:API]] |
Текущая версия на 10:07, 31 декабря 2013
Актуально для версии 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}";