/** * @copydoc DBDataSet::loadData */ protected function loadData() { // Для действия main не выводим данные // Для действия save определяем другой формат данных if ($this->getState() == self::DEFAULT_STATE_NAME or $this->getState() == 'move') { $result = false; } elseif ($this->getState() == 'save') { if (!isset($_POST[$this->getTableName()])) { throw new SystemException('ERR_NO_DATA', SystemException::ERR_CRITICAL); } $data = $_POST[$this->getTableName()]; //Приводим данные к стандартному виду $result = [$data]; if ($this->getTranslationTableName()) { if (!isset($_POST[$this->getTranslationTableName()])) { throw new SystemException('ERR_NO_DATA', SystemException::ERR_CRITICAL); } $result = []; $multidata = $_POST[$this->getTranslationTableName()]; foreach ($multidata as $langID => $langValues) { $idx = arrayPush($result, $data); $result[$idx]['lang_id'] = $langID; foreach ($langValues as $fieldName => $fieldValue) { $result[$idx][$fieldName] = $fieldValue; } } } } else { $result = parent::loadData(); } return $result; }