CakePHP SEÇ giriş varsayılan değeri seçin

6 Cevap php

CakePHP kullanarak:

Ben bir çok-bir ilişki var, hadi onu Ağaçlar birçok Yaprakları var farzedelim. Tabii ki, ben bir ağaç bir Leaf eklemek için bir form pişmiş, ve bunu formu yardımcısı tarafından oluşturulan bir açılan kutudan (tag) ile hangi Ağacı belirtebilirsiniz.

Tek şey, Ağaç # 1 için SELECT kutusu her zaman varsayılan, ama ben buna eklenen varlık Ağacı varsayılan istiyorum:

Örneğin, example.com/leaf/add/5 Ağacı # 5 yeni Yaprak eklemek için arabirimini getirecek çağırıyor. Leaf.tree_id varsayılan olacaktır için açılan kutu yerine "Ağacı 1" ve "Ağaç 5" için şu anda varsayılan söyledi.

Ne view/add.ctp Bunu benim Yaprak denetleyicisi ve Leaf koymak gerekiyor?

6 Cevap

Bu select() kullanarak, ya da text() ya da radio() vb asla; korkunç bir uygulamadır. Sen kullanmanız gerekir input():

$form->input('tree_id', array('options' => $trees));

Sonra denetleyicisi:

$this->data['Leaf']['tree_id'] = $id;

CakePHP 1.3, 'default'=>value seçkin bir giriş varsayılan değeri seçmek için kullanın:

$this->Form->input('Leaf.id', array('type'=>'select', 'label'=>'Leaf', 'options'=>$leafs, 'default'=>'3'));

Üçüncü parametre ('seçilen' => değer) dizi gibi olmalı

Eğer form oluşturmak için Form yardımcı kullanarak varsayarak:

select(string $fieldName, array $options, mixed $selected, array $attributes, boolean $showEmpty)

Seçilen seçeneği ayarlamak için üçüncü parametresini ayarlayın.

 $this->Form->input('Leaf.id', array(
'type'=>'select',
'label'=>'Leaf',
'options'=>$leafs,
'value'=>2
));

Bu $ yapraklar seçenek listesinden varsayılan ikinci dizin konumu değeri seçecektir.

Bir seçme kutusuna bir metin varsayılan $form->select() yöntemi kullanarak yapmak. İşte bunu nasıl.

$options = array('m'=>'Male','f'=>'Female','n'=>'neutral');

$form->select('Model.name',$options,'f');

Yukarıdaki kod varsayılan liste kutusunda Female seçecektir.

Pişirme tutun ...