コード例 #1
0
ファイル: filters.php プロジェクト: infrajs/catalog
 */
namespace infrajs\catalog;

use infrajs\excel\Xlsx;
use infrajs\config\Config;
use infrajs\path\Path;
use infrajs\sequence\Sequence;
use infrajs\ans\Ans;
$ans = array();
$md = Catalog::initMark($ans);
$args = array(Catalog::nocache($md));
$res = Catalog::cache('filters.php filter list', function ($md) {
    $conf = Config::get('catalog');
    $ans = array();
    $params = Catalog::getParams($md['group']);
    $poss = Catalog::getPoss($md['group']);
    //Поиск
    $count = sizeof($poss);
    //Позиций в группе
    $res = Catalog::search($md);
    $poss = $res['list'];
    $search = sizeof($poss);
    //Позиций найдено
    //ПОСЧИТАЛИ FILTER со всеми md
    foreach ($params as $k => $prop) {
        if ($prop['more']) {
            foreach ($poss as &$pos) {
                if (!Xlsx::isSpecified($pos['more'][$prop['posid']])) {
                    continue;
                }
                $r = false;
コード例 #2
0
ファイル: Catalog.php プロジェクト: infrajs/catalog
 public static function search($md, &$ans = array())
 {
     $args = array(Catalog::nocache($md));
     $res = Catalog::cache('search.php filter list', function ($md) {
         $ans['list'] = Catalog::getPoss($md['group']);
         //ЭТАП filters list
         $ans['filters'] = Catalog::filtering($ans['list'], $md);
         $now = null;
         foreach ($md['group'] as $now => $one) {
             break;
         }
         $ans['childs'] = Catalog::getGroups($ans['list'], $now);
         $ans['count'] = sizeof($ans['list']);
         return $ans;
     }, $args, isset($_GET['re']));
     $ans = array_merge($ans, $res);
     return $ans;
 }