/** * Return an Array of Object attributes. * * @param Mixed $data * @return Array */ protected function _prepareProductsData($data) { if (is_object($data)) { $arr = get_object_vars($data); foreach ($arr as $key => $value) { $assocArr = array(); if (is_array($value)) { foreach ($value as $v) { if (is_object($v) && count(get_object_vars($v)) == 2 && isset($v->key) && isset($v->value)) { $assocArr[$v->key] = $v->value; } } } if (!empty($assocArr)) { $arr[$key] = $assocArr; } } $arr = $this->_prepareData($arr); return parent::_prepareData($arr); } if (is_array($data)) { foreach ($data as $key => $value) { if (is_object($value) || is_array($value)) { $data[$key] = $this->_prepareData($value); } else { $data[$key] = $value; } } return parent::_prepareData($data); } return $data; }
protected function _prepareProductsData($data) { if (!is_array($data) && !is_object($data)) { return null; } $_data = array(); if (is_object($data)) { $dataItem = $data; $dataItem = $this->_checkBundleOptions($dataItem); $dataItem = $this->_checkOptions($dataItem); $_data[] = get_object_vars($data); } else { foreach ($data as $_dataItem) { $dataItem = $_dataItem; $dataItem = $this->_checkBundleOptions($dataItem); $dataItem = $this->_checkOptions($dataItem); $_data[] = get_object_vars($dataItem); } } return parent::_prepareProductsData($_data); }