2013-10-06 21 views
7

Bu alana sahibim formumda gizli kalmak istiyorum. Ben de denedimCakephp gizli giriş alanı

<?php echo $this->Form->input('group_id', array('hiddenField' => true, 'value'=> 2)); ?> 

: i aşağıdaki denedi Bu amaçla

hala giriş alanına bakın nasıl hiç

<?php echo $this->Form->input('group_id', array('options' => array('hiddenField'=> 'true'), 'value'=>2)); ?> 

..

ben yanlış ne yapıyorum ?

cevap

19

Belgeleri yanlış yazıyorsunuz, varsayalım. hiddenField, belirli form alanları için belirli gizli alanları etkinleştirmek/devre dışı bırakmak içindir.

Ya

$this->Form->hidden('group_id') 

veya

$this->Form->input('group_id', ['type' => 'hidden']); 

Aradığınız ben genellikle sadece ikinci kullanın. dedi - - aslında ya bunlardan birini kullanmak kullanmamalıydın

http://book.cakephp.org/2.0/en/core-libraries/helpers/form.html

ANCAK bakın. Görünüm ve biçimi için gerçek bir amaca hizmet etmeyen alanları atlayın. Bunun yerine, kaydetmeden önce bu alanları veri dizisine enjekte etmelisiniz.

echo $this->Form->hidden('Group.name'); 

: Eğer posta yoluyla geçirilen veya varsayılan olarak koymak edilmeyecektir ilgili ikinci veri dizisini kullanan gizli bir alan eklemek isteyen varsa bu geçmek için kullanabilecekleri, http://www.dereuromark.de/2010/06/23/working-with-forms/

+0

ekleyin ")" sonunda hemen önce gizli sahadan ayarlayın. –

+0

Thx, PHP5.4 '[]' :) kullanarak sabitlenmiştir – mark

0

Bkz Bu, gönderi veya bir hatayla karşılaşıldığında düzenleme sayfası başlıklarının yankılanması için kullanışlıdır. Formunuz kurulduğunda dinamik başlık bunun gibi Group.name veri dizisini kaybedebilir: Ancak db yukarıda Mark'ın öneri takip etmek kaydedileceği veriler için

<h1>Edit Group - <?php echo h($this->request->data['Group']['name']); ?></h1> 

. OR ardından ikinci kod satırında; "" CakePHP'de 3'te

0

deneyin Aşağıdaki kod

<?php 
     echo $this->Form->hidden('name'); 
?>