miniShop2
miniShop2 copied to clipboard
Массив error в сниппете msOrder
Сообщение об ошибке / Error message
Резюме / Summary
Краткое резюме о чем эта проблема. / A short summary of what this problem is about.
В текущей реализации miniShop2 в форме оформление заказа (вывод сниппета msOrder) после обновления остаются только значения в полях, класс error обновляется.
Запись экрана от 2023-05-23 11-59-38.webm
А вот что у нас в чанке и в сниппете.
Отрезок из чанка tpl.msOrder
{foreach ['email','receiver','phone'] as $field}
<div class="form-group row input-parent">
<label class="col-md-4 col-form-label" for="{$field}">
{('ms2_frontend_' ~ $field) | lexicon} <span class="required-star">*</span>
</label>
<div class="col-md-8">
<input type="text" id="{$field}" placeholder="{('ms2_frontend_' ~ $field) | lexicon}"
name="{$field}" value="{$form[$field]}"
class="form-control{($field in list $errors) ? ' error' : ''}">
</div>
</div>
{/foreach}
и сниппета msOrder
// Check for errors
$errors = [];
if (!empty($_POST)) {
$response = $miniShop2->order->getDeliveryRequiresFields();
if ($requires = $response['data']['requires']) {
foreach ($_POST as $field => $val) {
$validated = $miniShop2->order->validate($field, $val);
if ((in_array($field, $requires) && empty($validated))) {
$errors[] = $field;
}
}
}
}
Но и в документации написан, что массив errors есть
Нужно вернуть либо ошибки после обновления страницы или удалить массив error
Environment
Версия miniShop2, версия MODX, Apache/Nginx и версия, версия mysql, браузер и т.д. Любая соответствующая информация. / MiniShop2 version, MODX version, Apache / Nginx and version, mysql version, browser, etc. Any relevant information.