$parentId = $resource->parent; if ($parentId) { $parentResource = $modx->getObject('modResource',$parentId); if ($parentResource) { $parentId1 = $parentResource->parent; if ($parentId1) { $parentId = $parentId1; } } }
switch ($modx->event->name) { case 'OnBeforeDocFormSave': $document = $modx->getObject('modResource',array( 'pagetitle' => $resource->pagetitle, 'parent' => 3 )); if (!$document) { $resource = $modx->newObject('modResource'); $resource->fromArray(array( 'pagetitle' => $resource->pagetitle, 'parent' => 3, 'alias' => $resource->alias, 'published' => 1, 'hidemenu' => 1, 'template' => 6 )); $resource->save(); } break; }
This question has been answered by BobRay. See the first response.
$fields = array( 'pagetitle' => $resource->get('pagetitle'), 'parent' => 3, 'alias' => $resource->get('alias'), 'published' => 1, 'hidemenu' => 1, 'template' => 6, ); $modx->runProcessor('resource/create', $fields);
if ($response->isError()) { return $response->getMessage(); }
$parentObj = $modx->getObject('modResource', $modx->resource->get('parent')); $grandparentId = $parentObj? (int) $parentObj->get('id') : 0;
$query = $modx->newQuery('modResource', array( 'id' => $resource->get('parent'), )); $query->select('parent'); $grandparentId = $modx->getValue($query->prepare());