Ejemplo n.º 1
0
 public function getFormData($prefix = '')
 {
     $selectorTypes = EavFieldCommon::getSelectorValueTypes();
     $multiLingualTypes = EavFieldCommon::getMultilanguageTypes();
     $languageArray = ActiveRecordModel::getApplication()->getLanguageArray();
     $fieldClass = $this->getFieldClass();
     $formData = array();
     foreach ($this->toArray() as $attr) {
         $fieldName = $prefix . $attr[$fieldClass]['fieldName'];
         if (in_array($attr[$fieldClass]['type'], $selectorTypes)) {
             if (1 == $attr[$fieldClass]['isMultiValue']) {
                 foreach ($attr['valueIDs'] as $valueID) {
                     $formData[$prefix . 'specItem_' . $valueID] = "on";
                 }
             } else {
                 $formData[$fieldName] = $attr['ID'];
             }
         } else {
             if (in_array($attr[$fieldClass]['type'], $multiLingualTypes)) {
                 $formData[$fieldName] = $attr['value'];
                 foreach ($languageArray as $lang) {
                     if (isset($attr['value_' . $lang])) {
                         $formData[$fieldName . '_' . $lang] = $attr['value_' . $lang];
                     }
                 }
             } else {
                 $formData[$fieldName] = isset($attr['value']) ? $attr['value'] : 0;
             }
         }
     }
     return $formData;
 }