Example #1
0
 /**
  * Guesses the type of field identified by $label and returns it.
  *
  * Possible identified fields are :
  * [date, metric, multiSelect, number, price, select, text, textArea]
  *
  * @param $fieldContainer
  *
  * @return string
  */
 protected function getFieldType($fieldContainer, $isLabel = false)
 {
     if (null === $fieldContainer || !$fieldContainer instanceof NodeElement) {
         return null;
     }
     if ($isLabel) {
         $formFieldWrapper = $fieldContainer->getParent()->getParent();
     } else {
         $formFieldWrapper = $fieldContainer->find('css', 'div.form-field');
     }
     if ($formFieldWrapper->hasClass('akeneo-datepicker-field')) {
         return 'date';
     } elseif ($formFieldWrapper->hasClass('akeneo-metric-field')) {
         return 'metric';
     } elseif ($formFieldWrapper->hasClass('akeneo-multi-select-field') || $formFieldWrapper->hasClass('akeneo-multi-select-reference-data-field')) {
         return 'multiSelect';
     } elseif ($formFieldWrapper->hasClass('akeneo-number-field')) {
         return 'number';
     } elseif ($formFieldWrapper->hasClass('akeneo-price-collection-field')) {
         return 'price';
     } elseif ($formFieldWrapper->hasClass('akeneo-simple-select-field') || $formFieldWrapper->hasClass('akeneo-simple-select-reference-data-field')) {
         return 'select';
     } elseif ($formFieldWrapper->hasClass('akeneo-text-field')) {
         return 'text';
     } elseif ($formFieldWrapper->hasClass('akeneo-textarea-field') || $formFieldWrapper->hasClass('akeneo-wysiwyg-field')) {
         return 'textArea';
     } elseif ($formFieldWrapper->hasClass('akeneo-media-uploader-field')) {
         return 'media';
     } elseif ($formFieldWrapper->hasClass('akeneo-switch-field')) {
         return 'switch';
     } else {
         return parent::getFieldType($fieldContainer);
     }
 }