* Build out menu, flush DB at first */ $core_path = $modx->getOption('menubuilder.core_path', null, $modx->getOption('core_path') . 'components/menubuilder/'); require_once $core_path . 'model/menubuilder/MenuBuilder.php'; $placeholder = $modx->getOption('placeholder', $scriptProperties, null); $menuBuilder = new MenuBuilder($modx); if ((bool) $modx->getOption('debug', $scriptProperties, false)) { $menuBuilder->setDebug(); } $branch_parents = $modx->getParentIds($modx->resource->get('id')); // @TODO set via context_key: $site_start = (int) $modx->getOption('site_start', null, 1); /** * Now get user options: */ $menuBuilder->setOption('startId', (int) $modx->getOption('startId', $scriptProperties, 0))->setOption('displayStart', (bool) $modx->getOption('displayStart', $scriptProperties, false))->setOption('resourceColumns', $modx->getOption('', $scriptProperties, null))->setOption('viewHidden', (bool) $modx->getOption('viewHidden', $scriptProperties, false))->setOption('viewUnpublished', (bool) $modx->getOption('viewUnpublished', $scriptProperties, false))->setOption('viewDeleted', (bool) $modx->getOption('viewDeleted', $scriptProperties, false))->setOption('templates', $modx->getOption('templates', $scriptProperties, null))->setOption('contexts', $modx->getOption('contexts', $scriptProperties, $modx->context->key))->setOption('limit', $modx->getOption('limit', $scriptProperties, 0))->setOption('offset', $modx->getOption('offset', $scriptProperties, 0))->setOption('scheme', $modx->getOption('scheme', $scriptProperties, $modx->getOption('link_tag_scheme')))->setOption('where', $modx->getOption('where', $scriptProperties, null))->setOption('debugSql', (bool) $modx->getOption('debugSql', $scriptProperties, false))->setOption('rawTvs', $modx->getOption('rawTvs', $scriptProperties, ''))->setOption('processTvs', $modx->getOption('processTvs', $scriptProperties, ''))->setOption('limitLevelItems', $modx->getOption('limitLevelItems', $scriptProperties, ''))->setIteratorType($modx->getOption('iterateType', $scriptProperties, 'getIterator'))->setOption('activeResource', $modx->resource->get('id'))->setOption('siteStart', $site_start)->setOption('branchParents', $branch_parents); /** * TODO includeDocs excludeDocs limitDepthItems sortBy TVs * Selected columns */ /** * Now set what chunks will be used: */ foreach ($scriptProperties as $property => $value) { switch ($property) { case 'chunkWrapper':