AI OnAI Off
Hi, Mark,
It's quite easy to create a CategorySelectionFactory. I don't think there is a built-in one, since there is PropertyCategoryList instead.
Here is a simple scenario:
[SelectionFactoryRegistration] public class CategorySelectionFactory : ISelectionFactory { public IEnumerable<ISelectItem> GetSelections(ExtendedMetadata metadata) { var categories = CategoryList.LoadCategories(); var selectItems = new List<ISelectItem>(); if (categories != null) { foreach (var cat in categories) { var category = Category.Find(cat); var catSelectItem = new SelectItem() { Text = category.LocalizedDescription, Value = category.ID }; selectItems.Add(catSelectItem); } } return selectItems; } }
Then, define the property:
[SelectOne(SelectionFactoryType = typeof(CategorySelectionFactory))] public virtual int SelectOneCategory { get; set; }
It will return you the category ID, which you can use to find the category later:
var category = Category.Find(cat);
BR,
Marija
Hi,
This must be easy but I can't find an example that I can get to work.
I have a page property that is populated by a category list and this works fine by default allowing the user to select one or more categories from the list. I need to add another property which is also populated by a category list however this one should be single select only.
I have found the SelectOne attribute which looks like it should work however this prevents the category list being loaded.
Any thoughts or suggestions appreciated as always.
Thanks,
Mark