Ошибка: 500 JHtmlSelect: :checkboxlist не поддерживается в joomla 2.5

Я использую этот код в joomla 2.5

$booleanlist = JHTML::_('select.checkboxlist', '1', 'K2ExtraField[]', '', 'value', 'name','');
print $booleanlist;

Но когда код запуска получает ошибку, select.checkboxlist не поддерживается, как это исправить


person Hai Truong IT    schedule 20.06.2012    source источник


Ответы (1)


В Joomla нет списка флажков.

Но из этой темы: http://forum.joomla.org/viewtopic.php?t=210780

Я нашел этот код:

в файл library/joomla/html/html/select.php добавить код:

/*custom checkbox*/
   function checkboxlist( $arr, $name, $attribs = null, $key = 'value', $text = 'text', $selected = null, $idtag = false, $translate = false )
   {
      reset( $arr );
      $html = '';

      if (is_array($attribs)) {
         $attribs = JArrayHelper::toString($attribs);
       }

      $id_text = $name;
      if ( $idtag ) {
         $id_text = $idtag;
      }

      for ($i=0, $n=count( $arr ); $i < $n; $i++ )
      {
         $k   = $arr[$i]->$key;
         $t   = $translate ? JText::_( $arr[$i]->$text ) : $arr[$i]->$text;
         $id   = ( isset($arr[$i]->id) ? @$arr[$i]->id : null);

         $extra   = '';
         $extra   .= $id ? " id=\"" . $arr[$i]->id . "\"" : '';
         if (is_array( $selected ))
         {
            foreach ($selected as $val)
            {
               $k2 = is_object( $val ) ? $val->$key : $val;
               if ($k == $k2)
               {
                  $extra .= " selected=\"selected\"";
                  break;
               }
            }
         } else {
            $extra .= ((string)$k == (string)$selected ? " checked=\"checked\"" : '');
         }
         $html .= "\n\t<input type=\"checkbox\" name=\"$name\" id=\"$id_text$k\" value=\"".$k."\"$extra $attribs />";
         $html .= "\n\t<label for=\"$id_text$k\">$t</label><br>";
      }
      $html .= "\n";
      return $html;
   }
/*end custom checkbox*/
person Søren Beck Jensen    schedule 20.06.2012