Umbraco Forms: скрыть условные поля из электронной почты

Внутри моих электронных писем, сгенерированных Umbraco Forms, я хотел бы скрыть поля, которые не отображаются из-за активных условий.

Например: я хочу отображать поле 2 только в том случае, если условие выполняется, а в противном случае скрывать его в своем электронном письме. После приступа кодирования я нашел метод.IsValid(form, string) внутри Umbraco.Forms.Core и начал его настраивать.

var dictionary = new Dictionary<Guid, string>();
dictionary.Add(field.Id, string.Join(",", field.Values ?? new List<object>()));
var showField = field.Condition.IsVisible(form, dictionary);

И используя это так:

parsedRecordFields = record
                    .RecordFields
                    .Values
                    ?.Where(n => !n.Field.HasCondition() || FieldIsInsideSelectedCondition(e.Form, n.Field))

Но это работает не так, как ожидалось; все возвращаемые значения (showField) ложны, даже если они должны быть истинными.

FieldConditionEvaluation.IsVisible ожидает форму и словарь (GUID, строка) в качестве параметра и может быть найден внутри пространства имен Umbraco.Forms.Core.

0 ответов

Другие вопросы по тегам