Добрый вечер! Подскажите по поводу getdata-процессора. По аналогии с новинками хочу вывести на главную еще и скидки. Создала еще поле hot1 и директорию в которую положила свой getdata.class.php
require_once dirname(dirname(__FILE__)).'/getdatanew.class.php'; class modWebCatalogProductsHot1GetdataProcessor2 extends modWebCatalogProductsGetdataProcessor1{ public function initialize(){ $this->setDefaultProperties(array( 'hot1' => true, // Получать скидки "sort" => "{$this->classKey}.publishedon", "dir" => "ASC", )); return parent::initialize(); } } return 'modWebCatalogProductsHot1GetdataProcessor2';
в файле getdatanew.class.php задала процессор modWebCatalogProductsGetdataProcessor1 так, чтобы выводил скидки
require_once dirname(dirname(dirname(__FILE__))).'/resources/getdata.class.php'; class modWebCatalogProductsGetdataProcessor1 extends modWebResourcesGetdataProcessor{ public function initialize(){ $this->setDefaultProperties(array( 'hot1' => false, // Получать скидки )); $this->setProperties(array( "base_currency_id" => (int)$this->modx->getOption("shopmodx.default_currency"), // ID базовой валюты магазина )); return parent::initialize(); } public function prepareQueryBeforeCount(xPDOQuery $z) { $z = parent::prepareQueryBeforeCount($z); $alias = $z->getAlias(); $z->innerJoin('ShopmodxProduct', 'Product'); if($this->getProperty('hot1')){ $z->innerJoin('modTemplateVarResource', 'hot1', "hot1.contentid = {$alias}.id AND hot1.tmplvarid = 15 AND hot1.value='1'"); } // Поиск товаров в категории и подкатегориях if($category_id = $this->getProperty('category_id')){ $categories = array(); $this->getCategories($category_id, $categories); $Z->where(array( "parent:IN" => $categories, )); }
как бы все работает, Но при вызове выводит Новинки + Скидки все в одном массиве. Подскажите что нужно сделать, чтобы остались только Скидки?? спасибо