public static function set_instance_for_id($current_menu_item_id, $render = true)
{
$active_containers = self::get_containers();
$suffix = '-' . $current_menu_item_id;
foreach ($active_containers as $container) {
if ($container->type != 'Nav_Menu') {
continue;
}
$custom_fields = array();
$fields = $container->get_fields();
foreach ($fields as $field) {
$tmp_field = clone $field;
// Setup Public properties
$tmp_field->current_menu_item_id = $current_menu_item_id;
$tmp_field->initial_name = $tmp_field->get_name();
// Setup Field ID and Name
$tmp_field->set_id($tmp_field->get_id() . $suffix);
$tmp_field->set_name($tmp_field->get_name() . $suffix);
// Update Datastore instance
$new_datastore = new Nav_Menu_Datastore();
$new_datastore->set_id($current_menu_item_id);
$tmp_field->set_datastore($new_datastore);
$custom_fields[] = $tmp_field;
}
self::$instances[$current_menu_item_id] = Container::factory('nav_menu', $container->id . $suffix)->add_fields($custom_fields)->init($current_menu_item_id, $render);
}
return self::$instances[$current_menu_item_id];
}