2013-06-11 1 views
1
echo $this->form->create('Cost', array('action' => 'add')); 

     echo $this->form->inputs(array(
      'legend' => false, 
      'cost_type_id' => array(
       'class' => 'span-8', 
       'options' => $cost_types 
      ) 
     )); 

     echo $this->html->tag(
      'div', 
      $this->form->button(
       sprintf('%s %s', 
        $this->html->image('icons/silk/application_add.png'), 
        __('Create new Cost', true) 
       ), 
       array(
        'title' => sprintf('Add') 
       ) 
      ), 
      array('class' => 'buttons clearfix') 
     ); 
     echo $this->form->end(); 

У меня есть маршрутизации набора префикса, которая автоматически отправляет эту формуотключить маршрутизацию CakePHP внутри формы

/prefix/costs/add 

Есть ли способ, в котором я могу отключить его либо внутри form->create, или form->button?

ответ

2

Определить маршрут, который вы хотите отправить форму, как этот

echo $this->Form->create('Cost', array(
    'url' => array('prefix'=>null, 'controller' => 'costs', 'action' => 'add') 
)); 

PS: изменить массив URL-адрес, как и любой другой массив маршрута в соответствии с вашими потребностями.

Ссылка: docs

+0

Я просто попытался это и повторно направляет на страницу, но не «пост» данные из формы? Это отдельный вопрос? Есть идеи? – user2453502

+0

Это отдельная проблема, но из того, что я могу вывести из вашего кода, у вас есть кнопка добавления, которая напрямую не связана с $ this-> Form-> end, поэтому у вас есть js, представляющий форму? – Nunser