Настройка доступа для гостей и пользователей.

Здравствуйте, у меня проблема предоставления доступа для гостей к API MODX
$modx->runProcessor('resource/create')
Гости при регистрации не могут создать личную страницу. А когда я регистрирую пользователя через фронт-енд все создается правильно.

Использую плагин Login после регистрации выполняется скрипт который создает личную страницу для пользователя.
Скрипт отвечающий за создание страницы:
$id = $modx->runProcessor('resource/create', array(
	  'pagetitle' => $hook->getValue('username'),
	  'parent' => $parent,
	  'template' => $template,
	  'isfolder' => 0,
	  'published' => 1,
	  'tv6' => 1,
  	  'hidemenu' => 1
	))
При регистрации выводит следующие ошибки
[2016-10-05 08:27:56] (ERROR @ xxxx/public_html/core/xpdo/xpdo.class.php : 2824) Recoverable error: Object of class modProcessorResponse could not be converted to string
[2016-10-05 08:27:57] (ERROR @ xxxx/public_html/core/model/modx/modresponse.class.php : 208) Attempted to redirect to an empty URL.
Заранее спасибо.
artmtmnw
05 октября 2016, 06:30
705
0

Комментарии: 2

Володя
05 октября 2016, 10:45
+1
вы результат runProcessor пихаете в переменную id и потом наверно что то с ней делаете, полагая что там id, а там обьект modProcessorResponse.
нужно
$resource = $response->getObject();
$id = $resource['id'];
    artmtmnw
    05 октября 2016, 10:53
    0
    Сниппет полностью
    $parent = 30;
    $template = 5;
    
    if ($id = $modx->runProcessor('resource/create', array(
    	  'pagetitle' => $hook->getValue('username'),
    	  'parent' => $parent,
    	  'template' => $template,
    	  'isfolder' => 0,
    	  'published' => 1,
    	  'tv6' => 1,
      	  'hidemenu' => 1
    	)))
    
    	{
    
      $userId = $hook->getValue('register.user')->get('id');
      $user = $modx->getObject('modUserProfile', array('id' => $userId));
      $user->set('website',$id);
      $user->save();
      
      $modx->runSnippet('tv', array('id' => $id, 'tv' => 6, 'value' => $userId));  
    
      $modx->cacheManager->refresh();
    
      $output = $id;
    
    } else {
      
      die();
    
    }