Ошибка при сохранении материала, использующего content_multigroup

Главные вкладки

Аватар пользователя Zaboev Sergey Zaboev Sergey 31 января 2010 в 16:48

Всем доброго времени суток!

Для создания материала через cck3, добавляю к нему группу multigroup и использую в ней поля text и date. После заполнении полей в режиме предпросмотра всё отображается нормально, но после нажатия кнопки "Сохранить" группа полей multigroup не сохраняется (простые поля сохраняются в материале) и выдаётся ошибка для каждого поля из multigroup:
warning: Invalid argument supplied for foreach() in /var/www/inturist-plus.ru/modules/acquia/cck/modules/content_multigroup/content_multigroup.node_form.inc on line 369.

Порылся в content_multigroup.node_form.inc, там с этой 369 строки начинается след. кусок кода:

foreach ($form_state['values'][$field_name] as $delta => $item) {
        // Ignore subgroups flagged for removal.
        if ($form_state['multigroup_removed'][$group_name][$delta]) {
          continue;
        }
        // Keep track of non-removed subgroups.
        $non_removed_subgroups[$delta] = TRUE;

        $is_empty_function = $field['module'] .'_content_is_empty';
        if ($is_empty_function($form_state['values'][$field_name][$delta], $field)) {
          // Ignore fields that are not required.
          if (!$field['required']) {
            continue;
          }

          // Build an error message for this field in this subgroup, but do
          // not flag it, yet.
          if (!empty($item['_error_element'])) {
            // Here we don't know the number of elements and subelements a
            // widget could have added to the form, so we need to extract
            // components from the top, where we have group/delta/field, and
            // then push back field/delta on top of the list.
            $error_element = explode('][', $item['_error_element']);
            array_shift($error_element);
            array_shift($error_element);
            array_shift($error_element);
            array_unshift($error_element, $field_name, $delta);
            $error_element = implode('][', $error_element);
          }
          else {
            $error_element = '';
          }
          $required_field_errors[$delta][$field_name] = array(
            'element' => $error_element,
            'message' => t('!name field is required in group group.', array(
              '!name' => $form[$group_name][$delta][$field_name]['#title'],
              'group' => t($group['label']),
            )),
          );
        }

Так понимаю, что там в 369 строке игнорируются поля, помеченные "к удалению". Но у меня ничего не отмечено удалять при сохранении материала.

Может кто-то сталкивался с подобной ошибкой, подскажите как решить, пожалуйста.

Заранее благодарю, за любую помощь!

Комментарии