symfony button_to передать параметр - PullRequest
1 голос
/ 22 марта 2011

У меня есть компонент button_to в Symfony 1.4, который вызывает маршрут, который получает параметр (slug).Но я не могу заставить Symfony распознать параметр, который я отправляю.Я попробовал то же самое с link_to, и он отлично работает.

Вот мой код:

routing.yml

entry_show:
  url:                /entry/:slug
  class:              sfDoctrineRoute
  options:
    model:            ProjectEntry
    type:             object
    method:           getEntryBySlug
  param:              { module: entry, action: show }

шаблон:

<?php echo button_to('ButtonName', 'entry_show', array('slug' => 'this-is-my-slug')) ?>

Модель ввода:

public function getEntryBySlug($parameters)
{
  return $this->findOneBySlug($parameters['slug']);
}

Все, что я получаю, это следующая ошибка 500:

В маршруте "/ entry /: slug" отсутствуют некоторые обязательные параметры (: slug).

Я также пытался изменить код шаблона с помощью:

<?php echo button_to('ButtonName', 'entry_show?' . 'slug='.'this-is-my-slug') ?>

, но безрезультатно ...

Есть идеи?

Ответы [ 2 ]

1 голос
/ 22 марта 2011

Попробуйте это:

<?php echo button_to('ButtonName', '@entry_show?slug=this-is-my-slug') ?>

Вам нужно, чтобы символ @ связывался с именованным маршрутом в конфигурации маршрутизации, а параметр slug является частью аргумента URI, а не 3-го аргументаbutton_to функция.

0 голосов
/ 22 марта 2011

Вы пытались установить значение по умолчанию для вашего параметра slug?

Например

  param:              { module: entry, action: show, slug: default-slug }
...