Использование наследования значений с помощью Glass.Mapper

Я использую Glass.Mapper для реального проекта, и мне нужно реализовать наследование значений.

Например, у меня есть мета-ключевые слова, которые я хочу сопоставить с моделью Glass.Mapper. Если поле пусто, я хочу найти ближайший родительский элемент, который имеет значение в этом поле, и использовать это значение в моей текущей модели.

Поле представляет собой Single-Line Text с именем Meta Keywords.

Home Item -> "Keyword1, Keyword2"
    First Child -> Empty
        Current Item -> Empty

Поскольку текущий элемент не имеет значения поля, я хочу выполнить рекурсивную проверку и получить значение Keyword1, Keyword2 из Home Item в моей текущей модели Glass.Mapper.

Что было бы лучшим подходом для этого? Я знаю, что существует модуль Field Fallback, который делает такие вещи и динамически устанавливает значение в качестве стандартного значения текущего элемента. Предоставляет ли Glass.Mapper некоторую функциональность, позволяющую сделать это более простым способом?


person Pascal Mathys    schedule 03.03.2014    source источник


Ответы (1)


Полевой резервный модуль, вероятно, лучший выбор для этого. Мы используем Glass Mapper и Field Fallback (модуль Шона Кирни) для резервного выбора языка. Мы столкнулись с проблемами при работе с боковым резервным копированием (с MVC, не могу говорить о реализации веб-форм). Резервный вариант предка должен делать именно то, что вы ищете.

Я не знаю, как заставить Glass делать это автоматически. У меня есть несколько веток в группе Google Glass, вот одна из них, связанная с резервным полем: https://groups.google.com/forum/#!topic/glasssitecoremapper/-uUsb229LzM

Надеюсь это поможет.

person Kyle Heon    schedule 04.03.2014
comment
Спасибо за ваше мнение об этом. Думаю, тогда это будет правильное направление. Мне придется реализовать собственный резервный вариант Ancestor из-за подстановочных элементов, но модуль поддерживает пользовательские процессоры, так что проблем нет :) - person Pascal Mathys; 06.03.2014