Как избавиться от имени контроллера в URL после отправки запроса? - PullRequest
0 голосов
/ 20 сентября 2011

После отправки формы я получаю:

http://... /param1/param2/CONTROLLER-NAME

Как избавиться от последней части в URL - ИМЯ КОНТРОЛЛЕРА?

Стандартный вид формы:

        echo $this->Form->create('*',
        array('url' => array('controller' => '*', 'action' => '*')           
        ));
        echo $this->Form->input('*', array('div' => false, 'empty' => true));
        echo $this->Form->submit(__('Search', true), array('div' => false));
        echo $this->Form->end();

1 Ответ

2 голосов
/ 20 сентября 2011

почему вы используете '*' в форме ??

Обычно ваша форма должна выглядеть следующим образом:

    echo $this->Form->create('Search', // model name, even if it doesn't really exists
        array('url' => array('controller' => 'searches', 'action' => 'index')
    ));
    echo $this->Form->input('search', array('div' => false, 'empty' => true));
    echo $this->Form->submit(__('Search', true), array('div' => false));
    echo $this->Form->end();

не нормально, что торт создает URL-адрес подобным образом, обычно сгенерированный URL-адрес имеет формат /controller/action/params, и вы можете переопределить его, используя rout.php, если хотите

Надеюсь, это поможет

...