質問

Symfony 1.4にButton_TOコンポーネントがあり、パラメーター(スラグ)を受信するルートを呼び出します。しかし、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」ルートには、いくつかの欠損パラメーター(:スラグ)があります。

テンプレートコードを次のように変更してみました。

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

しかし、役に立たない...

何か案は?

役に立ちましたか?

解決

これを試して:

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

ルーティング構成の名前付きルートにバインドする @シンボルとパラメーターが必要です slug URI議論の一部であり、次の3番目の議論ではありません button_to 関数。

他のヒント

Slugパラメーターのデフォルト値を設定しようとしましたか?

そのような

  param:              { module: entry, action: show, slug: default-slug }
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top