2012-03-20 2 views

답변

4

수동으로 기본값을 설정할 수 있습니다 : 당신이해야 할 수 있도록

$countries = array(
    'Spain', 
    'England', 
    'France' 
); 

$this->widgetSchema['countries'] = new sfWidgetFormChoice(array('choices' => $countries, 'multiple' => true, 'expanded' => true)); 

// Form will render with Spain and England pre-selected 
$this->widgetSchema['countries']->setDefault(array(0,1)); 

를 양식이 관련되는 객체가 새없는 경우, 기본값은 저장된 값을 기준으로 선택한 사전 것 마지막 줄 주위에 $this->getObject()->isModified() 수표를 추가하십시오.

+1

이 특정 방법은 작동하지 않지만 해결 방법이 필요합니다 : $ this-> setDefault ('countries', array (0,1)) 0과 1은 i에 해당합니다. $ countries 배열의 ndices. 이러한 인덱스는 문자열 일 수도 있습니다. – afilina

+0

실제로 코드가 게시되기 전에 테스트 해 보았습니다. 위젯 스키마가 어떻게 설정되어 있는지에 따라 달라집니다. 이 답변을 찾으면 도움을 받아주십시오. 어느 쪽이든 행운을 빈다. –

0

당신은 선택

$this->widgetSchema['example_select_export'] = new sfWidgetFormChoice(array(
             'multiple' => false, 
             'expanded' => false, 
             'choices' => array("csv" => "CSV", "excel" => "Excel", "csv_mac" => "CSV mac") 

           ); 
$choices = array("csv" => "CSV", "excel" => "Excel", "csv_mac" => "CSV mac"); 

당신도 당신이 양식 호출을 만든 경우 작업에 기본값을 설정할 수있는 위젯이있는 양식이있는 경우이

$this->form->setDefault('example_select_export','csv') 

또는 당신이 좋아하는 경우에 단지 선택 사항을 원하는 순서대로 정렬하십시오.