/**
  * Получение формы редактирования объекта.
  */
 public static function rpc_get_editor(Context $ctx)
 {
     $node = Node::load($ctx->get('node'))->knock(ACL::UPDATE);
     $schema = $node->getSchema();
     if (!array_key_exists($field = $ctx->get('field'), $schema['fields'])) {
         throw new PageNotFoundException(t('Нет такого поля у этого объекта.'));
     }
     $tpl = $schema['fields'][$field];
     $tpl['value'] = $field;
     $tpl['nolabel'] = true;
     $form = new Form(array('action' => '?q=nodeapi.rpc&action=modify&node=' . $node->id . '&field=' . $field));
     $form->addControl(Control::make($tpl));
     $form->addControl(new SubmitControl(array('text' => 'OK')));
     return new Response($form->getHTML($node));
 }