Анатолий

Анатолий

С нами с 20 марта 2018; Место в рейтинге пользователей: #443

Подскановка 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

Украинская транслитерация для Translit / Українська транслітерація для Translit / ukrainska-transliteratsiia-dlia-translit


Основано на правилах отсюда.
Сохраняем в «ukrainian.php», кидаем сюда core/components/translit/model/modx/translit/tables/
Viktor
09 октября 2018, 13:29
modx.pro
7
2 404
+8