Чтобы программным путем присвоить значение TV параметру ресурса используется метод setTVValue, следующим образом:
setTVValue ([имя TV параметра или его ID], [строка — значение параметра])
Пример:
$page = $modx->getObject(‘modResource’, 100);
if (!$page->setTVValue(‘mytv’, ‘значение tv параметра’)) {
$modx->log(xPDO::LOG_LEVEL_ERROR, ‘Произошла ошибка при сохранении ТВ’);
}
В официально документации MODx Revo почему-то пропустили некоторые операторы, которые также можно использовать в запросе к базе данных.
Иногда при выборке требуется использовать оператор MySQL — NOT IN, рассмотрим простой пример использования NOT IN, по сути он такой же как и IN:
$q=$modx->newQuery('modResource');
$q->select(array(
'id as docID',
'parent',
'pagetitle'));
$q->where(array(
'published' => '1',
'cacheable' => '1',
'class_key' => 'modDocument',
'parent:!NOT IN' => array('1','4','5')
));
$result = $modx->getCollection('modResource', $q); Читать
Для создания пользователей в MODx программным путем необходимо обратиться к объекту modUser и modUserProfile.
PHP код создания пользователя:
// проверка на существование пользователя с таким же именем $count = $modx->getCount('modUser', array('username' => 'ИМЯ')); if($count <= 0){//проверка // создаем новый объект $user = $modx->newObject('modUser'); // задаем имя пользователя и пароль $user->set('username', 'ИМЯ'); $user->set('password', 'ПАРОЛЬ'); // сохранение данных $user->save(); // создаем новый профиль для этого пользователя $profile = $modx->newObject('modUserProfile'); // заполняем данные по желанию $profile->set('fullname', 'Фамилия и Имя'); $profile->set('email', 'user@email'); // присоединяем профиль к ранее созданному пользователю $user->addOne($profile); // сохранение данных $profile->save(); $user->save(); }