2.17.2011

Свой форматтер для symfony sfWidgetFormRpcChoice


Класс формы в app/lib/form/AccountAdditionalServiceForm.class.php
class AccountAdditionalServiceForm extends myForm {
    public function configure() {
        $this->setWidgets(array(
            'service' => new sfWidgetFormRpcChoice(array(
                'rpc_method' => 'get_all_services',
                'result_field' => 'services',
                'key_field' => 'service_id',
                'value_fields' => array('name', 'cost'),
                'expanded' => true,
                'parameter1' => true,
     'renderer_options'=>array(
             'formatter'=>'myFormatter::AdditionalServicesTableFormatter'
                )      
            )
        )));
      
        $this->widgetSchema->setNameFormat('service[%s]');
        $this->validatorSchema->setOption('allow_extra_fields', true);
    }
}
Класс форматтера в lib/form/myFormatter.class.php
Abstract class myFormatter extends sfWidgetForm
{
static public function AdditionalServicesTableFormatter($widgets, $inputs)
{
$rows = array();
foreach ($inputs as $input) {
$rows[] = $widgets->renderContentTag('td', $input['input']);
}
return $widgets->renderContentTag('span',
   implode($widgets->getOption('separator'), $rows),
   array('class' => $widgets->getOption('class'))
);
}
}
Линка


Ярлыки: , , , ,

Комментарии: 0:

Отправить комментарий

Подпишитесь на каналы Комментарии к сообщению [Atom]

<< Главная страница