Что отправляет конструктор форм

InstantCMS 2.X
#1 1 ноября 2023 в 19:30

Видимо совсем запарился, подскажите по настройке конструктора форм.

Поставил чистую систему(2.16.1), создал простейшую форму обратной связи(имя, мыло, файл). Для файла прописал расширения и размер файла.

После отправки письмо приходит, но туда добавляется лишнее «Скрытое поле:» видимо от инпута «csrf_token», а  поле «Файл:» пустое, т.е. нет  ни ссылки на файл ни в аттаче к письму.

И из «form_data» всегда выводится «Страница, с которой отправлена форма:....», не так напряжно, но хотелось бы для некоторых форм не выводить это в письме, тоже не увидел где отключить ее вывод.

Подскажите где в настройках движка это поправить без костылей.

#2 1 ноября 2023 в 19:54

туда добавляется лишнее «Скрытое поле:» видимо от инпута «csrf_token»

AtlantisWeb

Если в шаблоне письма указано {form_data}, то будут выводится все поля. Используйте по отдельности поля например так {field_1} или {field_2} — вместо field_1 название вашего поля

поле «Файл:» пустое

AtlantisWeb

Гостям вообще запрещено грузить файлы и картинки.

из «form_data» всегда выводится «Страница, с которой отправлена форма:....», не так напряжно, но хотелось бы для некоторых форм не выводить это в письме,

AtlantisWeb

Всё в том же шаблоне письма смотрите {page_url}

#3 1 ноября 2023 в 20:43

 Loadырь, Благодарю, это как 1 их выходов.

Но на мой взгляд это больше костыль чем решение. Представьте десяток разных форм с 10-20 полями и под каждую такую форму писать свой шаблон со всеми полями, только для того что бы избавиться от одного системного поля как то не совсем правильно.

Что касается файлов, никто не говорит то это будут заполнять гости, это могут быть пользователи и модераторы. Но и для гостей это так же нужно, например для сайта где прикрепляют какие либо документы для регистрации или подтверждения данных. Или как минимум отправка файла в аттаче письма, не сохраняя на сервере, такой функционал уже есть, но файлы почему то не уходят((

#4 23 октября 2024 в 14:59

Подскажите, можно ли передать через форму ссылку на профиль пользователя отправителя?

#5 23 октября 2024 в 16:17

 Region67, попробуйте в шаблоне уведомления использовать {user_name}

Изображение

#6 23 октября 2024 в 16:32

 Region67, попробуйте в шаблоне уведомления использовать {user_name}

Изображение

Zau4man

В таком случае приходит просто имя. Хотелось бы именно ссылку на профиль

#7 23 октября 2024 в 16:46

В таком случае приходит просто имя

Region67

тогда, видимо, только на гит github.com/instantsoft/icms2/issues с хотелкой, чтобы к {user_name} добавили также {user_id}

#8 25 октября 2024 в 12:51

тогда, видимо, только на гит github.com/instantsoft/icms2/issues с хотелкой, чтобы к {user_name} добавили также {user_id}

Zau4man

Вы бы смогли реализовать такое за 💰 💰 💰?

#9 25 октября 2024 в 13:28

Без хаков движка, видимо, никак. Не приветствую такие правки, поэтому все еще рекомендую написать на гит.

В файле system\controllers\forms\actions\send_ajax.php после строки

  1. $form_items['user_name'] = $this->cms_user->is_logged ? $this->cms_user->nickname : LANG_GUEST;

добавить

  1. $form_items['user_id'] = $this->cms_user->is_logged ? $this->cms_user->id : 0;

Чтобы получилось так

Изображение

И в шаблоне письма использовать конструкцию типа

  1. <a href="http://instant2163/users/{user_id}">{user_name}</a> заполнил тут {page_url}
  2.  
  3. Данные формы
  4. {form_data}

Изображение

И тогда в письме получите ссылку

Изображение

По документации docs.instantcms.ru/manual/settings/seo-patterns можно попробовать обработать ситуацию, когда user_id нет, т.е. гость. Но у меня быстро это не получилось, поэтому отправляю 0.

Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.