symfony button_to passパラメーター
-
28-10-2019 - |
質問
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 }
所属していません StackOverflow