Пример #1
0
            $menuBuilder->buildTree();
        }
        break;
    case 'OnDocFormSave':
        // menubuilder.fireOnDocFormSave System Setting:
        if ($modx->getOption('menubuilder.rebuildOnDocFormSave', null, true)) {
            $new_parent = $resource->get('parent');
            $new_menuindex = $resource->get('menuindex');
            $sequence = $modx->getObject('MbSequence', array('resource_id' => $resource->get('id')));
            if (!is_object($sequence)) {
                //$menuBuilder->setDebug();
                $menuBuilder->buildTree();
            } else {
                $org_parent = $org_menuindex = null;
                if (is_object($sequence)) {
                    $org_parent = $sequence->get('org_parent');
                    $org_menuindex = $sequence->get('org_menuindex');
                }
                if ($new_parent != $org_parent) {
                    // rebuild all @TODO context_key only
                    $menuBuilder->buildTree();
                } else {
                    if ($new_menuindex != $org_menuindex) {
                        // just rebuild the branch with the change:
                        $menuBuilder->buildBranch($new_parent, array('context_key' => $sequence->get('context_key')));
                    }
                }
            }
        }
        break;
}