示例#1
0
文件: nested.php 项目: fchaose/qeephp
 /**
  * 渲染一个表单项目
  *
  * @param QContext $context
  * @param QForm_Item_Abstract $item
  * @param array $error_messages
  *
  * @return string
  */
 protected static function _renderItem(QContext $context, QForm_Item_Abstract $item, array $error_messages)
 {
     $out = '';
     if (!$item->isGroup()) {
         $item = array($item);
         $prefix = '';
     } else {
         $prefix = $item->id() . '_';
     }
     foreach ($item as $element) {
         if ($element->type() != 'hidden') {
             $out .= "\n";
             $id = $element->id();
             $label = h($element->label);
             if ($label) {
                 $out .= "<p>\n";
                 $out .= "<label for=\"{$id}\">{$label}:";
                 if ($element->description) {
                     $descript = h($element->description);
                     $out .= "&nbsp;<span class=\"notes\">({$descript})</span>";
                 }
                 $out .= "</label>\n";
             }
             $error_key = "{$prefix}{$id}";
             if (isset($error_messages[$error_key])) {
                 $out .= "<span class=\"error\">";
                 $msg = $error_messages[$error_key];
                 if (is_array($msg)) {
                     $msg = implode(', ', $msg);
                 }
                 $out .= nl2br(htmlspecialchars($msg));
             } else {
                 $out .= "<span class=\"error hide\">";
             }
             $out .= "<br /></span>\n";
             $element->unsetProps('label, description');
             $out .= $element->render($context, true);
             $out .= "\n";
             if ($label) {
                 $out .= "</p>\n";
             }
         } else {
             $out .= "\n";
             $out .= $element->render($context, true);
             $out .= "\n";
         }
     }
     return $out;
 }
示例#2
0
 /**
  * 构造函数
  *
  * @param string $id
  * @param string $type
  * @param array $props
  * @param boolean $bind_enabled
  */
 function __construct($id, $type, array $props = null, $bind_enabled = true)
 {
     parent::__construct($id, $type, $props);
     $this->_bind_enabled = $bind_enabled;
 }
示例#3
0
文件: group.php 项目: fchaose/qeephp
 /**
  * 添加一个元件
  *
  * @param QForm_Item_Abstract $element
  *
  * @return QForm_Item_Abstract
  */
 function add(QForm_Item_Abstract $element)
 {
     $this->_elements[$element->id()] = $element;
     return $element;
 }