Здравствуйте! Необходимо создавать страницы во всех языковых версиях сайта страницы, если появилась свежесозданная на основной языковой версии. Это нужно для того, чтобы было удобно переключиться на новую языковую страницу просто сменив контекст на сайте и перейти к редактированию другой языковой версии страницы.

Есть код, с помощью него создаётся аналогичный документ во всех контекстах, кроме основного.

Момент в том, что не создаётся документ выше второго уровня вложенности.

И второе, когда сохраняешь новый документ, не выходит из процесса сохранения. При этом если обновить страницу, документы везде создаются, если раздел находиться не выше 2-го уровня. Спасибо.

 if ($modx->event->name == 'OnDocFormSave') {
	$contexts = $modx->getCollection('modContext', array('key:NOT IN' => ['web']));
	
	$parent = $resource->get('parent');
	if ($parent != '0') {
        $parentId = $modx->getObject('modResource', $parent);
        $parentAlias = $parentId->get('alias');
	}
    $alias = $resource->get('alias');
    $id = $resource->get('id');
	foreach ($contexts as $context) {
	    
	    $response = $modx->getObject('modResource', array('context_key'=>$context->key, 'alias' => $alias));
	    if ($response) {
    	    $response->set('pagetitle', $resource->get('pagetitle'));
    	    $response->set('longtitle', $resource->get('longtitle'));
 
    	    $response->save();
	    } else {
	
    	    $newResource = $modx->newObject('modDocument');
    	    $newResource->set('context_key', $context->key);
    	    $newResource->set('pagetitle', $resource->get('pagetitle'));
    	    $newResource->set('longtitle', $resource->get('longtitle'));
    	    if ($parent != '0') {
    	        $res = $modx->getObject('modResource', array('context_key'=>$context->key, 'alias'=>$parentAlias));
    	        $parntId = $res->get('id');
    	    } else {
    	        $parntId = $parent;
    	    }
    $newResource->set('parent', $parntId);
    $newResource->save();
	    }