Formit и Fenom. Не работают плейсхолдеры в формах

Коллеги, привет, помогите!
По 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 Вот здесь!
Ответов не было.
Максим Логинов
09 декабря 2020, 01:33
modx.pro
627
0

Комментарии: 5

Артур Шевченко
09 декабря 2020, 10:51
0
FormIt он под Fenom не заточен, это минус, поэтому от себя могу посоветовать попробовать такой вызов
{$_pls['fi.id']}
Alexey
09 декабря 2020, 11:25
+1
Не совсем понял, откуда передается параметр id. Если из вызова сниппета AjaxForm, наподобие этого:
{'!AjaxForm' | snippet : [
        'snippet' => 'FormIt',
        'form' => 'modal_callback_form',
        'hooks' => 'email,FormItSaveForm',
        ...
    	'validationErrorMessage'=>'В форме содержатся ошибки! Заполните обязательные поля',
    	'successMessage'=>'Сообщение успешно отправлено!',    	
    	'id' => 123
    ]}
то этот параметр будет доступен в форме так:
{$id}
    Максим Логинов
    09 декабря 2020, 12:55
    0
    Нет, Formit имеет свои плейсхолдреры, например с содержанием поля редактируемого ресурса. К сожалению, мы их не можем получить через fenom
      Alexey
      09 декабря 2020, 13:43
      0
      Сейчас попробовал на рабочем проекте:

      <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
    Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
    5