5

HABTM テーブルによって相互に関連付けられている「レストラン」と「料理」の 2 つのテーブルがあります。

テーブル料理には特定の固定エントリがあります - 54 番号

レストランには、料理の数に制限はありません。アプリケーションをベイクすると、これには複数選択が伴いました。チェックボックスが欲しかったので、 array( 'type' => 'select', 'multiple' => 'checkbox') を使用してチェックボックスに変換しました。

下のスクリーンショットに示すように、このチェックボックスが 4 つの列に表示される方法をスタイルしたいと思います。

img2.pict. com/82/bc/a4/1453459/0/200908111511.png

echo $form->input('Cuisine', array('type' => 'select', 'multiple' => 'checkbox'));  

上記のコードは、次のように各要素の周りに多くの div を生成します

http://img2.pict.com/1a/a3/0a/1453457/0/200908121509.png

私は次のことを試しました:

echo $form->input('Cuisine', array( 'type' => 'select', 'multiple' => 'checkbox', 'div' => false, 'label' => false));

ただし、このコードは外側の div とラベルのみを削除します。内面をコントロールできない

<div class="checkbox">
<label for="CuisineCuisine2">Andhra</label>

単一のチェックボックスの周りに表示されます。

FormHelper を使用して内部 div のクラスを削除または付与し、カスタム スタイルを作成するにはどうすればよいですか? または、このHABTMテーブルにデータを入力して、必要な効果を得る方法は他にありますか?

4

3 に答える 3

4

代わりに $form->select() を実行することでこれを回避し、スタイルまたはクラス属性を適用して、希望どおりに表示することができます。

とにかくdivとラベルを削除する場合は、 $form->input() 関数を使用しないのが理にかなっているようです。

于 2009-08-13T21:02:28.970 に答える
2

CSSを使用してDIV要素をスタイル化できます。

<style>
div.input div.checkbox {
    float: left;
    width: 50%;
}
</style>
于 2009-08-28T05:39:35.453 に答える
1

このように内部divにクラスを削除または付与できます

$this->Form->input("hello_test",array('type'=>'checkbox','div'=>'class_name'));

デフォルトでは Cake は以下を使用します: タイプ クラス 例 - タイプはチェックボックスですclass="checkbox"

于 2012-08-23T07:54:27.307 に答える