Formit и Fenom. Не работают плейсхолдеры в формах
Коллеги, привет, помогите!
По Formit и Fenom вопрос. Вызовы плейсхолдеров Formit не работают. Например:
Ответов не было.
По Formit и Fenom вопрос. Вызовы плейсхолдеров Formit не работают. Например:
{$_modx->getPlaceholder('fi.id')}
Не работает в форме. Отсутствует он. Работает старый плейсхолдер: [[+fi.id]]}
Остальные тэги на fenom работают. Но модификаторы старые не работают, соответственно чекбоксы, например, не работают.[[!+fi.secondarySplashTabs:FormItIsChecked=`1`]]
Несколько строк кода формы:<div class="container container_mini">
<h1 class="wrap mt-3">{$_modx->getPlaceholder('fi.id')}-нет, а [[+fi.id]] - есть</h1>
[[+fi.error.error_message]]
<form class="wrap mt-2 form_form-control appform" action="/profile/app?update=[[+fi.id]]" enctype="multipart/form-data" method="post"><input type="hidden" name="nospam:blank" />
<input type="hidden" name="resource_id" value="[[+fi.id]]" />
<h4 class="wrap mt-2">Текстовые поля</h4>
<div class="wrap">
<div class="form-group"><label for="longtitle">Название [[+fi.error.longtitle]]</label><input class="form-control" type="text" name="longtitle" id="longtitle" value="[[+fi.longtitle]]" /></div>
Такая проблема была у @Petro Вот здесь!Ответов не было.
Комментарии: 5
FormIt он под Fenom не заточен, это минус, поэтому от себя могу посоветовать попробовать такой вызов
{$_pls['fi.id']}
Попробовал, не работает, увы!
Не совсем понял, откуда передается параметр id. Если из вызова сниппета AjaxForm, наподобие этого:
{'!AjaxForm' | snippet : [
'snippet' => 'FormIt',
'form' => 'modal_callback_form',
'hooks' => 'email,FormItSaveForm',
...
'validationErrorMessage'=>'В форме содержатся ошибки! Заполните обязательные поля',
'successMessage'=>'Сообщение успешно отправлено!',
'id' => 123
]}
то этот параметр будет доступен в форме так:{$id}
Нет, Formit имеет свои плейсхолдреры, например с содержанием поля редактируемого ресурса. К сожалению, мы их не можем получить через fenom
Сейчас попробовал на рабочем проекте:
при неуспешном сабмите {$_modx->getPlaceholder('error.message_d')} выводит строку с ошибкой. Только нужно было этот плейсхолдер обернуть в соответствующий класс ошибки. Значит, в принципе, работает. Возможно, дело в отсутствии префикса fi в вызове плейсхолдера?
Но это у меня связка formIt и AjaxFrom
<div class="form-group">
<textarea name="message_d" class="form-control form-control-simple" placeholder="Введите сообщение *"></textarea>
<span class="error_message_d">{$_modx->getPlaceholder('error.message_d')}</span>
</div>
skrinshoter.ru/s/091220/gJq6ZWja?aпри неуспешном сабмите {$_modx->getPlaceholder('error.message_d')} выводит строку с ошибкой. Только нужно было этот плейсхолдер обернуть в соответствующий класс ошибки. Значит, в принципе, работает. Возможно, дело в отсутствии префикса fi в вызове плейсхолдера?
Но это у меня связка formIt и AjaxFrom
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.