コード例 #1
0
 /**
  * Finishes rendering a group, called after processing grouped elements
  *
  * @param HTML_QuickForm2_Node $group Group being rendered
  */
 public function finishGroup(HTML_QuickForm2_Node $group)
 {
     $gTpl = str_replace(array('{attributes}', '{id}', '{class}'), array($group->getAttributes(true), array_pop($this->groupId), $group->getAttribute('class')), $this->prepareTemplate($this->findTemplate($group, '{content}'), $group));
     $separator = $group->getSeparator();
     $elements = array_pop($this->html);
     if (!is_array($separator)) {
         $content = implode((string) $separator, $elements);
     } else {
         $content = '';
         $cSeparator = count($separator);
         for ($i = 0, $count = count($elements); $i < $count; $i++) {
             $content .= (0 == $i ? '' : $separator[($i - 1) % $cSeparator]) . $elements[$i];
         }
     }
     $this->html[count($this->html) - 1][] = str_replace('{content}', $content, $gTpl);
 }