【CakePHP】フォームヘルパーでデフォルトのオプションを設定

2019年7月29日

バージョン:CakePHP 2.x

フォームヘルパーはデフォルトでdviタグやlabelを出力します。
dviタグやlabelを出力したくない場合はオプションでfalseを設定するのですが、
全てのフォームヘルパーに設定をするのが大変な場合には「inputDefaults」で、
デフォルトの設定を決めることができます。

オプションなしの場合

inputDefaultsを設定しない場合です。

<?php echo $this->Form->create('User'); ?>
<?php
echo $this->Form->input('test1');
?>
<?php echo $this->Form->end('てすと');?>

出力は下記のようになり、labelやdivタグが出力されます。

<form action="/cakephp-2.4.7/users" id="UserIndexForm" method="post" accept-charset="utf-8">
	<div style="display:none;"><input type="hidden" name="_method" value="POST"/></div>
	<div class="input text">
		<label for="UserTest1">Test1</label>
		<input name="data[User][test1]" type="text" id="UserTest1"/>
	</div>
	<div class="submit"><input  type="submit" value="てすと"/></div>
</form>

inputDefaultsを設定

下記例ではオプションのinputDefaultsで、labelとdivタグを出力しないように設定をしています。

<?php echo $this->Form->create('User', array(
			'inputDefaults' => array(
					'label' => false,
					'div' => false
			)
		));
 ?>
<?php echo $this->Form->input('test1'); ?>
<?php echo $this->Form->end('てすと');?>

出力は下記のような形になります。

<form action="/cakephp-2.4.7/users" id="UserIndexForm" method="post" accept-charset="utf-8">
	<div style="display:none;"><input type="hidden" name="_method" value="POST"/></div>
	<input name="data[User][test1]" type="text" id="UserTest1"/>
</form>

inputDefaults設定したがlabelを出力したい場合などには、
「array('label’ => 'Username’)」などとして個別に出力が可能です。

<?php echo $this->Form->create('User', array(
			'inputDefaults' => array(
					'label' => false,
					'div' => false
			)
		));
 ?>
<?php
echo $this->Form->input(
		'test2',
		array('label' => 'Username')
);
?>
<?php echo $this->Form->end('てすと');?>
<form action="/cakephp-2.4.7/users" id="UserIndexForm" method="post" accept-charset="utf-8">
	<div style="display:none;"><input type="hidden" name="_method" value="POST"/></div>
	<label for="UserTest2">Username</label>
	<input name="data[User][test2]" type="text" id="UserTest2"/><div class="submit">
	<input  type="submit" value="てすと"/></div>
</form>

参考:CakePHP公式サイト

スポンサーリンク