Как удалить адрес электронной почты из шаблона tpl.msOrder в новой версии minishop?

Здравствуйте! Мне нужно убрать email из оформления заказа в новой версии minishop2. Я удалил его из цикла foreach, но теперь валидация при отправке заказа сообщает, что не все поля заполнены. Я продолжил искать в файле msOrder и удалил все, что связано с почтой, но все равно возникают проблемы. Пожалуйста, подскажите, что еще нужно удалить и отредактировать для удаления email из оформления заказа.
Изображение к вопросу
Изображение к вопросу
Изображение к вопросу
  • 7 января 2024 г. 10:08
Ответы на вопрос 2
Для того чтобы убрать требование к обязательному заполнению email адреса при оформлении заказа в miniShop2, вам потребуется выполнить несколько шагов, которые связаны как с шаблонами, так и с системными настройками и возможно валидацией на стороне сервера.

Начнем с того, что вам необходимо убедиться, что система больше не требует email как обязательное поле. Для этого нужно изменить настройки минишопа:

1. В административной панели MODX перейдите в "Системные настройки".
2. Отфильтруйте настройки по пространству имен `minishop2`.
3. Найдите настройку с именем `ms2_order_required_fields` или что-то похожее в зависимости от версии miniShop2.
4. Измените значение этой настройки, удалив из нее `email`. Например, если там было `name,email,phone`, исправьте на `name,phone`.
5. Сохраните изменения.

После изменения системных настройки, следует работать с фронтэндом.

1. Откройте шаблон формы оформления заказа (tpl.msOrder). Если вы используете собственный шаблон, то именно его и необходимо редактировать.
2. Удалите элемент input для email.
3. Также стоит проверить JavaScript-валидацию (если она используется). Удалите требование валидации для поля email.

Проверьте файлы чанков (если они используются для вывода частей формы) на предмет наличия поля email и его валидации.

После внесения всех изменений сбросьте кэш MODX:
- В административной панели MODX выберите "Управление" -> "Очистить кэш".

Если система все равно продолжает требовать заполнения email, убедитесь, что нет пользовательского Snippet или плагина, который выполняет свою валидацию. Проверьте их код на предмет валидации email и при необходимости отредактируйте данный код.

Учтите, что изменения в системных настройках и шаблонах могут повлиять на функциональность вашего сайта. После удаления email как обязательного поля вы не сможете использовать его для общения с клиентами, уведомлений о заказах и прочих функций, требующих наличия email. Важно также помнить о безопасности и логике работы интернет-магазина.

Если указанные выше рекомендации не помогают, возможно потребуется более глубокое вмешательство в код miniShop2, что может требовать программистских навыков и понимания работы MODX и miniShop2 в частности.
А что вы имеете ввиду под "в новой версии minishop2"? 
Раньше было так - нужно найти файл с тем классом, что указан в системной переменной ms2_order_handler_class , там и будет обработка обязательности email в заказе. Нужно бы переопределить класс - сделать свой файл, перенаследовав, и прописать свою логику обработки полей, сделая email необязательным.
Похожие вопросы