products_collection

Предоставляет возможность формирования коллекций товаров для отображения в бекенде или фронтенде.

Shop-Script
Входящие параметры
передаются по ссылке
$params array Массив параметров.
$params['collection'] shopProductsCollection Экземпляр класса для доступа к коллекции товаров.
$params['auto_title'] bool Флаг, обозначающий необходимость применения к коллекции товаров стандартного текстового заголовка.
$params['add'] bool Флаг, обозначающий необходимость добавлять новые условия формирования коллекции при повторном (рекурсивном) вызове методов класса shopProductsCollection.
… код плагина …
Результат работы плагина
$return['']

true, если запрошен корректный хеш, ожидаемый данным плагином; false — во всех остальных случаях. URL для формирования коллекции товаров должен иметь вид ?action=products#/products/hash=*** Значение hash в URL должен представлять собой один или два идентификатора, разделенные символом /. Идентификаторы, содержащиеся в hash, доступны в обработчике хука в виде массива, возвращаемого методом getHash() класса shopProductsCollection.

Shop-Script

Пример кода плагина

PHP

public function productsCollection($params)
{
    $collection = $params['collection'];
    $hash = $collection->getHash();
    if (count($hash) == 1 && $hash[0] == 'mypligin') {    //accept only simple hash in this example; e.g., ?action=products#/products/hash=myplugin
        $collection->addWhere('...'); //add your WHERE condition
        return true;
    } else {
        return false;
    }
    /*
    if (count($hash) == 2 && $hash[0] == 'mypligin') {    //accept only complex hashes in this example; e.g., ?action=products#/products/hash=myplugin/foo
        switch ($hash[1]) {
            case 'foo':
                $collection->addWhere('...'); //add a WHERE condition
                return true;
            case 'bar':
                $collection->addWhere('...'); //add another WHERE condition
                return true;
            default:
                return false;
        }
    }
    */
}