2

次のコードを使用してフォームを生成しています。

echo $this->Form->create('External');
echo $this->Form->input('program_title', array('label' => 'Program Name'));
echo $this->Form->input('reference_code', array('label' => 'Reference No.'));
echo $this->Form->input('date_received', array('label' => 'Date Received', 'type' => 'date'));
echo $this->Form->input('date_released', array('value' => date('Y-m-d'), 'type' => 'hidden'));
echo $this->Form->input('inclusive_date_start', array('label' => 'Inclusive Date Start', 'type' => 'date'));
echo $this->Form->input('inclusive_date_end', array('label' => 'Inclusive Date End', 'type' => 'date'));
echo $this->Form->input('time_start', array('label' => 'Time Start', 'type' => 'time'));
echo $this->Form->input('time_end', array('label' => 'Time End', 'type' => 'time'));
echo $this->Form->end('Add Program');

そして、次のものを作成します。

元の画像

代わりに、このように表示するにはどうすればよいですか?

編集画像

2 番目の画像は編集されたばかりなので、どのように見えるかをお見せできます。光を当ててみませんか?

4

1 に答える 1

0

CakePHP 内では、フォーム要素のラベルを常に含める必要はなく、カスタムのグループ化と位置を行うことができます。

コードでそれを行う方法の簡単な例を次に示します。簡単にするために、すべてを PHP 内に保持しましたが、PHP から抜け出して、実際の HTML を記述することもできます。の使用に注意してください'label' => false

echo $this->Form->create('External');
echo $this->Form->input('program_title', array('label' => 'Program Name'));
echo $this->Form->input('reference_code', array('label' => 'Reference No.'));
echo $this->Form->input('date_received', array('label' => 'Date Received', 'type' => 'date'));
echo $this->Form->input('date_released', array('value' => date('Y-m-d'), 'type' => 'hidden'));
//Custom HTML code
echo '<div>Inclusive Date</div>';
echo '<div>';
echo '<div style="float: left;">
echo $this->Form->input('inclusive_date_start', array('label' => false, 'type' => 'date'));
echo '</div>';
echo '<div style="float: left;">-</div>';
echo '<div style="float: left;">';
echo $this->Form->input('inclusive_date_end', array('label' => false, 'type' => 'date'));
echo '</div>'
echo '<div style="clear: both;"></div>';
echo '</div>';
//Back to normal PHP
echo $this->Form->input('time_start', array('label' => 'Time Start', 'type' => 'time'));
echo $this->Form->input('time_end', array('label' => 'Time End', 'type' => 'time'));
echo $this->Form->end('Add Program');
于 2013-03-25T18:02:16.007 に答える