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


Здравствуйте, у меня проблема предоставления доступа для гостей к 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.
Заранее спасибо.
05 октября 2016, 09:30    artmtmnw   
0    418 0

Комментарии (2)

  1. Володя 05 октября 2016, 10:45 # +1
    вы результат runProcessor пихаете в переменную id и потом наверно что то с ней делаете, полагая что там id, а там обьект modProcessorResponse.
    нужно
    $resource = $response->getObject();
    $id = $resource['id'];
    
    1. 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();
      
      }
    Вы должны авторизоваться, чтобы оставлять комментарии.