Five New Optimizely Certifications are Here! Validate your expertise and advance your career with our latest certification exams. Click here to find out more
AI OnAI Off
Five New Optimizely Certifications are Here! Validate your expertise and advance your career with our latest certification exams. Click here to find out more
Do you need to see the image in edit mode? If not, do something like this?
return HomePage.BannerAlertBackgroundColors?.Select(x => new SelectItem {Text = x.ColorName + ", " + x.Image.Name, Value = x.ColorHexValue + ":" + x.Image.ContentLink.ID });
I had a property list with Name and Value. I made a selection factory to display the names to select one item from the property list. Following that I could get the value of the selected item in the UI. Sample code below..
public IEnumerable<ISelectItem> GetSelections(ExtendedMetadata metadata)
{
if (!_contentLoader.TryGet<HomePage>(ContentReference.StartPage, out var HomePage))
{
return Enumerable.Empty<ISelectItem>();
}
return HomePage.BannerAlertBackgroundColors?.Select(x => new SelectItem {Text = x.ColorName, Value = x.ColorHexValue });
}
This is how I used it in the block:
[SelectOne(SelectionFactoryType = typeof(BannerAlertColorSelectionFactory))]
public virtual string BannerBackgroundColor { get; set; }
I need to expand the property list to add one more item, Ex: Name, Value, Image. But I have to keep the implementation still same. User will be selecting the Name in the CMS. I need to update the selection factory some how to return the entire item so I can access Value and Image both in UI.
Any help is most appreciated.