дополнительные поля к Заказу miniShop2
Всем привет, появилась необходимость сделать дополнительные поля для заказа, нужные только на бэкенде,
то есть из фронта ничего в них не должно попадать, они заполняются по событию msOnCreateOrder данными со стороннего сервиса.
Но эти данные нужны менеджеру магазина, что бы при необходимости их взять прямо из окошка заказа в админке.
Нашёл интересное решение вот здесь — vr66.ru/it-blog/modx-revo/turnkey-solutions-for-modx/92-add-your-fields-in-the-order-form
Но здесь автор предлагает добавление полей с данными из фронта, БОГ с ним, пусть будут, на фронте их можно скрыть.
В окошке заказа в админке они реально появляются как отдельные поля — хотя это одно поле в базе данных в JSON формате.
Так вот, собственно, вопрос — как эти поля заполнить прямо из плагина?
Или может есть какое то более простое решение как сделать доп поле заказа и заполнить его из плагина?
то есть из фронта ничего в них не должно попадать, они заполняются по событию msOnCreateOrder данными со стороннего сервиса.
Но эти данные нужны менеджеру магазина, что бы при необходимости их взять прямо из окошка заказа в админке.
Нашёл интересное решение вот здесь — vr66.ru/it-blog/modx-revo/turnkey-solutions-for-modx/92-add-your-fields-in-the-order-form
Но здесь автор предлагает добавление полей с данными из фронта, БОГ с ним, пусть будут, на фронте их можно скрыть.
В окошке заказа в админке они реально появляются как отдельные поля — хотя это одно поле в базе данных в JSON формате.
Так вот, собственно, вопрос — как эти поля заполнить прямо из плагина?
Или может есть какое то более простое решение как сделать доп поле заказа и заполнить его из плагина?
Комментарии: 1
В данном цикле идет перебор всех пришедших параметров из POST, если они содержат extfld_ то дописываются в массив $properties
foreach ($_POST as $key => $value){
if (strpos($key,'extfld_') !== false){
$properties[$key] = htmlentities($value,ENT_COMPAT | ENT_HTML401,'UTF-8');
}
}
Если Вам не нужно принимать поля то вы просто можете добавить эти поля в массив с этом месте, убрав цикл и заменив на свой код$properties['extfld_first'] = 'Первое значение';
$properties['extfld_second'] = 'Второе значение';
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.