We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 1847
    • 5 Posts
    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":""}',
    );