Symfony 1.4 sfWidgetFormDoctrineChoice を使用しています
モデルデータを正常に取得するフォームにチェックボックスを追加しました。私がやりたいことは、タイトルとともに、チェックボックスの横にサムネイルも含めることです。
$this->setWidget('bulkUploadVideos', new sfWidgetFormDoctrineChoice(array(
'model' => 'MediaAsset',
'query' => Doctrine_Query::create()->select('u.url')->from('MediaAsset u')->orderBy('id DESC'),
'add_empty' => false,
'multiple' => true,
'expanded' => true
)
));
これは、次のように配置されたチェックボックスのリストにクエリをプルするという素晴らしい仕事をします。
⧠ グリーンジーンズ
⧠ マグーさん
⧠ 垂れ下がった
Media Assets テーブルには、レイアウトに含めたい画像の URL もあります。したがって、次のようになります。
|-画像サムネイル- | ⧠ グリーンジーンズ
|-画像サムネイル- | ⧠ マグーさん
|-画像サムネイル- | ⧠ 垂れ下がった
フォーマッタクラスを使っているのではないかと思ったのですが、フォームに変化は見られません。
lib/form/formatters/sfWidgetFormSchemaFormatterAllVideos.class.php
<?php
class sfWidgetFormSchemaFormatterAllVideos extends sfWidgetFormSchemaFormatter {
protected
$rowFormat = "<span class=\"my-label-class\">%label%</span>\n <span>%error%%field%%help%%hidden_fields%</span>`n",
$errorRowFormat = "<span class=\"my-error-class\" colspan=\"2\">\n%errors%</span>\n",
$helpFormat = '<br />%help%',
$decoratorFormat = "<div class='custom-video-layout'>\n %content%</div>";
}
そして、これを MediaAssetsForm.class.php の一番下に置きます
public function configure() {
parent::configure();
...
..
...
$this->getWidgetSchema()->setFormFormatterName('AllVideos');
残念ながら、ページ レイアウトはまったく同じに見えます。Formatter を間違って呼び出していますか、それとももっと簡単な方法がありますか?
ところで、テーブルから各チェックボックスの出力に画像のURLを照会する方法の問題にはまだ答えていません。それが私が解決したい主な問題です。フォーム内の各レコードのサムネイル。