$c= $modx->newObject('modCategory');
$c->set('name','spform');
$c->set('category','spform');
$attributes= array( XPDO_TRANSPORT_UNIQUE_KEY => 'name', XPDO_TRANSPORT_UPDATE_OBJECT => true, XPDO_TRANSPORT_PRESERVE_KEYS => false );
$vehicle = $builder->createVehicle($c, $attributes);
$builder->putVehicle($vehicle);
$attr = array(
XPDO_TRANSPORT_UNIQUE_KEY => 'category',
XPDO_TRANSPORT_PRESERVE_KEYS => false,
XPDO_TRANSPORT_UPDATE_OBJECT => true,
XPDO_TRANSPORT_RELATED_OBJECTS => true,
XPDO_TRANSPORT_RELATED_OBJECT_ATTRIBUTES => array (
'modSnippet' => array (
XPDO_TRANSPORT_PRESERVE_KEYS => false,
XPDO_TRANSPORT_UPDATE_OBJECT => true,
XPDO_TRANSPORT_UNIQUE_KEY => 'name',
)
)
);
$category= $modx->newObject('modCategory');
$category->set('category','TestComponent');
$snippets = array();
for ($i=1;$i<4;$i++) {
$c= $modx->newObject('modSnippet');
$c->set('id',$i);
$c->set('name', 'Snippet'.$i);
$c->set('description', 'Test '.$i);
$c->set('snippet', file_get_contents($sources['root'] . 'test/elements/snippet'.$i.'.class.php'));
$snippets[] = $c;
}
$category->addMany($snippets,'modSnippet');
$vehicle = $builder->createVehicle($category,$attr);
$vehicle->resolve('file',array(
'source' => $sources['root'] . 'test',
'target' => "return MODX_ASSETS_PATH . 'components/';",
));
$builder->putVehicle($vehicle);
/* This sets the snippets' categories using the $snippet array */
$i++;
$attr = array(
XPDO_TRANSPORT_UNIQUE_KEY => 'category',
XPDO_TRANSPORT_PRESERVE_KEYS => false,
XPDO_TRANSPORT_UPDATE_OBJECT => true,
XPDO_TRANSPORT_RELATED_OBJECTS => true,
XPDO_TRANSPORT_RELATED_OBJECT_ATTRIBUTES => array (
'modSnippet' => array (
XPDO_TRANSPORT_PRESERVE_KEYS => false,
XPDO_TRANSPORT_UPDATE_OBJECT => true,
XPDO_TRANSPORT_UNIQUE_KEY => 'name',
)
)
);
$categoryObject= $modx->newObject('modCategory');
$categoryObject->set('category','spform');
$categoryObject->set('id', $i);
$categoryObject->addMany($snippets,'modSnippet');
$vehicle = $builder->createVehicle($categoryObject,$attr);
$builder->putVehicle($vehicle);
/* Now we'll set the chunks' category using the $chunks array */
$i++;
$attr = array(
XPDO_TRANSPORT_UNIQUE_KEY => 'category',
XPDO_TRANSPORT_PRESERVE_KEYS => false,
XPDO_TRANSPORT_UPDATE_OBJECT => true,
XPDO_TRANSPORT_RELATED_OBJECTS => true,
XPDO_TRANSPORT_RELATED_OBJECT_ATTRIBUTES => array (
'modChunk' => array (
XPDO_TRANSPORT_PRESERVE_KEYS => false,
XPDO_TRANSPORT_UPDATE_OBJECT => true,
XPDO_TRANSPORT_UNIQUE_KEY => 'name',
)
)
);
$categoryObject= $modx->newObject('modCategory');
$categoryObject->set('category','spform');
$categoryObject->set('id', $i);
$categoryObject->addMany($chunks,'modChunk');
$vehicle = $builder->createVehicle($categoryObject,$attr);
$builder->putVehicle($vehicle);