Декоратор DisplayGroup в Zend Framework - PullRequest
0 голосов
/ 30 ноября 2010

Я использую DisplayGroup для рендеринга пары элементов в группе.Теперь я хочу визуализировать эту группу в одной строке таблицы.Но оказывается, что декораторы на DisplayGroups НЕ работают так же, как на простых элементах.Пример:

 $content = $this->getDisplayGroup('group');
 $content->setDecorators(array(
      'FormElements',
       array('HtmlTag', array('tag' => 'table', 'class' => 'element')),
        ));

Это просто ставит <table></table> в конце моей DisplayGroup.Я также пытался создать псевдоним для них:

array(array('elementDiv' => 'HtmlTag'), array('tag' => 'table')),
'FormElements',
array(array('td' => 'HtmlTag'), array('tag' => 'table')),

Все еще помещает их в одно место, а не оба openOnly и closeOnly:

array(array('elementDiv' => 'HtmlTag'), array('tag' => 'table','openOnly'=>true)),
'FormElements',
array(array('td' => 'HtmlTag'), array('tag' => 'table','closeOnly'=>true)),

И он все еще вставляеттолько закрывающий тег.Если я изменю их на <td>, все будет работать нормально, но не с <table> Я что-то упустил?

1 Ответ

0 голосов
/ 05 декабря 2010

Итак, jah был прав, а таблица, которая не была добавлена, действительно была ошибкой просмотра исходных кодов.

$group->setDecorators(array(

            'FormElements',
        array('Description', array('escape' => false, 'tag' => false)),
        array('HtmlTag', array('tag' => 'table', 'class' => 'element')),
));

Это помогло мне. Не совсем уверен, что делает Description Decorator, но таблица отображается по мере необходимости.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...