Здравствуйте уважаемые форумчане. Прошу помощи в решении импорта мульти значений в field drupal 7.
Приложение drupalgap при отправке на сайт генерирует следующий json код для field
пример
POST: https://example.ru/?q=drupalgap/node.json
"field_tip_obiavlenia1":{"und":{"value":["","Сдается","Продается"]}},
drupal 7 принимает данные как
И на уровне drupal 7 выдает ошибку
Сделан не допустимый выбор обратитесь к администратору
Теперь вопрос подскажите как я могу задать программно правильный импорт этих данных в поле field_tip_obiavlenia1?
либо подскажите модуль где можно было данные импорта связать с полем field_tip_obiavlenia1]
Комментарии
А ошибка то какая?
<?php
['field_tip_obiavlenia1']['und'][0]['value'] = ...
['field_tip_obiavlenia1']['und'][1]['value'] = ...
?>
Если field_tip_obiavlenia1 это форматированный текст - нужно еще format передавать.
Т.е. должен передаваться массив ['value' => '', 'format' => ''].
Ошибка в том что импорт осуществляется в мульти select Text field через json запрос
При импорте одного значения Запрос проходит без проблем, но мульти значения не проходят выдаёт ошибку.
И как то нужно задать на уровне drupal 7 соответствие запроса чтоб импортировать
Приведите пример ошибки, так гадать долго будем...
Задать соответствие запроса чему?
Спасибо за оперативные ответы
Вот json запрос который приложение drupalgap отправляет в drupal 7
{"nid":"","title":"Я иду домой","type":"mobilnoeobiavlenie","language":"und","field_adress1":{"und":[{"value":""}]},"field_plochad":{"und":[{"value":""}]},"field_opisanie":{"und":[{"value":""}]},"field_imagephoto":{"und":[{"fid":""},{"fid":""},{"fid":""},{"fid":""},{"fid":""}]},"field_cena7":{"und":[{"value":""}]},"field_thelephone":{"und":[{"value":"7111111111"}]},"field_tip_obiavlenia1":{"und":{"value":["Сдается","Продается"]}}
j
Поле field_tip_obiavlenia1 отправляет два значения Сдается и Продается
Они не передаются
В приложении выводится ошибка
(Тип объявления) - Сделан недопустимый выбор. Пожалуйста, обратитесь к администратору сайта
В самом drupal 7 в журнале выводится следующая запись ошибки
Дата четверг, 21 декабря, 2017 - 01:43
Пользователь sangas
Место https://example.ru/?q=drupalgap/node.json
Источник отсылки https://example.ru/mobile/
Сообщение Warning: Illegal offset type in isset or empty в функции list_field_validate() (строка 394 в файле /var/www/fastuser/data/www/example.ru/modules/field/modules/list/list.module).
Важность предупреждение
Имя хоста *********
Операции
Я так понимаю выводится данная ошибка потому что в drupal 7 нужно задать соответствие мульти значений, которые передаются из приложения в drupal 7
То есть сейчас это передается в виде
(
[und] => Array
(
[value] => Array
(
[0] =>
[1] => Сдается
[2] => Продается
)
)
)
А должно быть по идее так
(
[und] => Array
(
[value] => Array
(
[0] =>
)
[value] => Array
(
[1] => Сдается
)
[value] => Array
(
[2] => Продается
)
)
)
Как можно задать чтобы drupal 7 правильной принимал мульти значения
Допустим единичное значение проходит без ошибок
Например json запрос с единичным полем field_tip_obiavlenia1 проходит без проблем
{"nid":"","title":"Я иду домой","type":"mobilnoeobiavlenie","language":"und","field_adress1":{"und":[{"value":""}]},"field_plochad":{"und":[{"value":""}]},"field_opisanie":{"und":[{"value":""}]},"field_imagephoto":{"und":[{"fid":""},{"fid":""},{"fid":""},{"fid":""},{"fid":""}]},"field_cena7":{"und":[{"value":""}]},"field_thelephone":{"und":[{"value":"7111111111"}]},"field_tip_obiavlenia1":{"und":[{"value":"Сдается"}]}
j
Ok, а почему не вариант отправлять правильный JSON?
"und": [
{"value": "Сдается"},
{"value": "Продается"}
]
}
Потому что для этого нужно вносить изменение в само приложение drupalgap(не модуль drupalgap)
И легче просто для таких полей использовать hook на уровне drupal 7 чтобы создать соответствие
У меня, к сожалению, пока нет опыта работы с drupalgap. Я не знаком с его API.
Рекомендую почитать документацию по нему. Если он (модуль) предоставляет хуки для работы с препроцессингом входящих запросов - правильно будет сделать это там.
Это лучше сделать на уровне drupal 7 в виде hook так как drupal 7 в целом имеете большое сообщество в России и более проработан и хотелось бы задать эти значения на уровне drupal 7
Я про это.
Я готов заплатить вам если сможете мне помочь
Только если не горит. Я, до НГ, вряд ли освобожусь.
Возможно вы скажете какой api запрос лучше использовать, чтоб пока попробовать покапать в этом направлении