/** * Выполняет преобразования данного BEMJSON-элемента остальными шаблонами. * Может понадобиться, например, чтобы добавить элемент в самый конец содержимого, * если в базовых шаблонах в конец содержимого добавляются другие элементы. * Пример: * ```javascript * bh.match('header', function(ctx) { * ctx.content([ * ctx.content(), * { elem: 'under' } * ], true); * }); * bh.match('header_float_yes', function(ctx) { * ctx.applyBase(); * ctx.content([ * ctx.content(), * { elem: 'clear' } * ], true); * }); * ``` * * @return Context */ public function applyBase() { $node = $this->node; $json = $node->json; $block = $json->block; $blockMods = $json->mods; /** @var \Closure $fm */ $subRes = $this->bh->matcherImpl($this, $json); if ($subRes !== null) { $this->ctx = $node->arr[$node->index] = $node->json = JsonCollection::normalize($subRes); $node->block = $block; // need check $node->mods = $blockMods; } return $this; }
$ae = AC::AD; break; case 'AE': $af = AF::AG; $ag = (double) $ah['AH']; if (AI($ai) == $aj) { if ($ak = (int) $al) { $am = (int) $an; } else { $ao = (double) $ap; } } break; case 'AJ': $aq = AK::AL; $ar = new AM($as['AN'], $at); $au->AO($av); list($aw, $ax, $ay, $az, $ba, $bb) = AP('AQ', $bc->AR('AT')); $bd = AU::AV($be, $bf, $bg, $bh, $bi, $bj); if ($bk != AW($bl)) { $bm = AX::AY . 'AZ' . BA::BB; } else { $bn = BC::BD; } break; case 'BE': $bo = BF::BG; $bp = BH::BI(BJ('BK' . BL('BM', BN($bq['BO'], 'BP')))); $br = BQ::BR; break; }