Цитата |
---|
написал: Методы вызываются как статические. Я бы выкинул CUserTypeEnum, отнаследовался от \Bitrix\Main\UserField\Types\EnumType и изменил методы. |
Используем на сайте под управлением битрикса стороннюю доработку и вот какую ошибку выдает:
[ErrorException] E_COMPILE_ERROR
Declaration of Acat_ggbm::MakeData($id_site, $idtypeauto, $idmark, $model) must be compatible with Acat::MakeData() (0)
/acat/classes/acat_ggbm_class.php:8
Код |
---|
<?php include_once('acat_class.php'); include_once('acat_gmbm_class.php'); include_once('acat_gmbt_class.php'); class Acat_ggbm extends Acat { function MakeData($id_site,$idtypeauto,$idmark,$model) { $__model=new Acat_gmbm(); $__model->MakeData($id_site,$idtypeauto,$idmark,$model); $__mark=new Acat_gmbt(); $__mark->MakeData($id_site,$idtypeauto,$idmark); $this->sort="SORTORDER, GROUPNO"; $_data=$this->DB->Query("SEL ECT * FR OM `".AC_DB_PREFIX."grouptree` wh ere idmodel=".$model." order by ".$this->sort); if (count($_data)==0) {$_data=$this->DB->Query("SELECT * FR OM `".AC_DB_PREFIX."grouptree` where idmodel=(SEL ECT BASIS_MODEL_ID fr om ".AC_DB_PREFIX."models where ID= ".$model.") order by ".$this->sort);} $this->data['modelinfo']=$__model->data[0]; $this->data['markinfo']=$__mark->data[0]; foreach ($_data as $__data) { $_imgfile=AC_ROOT.'/data'.$__data['PICTUREINDEX']; if (!file_exists($_imgfile) && $__data['PICTLENGTH']!=0) { $_len=strlen($__data['PICTUREINDEX'])-4; for ($i=$_len;$i<$this->data['modelinfo']['PICTLENGTH']; $i++) {$__data['PICTUREINDEX']='0'.$__data['PICTUREINDEX'];} } $___data[] = Array ( "id" => $__data['GROUPNO'], "nameshort" =>$__data['GROUPNAME'], "enameshort"=>$__data['GROUPNAMEEN'], "picture" =>AC_WWW_ROOT.'/data'.$this->data['modelinfo']['PATHIMAGE'].$__data['PICTUREINDEX'].'.gif', "parent" => $__data['PARENT'], "link"=> $this->makelink($idtypeauto,$idmark,$model,$__data['GROUPNO']), "onclick"=> $this->onclick($idtypeauto,$idmark,$model,$__data['GROUPNO']) ); } $this->getGroupsTree(0,$___data,$this->data['tree']); parent::MakeData(); } function getGroupsTree($id, $tree, &$_result, &$level = 0) { while (list($row_key, $row) = each($tree)) { if ($row['parent'] == $id) { $level++; unset($row['parent']); $_result[$row['id']] = $row; $_parentNode = &$_result[$row['id']]; if ($level < 3) $this->getGroupsTree($row['id'], $tree, $_parentNode, $level); $level--; } } } function GetList($id_site,$idtypeauto,$idmark,$model) { $_data=$this->DB->Query("SEL ECT * FR OM `".AC_DB_PREFIX."grouptree` wh ere idmodel=".$model." and pictureindex is not null and pictureindex<>'' order by SORTORDER, GROUPNO"); if (count($_data)==0) {$_data=$this->DB->Query("SELECT * FR OM `".AC_DB_PREFIX."grouptree` where idmodel=(SEL ECT BASIS_MODEL_ID fr om ".AC_DB_PREFIX."models where ID= ".$model.") and pictureindex is not null and pictureindex<>'' order by SORTORDER, GROUPNO");} foreach ($_data as $__data) { $this->data[] = Array ( "id" => $__data['GROUPNO'], "nameshort" => $__data['GROUPNAME'] ); } } } |