Подскановка id в поле alias.

Есть сниппет. Он создает документ.
Сейчас alias формируется из tv+рандом. Как сделать так чтобы в alias подставлялся id документа который был создан.
Код сниппета:
<?php
$profile = $modx->user->getOne('Profile');
$userid = $profile ? $profile->get('id') : '';

// Сниппет будет получать данные из формы методом POST
$title       =  $_POST['title'];
$content     =  $_POST['message'];
$introtext   =  $_POST['introtext'];
$description =  $_POST['description'];
$parent      =  $_POST['parent'];
$template    =  $_POST['template'];
$user_id     =  $_POST['user_id'];
$publishedon =  date('Y-m-d H:i:s');

// Если некоторые значения не будут указаны,
// они будут установлены по умолчанию
if (!$introtext)   $introtext = $title;
if (!$description) $description = $introtext;
if (!$parent)      $parent = 6;
if (!$template)    $template = 6;


// Создаем ресурс
$newResource = $modx->newObject('modResource');

$permitted_chars = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
$alias = $userid.'-'.substr(str_shuffle($permitted_chars), 0, 32);

// Заполняем нужные значения
$newResource->set('pagetitle',$title);
$newResource->set('longtitle',$title);
$newResource->set('description',$description);
$newResource->set('introtext',$introtext);
$newResource->set('content',$content);
$newResource->set('alias',$alias);
$newResource->set('template',$template);
$newResource->set('published',1);
$newResource->set('parent',$parent);
$newResource->set('publishedon',$publishedon);


$id = $newResource->get('id');
// Сохраняем ресурс
if ($newResource->save()) {
  
// Очищаем кеш, чтобы изменения были видны сразу
  $modx->cacheManager->clearCache();
} 
$newResource->setTVValue('user_id', $user_id);
$newResource->setTVValue('project_status', '<span class="badge badge-primary">Відкритий</span>');
 
return true;
Сергій
10 марта 2020, 06:38
modx.pro
2
480
0
Поблагодарить автора Отправить деньги

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

Наумов Алексей
10 марта 2020, 10:03
+2
// Сохраняем ресурс
if ($newResource->save()) {
  $newResource->set('alias', $newResource->get('id'));
  $newResource->save()
// Очищаем кеш, чтобы изменения были видны сразу
  $modx->cacheManager->clearCache();
}
    Сергій
    10 марта 2020, 12:45
    0
    Не работает.
      Сергій
      10 марта 2020, 13:08
      0
      А не, работает. Спасибо большое.
      Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
      3