Symfony 1.2를 실행하고 객체 도우미를 활용하여 편집 가능한 필드를 양식 외부에 생성합니다. 객관식 선택 상자 (input_in_place_editor_tag 또는 Ajax.InPlaceCollectionEditor)와 비슷한 인라인 편집 태그를 만들 수있는 symfony 또는 scriptalicious 지름길이 없기 때문에 object_select_tag와 multiple 옵션을 true로 설정하여 다음과 같은 선택 상자를 만듭니다.기본적으로 object_select_tag를 사용하여 여러 옵션을 선택하십시오.
<?php
echo object_select_tag($user->getsfGuardPermissions(), 'getId', array (
'include_blank' => false,
'related_class' => 'sfGuardPermission',
'peer_method' => 'doSelect',
'text_method' => '__toString',
'control_name' => 'user_customer_permissions_'.$user_customer->getId(),
'multiple' => true
));
?>
폼이 변경되면 observe_field를 호출하여 Ajax를 통해 개체를 업데이트합니다. 그러나
문제는 $ user-> getsfGuardPermissions()가 sfGuardPermission 객체의 배열을 반환한다는 것입니다. 기본적으로 선택되지 않습니다.
일부 테스트 후에 배열 대신 하나의 sfGuardPermission 객체 만 전달하면 적절한 옵션이 선택된다는 것을 알았습니다. 이것은 Symfony의 한계입니까, 아니면 다른 방법입니까? symfony가 기본적으로 여러 옵션을 선택할 수 없다면 'multiple'옵션을 포함한다고 믿기 어렵습니다.
ObjectHelper.php에서 함수가 배열을 기대하지 않는다는 것을 알 수 있습니다. 기본적으로 여러 객체를 선택하려면 어떻게합니까?