Modx: FormIT Выберите поля, не сохраняющиеся при загрузке значений из таблицы MySQL

Я знаю, что утилита formItIsSelected отлично работает, чтобы сохранить значение поля Select в форме, когда (например) форма не может быть проверена по какой-либо причине. Но кто-нибудь пытался использовать это, когда поле Select заполняет таблицу в MySQL? Это, безусловно, более полезно, чем поле Select, заполненное статическими значениями.

У меня есть форма на сайте modx, подключенная с помощью formit, и поле select в ней динамически извлекает значения из таблицы в MySQL. Если форма не может подтвердить это конкретное поле теряет значение, выбранное пользователем. Мое поле (в форме) имеет следующие настройки:

<select id="Field245" name="typeOfRelationship" class="field select medium" tabindex="4">[[!getRelationshipOptions? &selected=`[[!+fi.typeOfRelationship]]`]]</select>

и фрагмент, и который работает правильно, просто делает:

<?php if (!$modx->addPackage('contacts', MODX_CORE_PATH . 'components/contacts/model/')) {return 'Could not load xPDO model';}$current = $modx->getOption('selected', $scriptProperties, '');$output = [];$relationships= $modx->getCollection('RelationshipCodes');foreach ($relationships as $relationship) {$selected = $current == $relationship->get('codes') ? 'selected="selected' : '';$value=$relationship->get('descriptions');$output[] = '<option value="' . $relationship->get('descriptions') . '" ' . $selected . '>' . $relationship->get('descriptions') . '</option>';}return implode('', $output);

Все идет нормально. Но когда я заменяю строку $ output [] на:

 $output[] = '<option value="' .$value . '" '. '[[!+fi.typeOfRelationship:FormItIsSelected=' ."'".$value. "'". $selected. ']]>' . $value . '</option>';

это не удается! Это не ошибка, но все же позволяет полю Select терять свои настройки, когда форма не проходит проверку. Вы видите проблему? Или, возможно, FormItIsSelected не работает в этом контексте?

Большое большое спасибо

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]