投稿日時: 2016/11/14
牟田口
こんにちは。牟田口です。
自分用でせっかく調べたので、開発メモを残します。
2016/1/4時点のNetCommons3情報です。
- NetCommonsFormHelper.phpにはhiddenメソッドがないけど、実際のソース上では使っている。
- NetCommonsFormHelper.php内で、さらにhelperを指定していて、「Form」helperを呼んでいた。
- そこと、__callで「FormHelperラップ用マジックメソッド」してた。
- それで、FormHelper.phpのhiddenメソッドが使われていた。
--- 詳細
NetCommonsFormHelper.php
- https://github.com/NetCommons3/NetCommons/blob/5eb054cf27991703519ae97a6ae7643e09a8a72b/View/Helper/NetCommonsFormHelper.php#L27
- https://github.com/NetCommons3/NetCommons/blob/5eb054cf27991703519ae97a6ae7643e09a8a72b/View/Helper/NetCommonsFormHelper.php#L429-L438 __callで「FormHelperラップ用マジックメソッド」
実際のソース上では使っている箇所
<?php echo $this->NetCommonsForm->hidden('Block.id'); ?>
<?php echo $this->NetCommonsForm->hidden('VideoBlockSetting.id'); ?>
<?php echo $this->NetCommonsForm->hidden('VideoBlockSetting.block_key'); ?>
FormHelper.phpのhiddenメソッド
--- おまけ
http://book.cakephp.org/2.0/ja/core-libraries/helpers/form.html#FormHelper::hidden
フォームが編集されると(すなわち、配列 $this->request->data に User モデルに渡されるべき情報が含まれている場合)、生成される HTML の中に id フィールドに対応する値が自動的に追加されます。
上記が便利。
以上です。