Hello,
I will build a transport package for a custom extra and I wand to include membergroup_names with preserving id and name.
With templates I can pretent the id of template, but with membergroup_names it doesnt run. I used the class modUserGroup.
Thank you for ideas what I have made wrong.
Bye
Chris
/* member groups */
$membergroups = include $sources['data'] . 'transport.membergroups.php';
if (empty($membergroups) && !is_array($membergroups)) {
$modx->log(modX::LOG_LEVEL_ERRER, 'Membergroups Problem');
}else {
$attributes = array(
xPDOTransport::PRESERVE_KEYS => true,
xPDOTransport::UPDATE_OBJECT => true,
xPDOTransport::UNIQUE_KEY => ['name'],
);
foreach ($membergroups as $group) {
$vehicle = $builder->createVehicle($group, $attributes);
/*
$vehicle->resolve('php', [
'source' => $sources['resolvers'] . 'resources.resolver.php',
]);*/
$builder->putVehicle($vehicle);
}
$modx->log(modX::LOG_LEVEL_INFO,'Member groups added '.count($membergroups) );
unset($membergroups, $group, $attributes);
}
<?php
$membergroup = [];
$membergroup[1]= $modx->newObject(modUserGroup::class);
$membergroup[1]->fromArray([
'id' => 2,
'name' => 'Kunde',
'description' => 'Gruppe für den Websitebetrieber',
'parent' => 0,
]);
$membergroup[2]= $modx->newObject(modUserGroup::class);
$membergroup[2]->fromArray([
'id' => 3,
'name' => 'Mitglieder',
'description' => 'Registrierte Mitglieder die noch keine Zahlung geleistet haben',
'parent' => 0,
]);
$membergroup[3]= $modx->newObject(modUserGroup::class);
$membergroup[3]->fromArray([
'id' => 4,
'name' => 'Standard',
'description' => '',
'parent' => 3,
]);
$membergroup[4]= $modx->newObject(modUserGroup::class);
$membergroup[4]->fromArray([
'id' => 5,
'name' => 'Executive',
'description' => '',
'parent' => 3,
]);
$membergroup[5]= $modx->newObject(modUserGroup::class);
$membergroup[5]->fromArray([
'id' => 6,
'name' => 'Premium',
'description' => '',
'parent' => 3,
]);
return $membergroup;