Как отобразить ContentItem на основе другого значения элементов в саду
Я пытаюсь найти способ сказать, что в типе содержимого страницы есть флажок, который позволил бы мне скрыть или показать проекцию изображений на основе выбранного поля. Что было бы лучшим способом достичь этого.
1 ответ
Вот метод, который вы можете использовать, и я могу перейти к более подробным, как вам нужно.
- Добавьте логическое поле к типу содержимого и установите его в качестве флажка
- Используйте Placement.info, чтобы скрыть это логическое поле от рендеринга (чтобы оно нигде не отображалось)
- Переопределите получившуюся форму проекции, чтобы добавить логику в представление (я предполагаю, что вы переопределяете файл.cshtml), который получит доступ к значению логического поля. Затем это можно использовать, чтобы решить, следует ли выводить html.
Одно предупреждение с этим методом. Даже в тех случаях, когда вы решите не отображать html, вся работа по фактической подготовке прогноза будет выполнена, поэтому вы получите тот же удар по производительности, показывает ли вы результаты или нет. Альтернативой этому было бы переопределить Orchard.Projection.Drivers.ProjectionPartDriver.cs (либо в вашей теме, либо в другом модуле) и решить, следует ли подготовить форму на основе того, является ли логическое поле истинным или ложным.