#php #date #drupal #salesforce #salesforce-communities
#php #Дата #drupal #система salesforce #salesforce-сообщества
Вопрос:
Я использую drupal, и у меня есть веб-форма, где есть поле дата создания и в этом поле есть календарь, когда я ввожу дату 2020-09-30 в это поле и отправляю свою форму, она ошибочно сохраняет это поле в salesforce следующим образом: 6/9/2022 оно изменилось на 2022 год, а также изменил месяц и день
ниже приведено условие, которое я ввел в функцию salesforce
function ublox_salesforce_salesforce_webforms_save_submission_alter(amp;$fields, $context) {
foreach ($fields as $key => $value) {
if (in_array($key, ["Date_Prototype__c", "Date_Production__c", "NBIOT_Date_of_Field_Trial__c", "NBIOT_Date_Lab_Trial__c"])) {
$fields[$key] = trim($value);
if ($fields[$key] == 'Date_Production__c') {
$fields[$key] = format_date(strtotime($fields['Date_Production__c']), 'medium', 'm-d-Y');
}
}
Вы можете увидеть мое условие if для ‘Date_production__c’ (дата начала производства)
Где я делаю неправильно? Я не могу найти решение, которое кто-нибудь может мне помочь, пожалуйста.
Я также приложил скриншот моего поля, где я поставил дату 2020-09-30, но она изменилась, например, 6/9/2022
Заранее спасибо
Ответ №1:
Каков результат этого format_date(strtotime($fields['Date_Production__c']), 'medium', 'm-d-Y');
, можете ли вы записать это в журнал или echo
или что-то еще?
API Salesforce ожидает даты в 2020-09-14
формате (так что бы это было Y-m-d
?) и datetimes в 2020-09-14T18:07:30Z
формате. Смотрите https://developer.salesforce.com/docs/atlas.en-us.soql_sosl.meta/soql_sosl/sforce_api_calls_soql_select_dateformats.htm
Комментарии:
1. Эй, да, я прикрепил выходные данные, но они отображаются так же, как я ввожу в поле ввода
2. Если он отображается
09/30/2020
, значит, у вас есть что-то, что пытается быть умным и отображать его с использованием языка текущего пользователя. Мой PHP устарел, и я никогда не касался Drupal, но если функция есть-
в форматере, и что-то делает` out of it - you have a problem. Seriously, just do what it takes to format it to
2020-09-30 `. Может быть, «средний» — это неправильно выбранный параметр, пользовательский форматировщик используется, когда вы хорошо передаете «пользовательский»? api.drupal.org/api/drupal/includes!common.inc/function /…