예제 #1
0
파일: infra.php 프로젝트: infrajs/crumb
    //Возможно у родителей обновился crumb из-за child у детей тоже должен обновиться хотя они не в child
}, 'crumb:external');
Event::handler('layer.oninit', function (&$layer) {
    //crumb child
    if (@(!$layer['child'])) {
        return;
    }
    //Это услвие после Crumb::set
    $crumb =& $layer['crumb']->child;
    if ($crumb) {
        $name = $crumb->name;
    } else {
        $name = '###child###';
    }
    Each::fora($layer['child'], function (&$l) use(&$name) {
        Crumb::set($l, 'crumb', $name);
    });
}, 'crumb:external');
Event::handler('layer.oninit', function (&$layer) {
    Each::forx($layer['childs'], function (&$l, $key) {
        //У этого childs ещё не взять external
        if (empty($l['crumb'])) {
            Crumb::set($l, 'crumb', $key);
        }
    });
}, 'crumb:external');
Event::handler('layer.ischeck', function (&$layer) {
    if (!$layer['crumb']->is) {
        return false;
    }
}, 'crumb:external');