Hi all,
I am building my package and I ran into a following problem. I am creating a menu, that is not under ’Components’. I need to create first level menu and its submenus. So I created vehicle (attached below) with related objects, relation is called ’Children’ in MODx scheme. My build script ran without any bugs, but when I look into a zipfile into vehicle for modMenu (attached below), no related objects (submenus) are saved there. Can you please look on my code a and tell me what’s wrong?
Important part of transport script:
<?php
$menu = $modx->newObject("modMenu");
$menu->set("text","E-shop");
$menu->set("description","...");
$menu->set("menuindex",2);
$submenus = array();
$submenu = $modx->newObject("modMenu");
$submenu->set("text","ss.products");
$submenu->set("description","ss.products_description");
$submenu->set("menuindex",1);
$submenus[] = $submenu; unset($submenu);
$submenu = $modx->newObject("modMenu");
$submenu->set("text","ss.orders");
$submenu->set("description","ss.orders_description");
$submenu->set("menuindex",2);
$submenus[] = $submenu; unset($submenu);
$menu->addMany($submenus);
$attr = array(
xPDOTransport::UNIQUE_KEY => 'text',
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 => 'text',
)
)
);
$vehicle = $builder->createVehicle($menu,$attr);
$builder->putVehicle($vehicle);
Vehicle in zipfile:
<?php return array (
'unique_key' => 'text',
'preserve_keys' => false,
'update_object' => true,
'related_objects' => true,
'related_object_attributes' =>
array (
'Children' =>
array (
'preserve_keys' => false,
'update_object' => true,
'unique_key' => 'text',
),
),
'namespace' => 'simpleshop',
'resolve' => NULL,
'validate' => NULL,
'vehicle_package' => 'transport',
'vehicle_class' => 'xPDOObjectVehicle',
'guid' => '7d3c97a5e2f6a9fdc6152b5d6542f85e',
'package' => 'modx',
'class' => 'modMenu',
'signature' => 'b3d65fa5385d64f2569e8b214e7e6da9',
'native_key' => 'E-shop',
'object' => '{"text":"E-shop","parent":"","action":0,"description":"Jednoduch\\u00fd e-shop ke spr\\u00e1v\\u011b produkt\\u016f, objedn\\u00e1vek a popt\\u00e1vky.","icon":"","menuindex":2,"params":"","handler":"","permissions":""}',
);