How can I create a category and its subcategories with a package?
With my example the categories are created in the database
but not with the id values I gave.
My System parameters: Windows Vista, Modx Revolution 2.0.4, Php 5.2.8, Mysql 5.1,
Apache 2.2, pdo_mysql is installed.
Here is a portion of the code I use:
$fields = array( 'id' => 1,'parent' => 0,'category' => 'Parent category');
$category1 = $modx->newObject('modCategory',$fields);
$fields = array( 'id' => 2,'parent' => 1,'category' => 'Subcategory 1');
$category11 = $modx->newObject('modCategory',$fields);
$fields = array('id' => 3,'parent' => 1,'category' => ' Subcategory 2');
$category12 = $modx->newObject('modCategory',$fields);
$fields = array('id' => 4,'parent' => 1,'category' => ' Subcategory 3');
$category13 = $modx->newObject('modCategory',$fields);
$categoryVehicleAttr = array(
xPDOTransport::UNIQUE_KEY => 'category',
xPDOTransport::PRESERVE_KEYS => false,
xPDOTransport::UPDATE_OBJECT => true,
xPDOTransport::RELATED_OBJECTS => true,
xPDOTransport::RELATED_OBJECT_ATTRIBUTES => array (
'Children' => array(
xPDOTransport::PRESERVE_KEYS => false,
xPDOTransport::UPDATE_OBJECT => true,
xPDOTransport::UNIQUE_KEY => 'category',
xPDOTransport::RELATED_OBJECTS => true,
xPDOTransport::RELATED_OBJECT_ATTRIBUTES => array (
'modTemplateVar' => array(
xPDOTransport::PRESERVE_KEYS => false,
xPDOTransport::UPDATE_OBJECT => true,
xPDOTransport::UNIQUE_KEY => 'name',
)
),
),
'modTemplateVar' => array(
xPDOTransport::PRESERVE_KEYS => false,
xPDOTransport::UPDATE_OBJECT => true,
xPDOTransport::UNIQUE_KEY => 'name',
)
)
);
$vehicle2 = $builder->createVehicle($category11,$categoryVehicleAttr);
$builder->putVehicle($vehicle2);
$vehicle2 = $builder->createVehicle($category12,$categoryVehicleAttr);
$builder->putVehicle($vehicle2);
$vehicle2 = $builder->createVehicle($category13,$categoryVehicleAttr);
$builder->putVehicle($vehicle2);
$vehicle2 = $builder->createVehicle($category1,array(
xPDOTransport::PRESERVE_KEYS => false,
xPDOTransport::UPDATE_OBJECT => true,
xPDOTransport::UNIQUE_KEY => 'category'
));
$builder->putVehicle($vehicle2);