Zend Framework проблемы генерации URL - PullRequest
0 голосов
/ 17 мая 2011

У меня возникли некоторые трудности при создании простых URL-адресов в zf версии 1.11.6.Я использую помощник URL для этого.

Пример:

  • $this->url(array('controller' => 'index', 'action' => 'index'))
  • $this->url(array('controller' => 'index', 'action' => 'view', 'id' => 1))

Результат:

  • domain.com/index/index/id/1
  • domain.com/index/view/id/1

Как видите, проблема в том, что даже я не указал ни одного параметра id для первого правила, сгенерированный URL содержит его.Это происходит также с action.Если я разрешу первое правило без параметра action, оно будет сгенерировано со значением view (вместо использования значения по умолчанию index).Допустим, я могу жить с вещами action, но это абсурдно, когда дело доходит до других параметров.

Это происходит, даже если я использую первое правило внутри моего контроллера, а второе - в файле представления.

Есть какие-нибудь мысли по этому поводу?Спасибо.

Ответы [ 3 ]

3 голосов
/ 17 мая 2011
try this
$this->url(array('controller'=>'index','action'=>'index'), 'default', true)
0 голосов
/ 18 мая 2011

Я предполагаю, что вы получаете эту ошибку, потому что маршруты по умолчанию каким-то образом удаляются. Пожалуйста, проверьте, есть ли в вашем проекте выполнение метода removeDefaultRoutes.

0 голосов
/ 17 мая 2011

Теперь увидеть это довольно просто.

$this->view->url(array(),'admin/index');

Результат в domain.com а теперь чекк это

$this->url(array('selected_id'=>$this->rd[$i]->id),'admin/index/detail')

Результаты в domain.com/detail/14

Вы должны предоставить пустой массив, где вы не хотите иметь значение идентификатора

...