public object ComputeFieldValue(IIndexable indexable) { var indexItem = indexable as SitecoreIndexableItem; if (indexItem == null) return null; var item = indexItem.Item; var children = item.GetChildren(); var componentsFolder = children.FirstOrDefault(x => x.TemplateID == ID.Parse("{B0A97186-187F-4DCB-BABA-4096ABCD70B2}")); if (componentsFolder == null) return null; var childContent = componentsFolder.GetChildren(); var blogContent = childContent.FirstOrDefault(x => x.TemplateID == ID.Parse("{ D45EAC17 - 5DC2 - 4AF2 - 8FCD - A4896E5CA07F}")); if (blogContent == null) return null; MultilistField categories = blogContent.Fields["Categories"]; var categoryNameList = new List<string>(); foreach (var id in categories.TargetIDs) { var category = blogContent.Database.GetItem(id); if (categories != null) categoryNameList.Add(category.DisplayName); } return categoryNameList; }
public ViewResult HeroSlider() { var viewModel = new HeroSliderViewModel(); if (!String.IsNullOrEmpty(RenderingContext.Current.Rendering.DataSource)) { var contentItem = _repository.GetItem(RenderingContext.Current.Rendering.DataSource); if (contentItem != null) { var heroImagesField = new MultilistField(contentItem.Fields["Hero Image"]); if (heroImagesField != null) { var items = heroImagesField.GetItems(); var itemCounter = 0; foreach (var item in items) { var mediaItem = (MediaItem)item; viewModel.HeroImages.Add(new HeroSliderImageViewModel() { MediaUrl = MediaManager.GetMediaUrl(mediaItem), AltText = mediaItem.Alt, IsActive = itemCounter == 0 }); itemCounter++; } } } } return(View(viewModel)); }
// GET: RelatedEvents public ActionResult Index() { var item = RenderingContext.Current.Rendering.Item; if (item == null) { return(new EmptyResult()); } MultilistField relatedEvents = item.Fields["{2B441697-5F06-4CCC-85AC-E4B94A1163AE}"]; if (relatedEvents == null) { return(new EmptyResult()); } var events = relatedEvents.GetItems() .Select(i => new NavigationItem() { Title = i.DisplayName, URL = LinkManager.GetItemUrl(i) }); return(View(events)); }
protected void Page_Load(object sender, EventArgs e) { var item = Sitecore.Context.Item; if (item.TemplateID == TemplateReferences.Holiday) { var json = new JSONHoliday(); json.PageHeading = FieldRenderer.Render(item, "Page Heading"); json.PageContent = FieldRenderer.Render(item, "Page Content"); ReferenceField difficulty = item.Fields["Difficulty"]; json.DifficultyLabel = Sitecore.Globalization.Translate.Text("Difficulty"); json.Difficulty = FieldRenderer.Render(difficulty.TargetItem, "Text"); ReferenceField type = item.Fields["Type"]; json.TypeLabel = Sitecore.Globalization.Translate.Text("Type"); json.Type = FieldRenderer.Render(type.TargetItem, "Text"); MultilistField terrain = item.Fields["Terrain"]; json.TerrainLabel = Sitecore.Globalization.Translate.Text("Terrain"); json.Terrain = string.Join(",", terrain.GetItems().Select(x => FieldRenderer.Render(x, "Text"))); JavaScriptSerializer serializer = new JavaScriptSerializer(); Response.Write(serializer.Serialize(json)); } }
public IEnumerable <Carousel> GetCarousels() { var db = RenderingContext.Current.ContextItem.Database; var homeItem = db.GetItem(Sitecore.Context.Site.StartPath); MultilistField carouselEntries = homeItem.Fields["Carousels"]; var carouselItems = carouselEntries.GetItems(); List <Carousel> carousels = new List <Carousel>(); foreach (var cItem in carouselItems) { var address = (LookupField)cItem.Fields["Event"]; var eventItem = address?.TargetItem; var active = (CheckboxField)cItem.Fields["IsActive"]; carousels.Add(new Carousel { Image = cItem.GetMediaUrl("Image"), Url = (eventItem != null) ? LinkManager.GetItemUrl(eventItem) : "", Title = cItem.Fields["Title"].Value, Intro = cItem.Fields["Intro"].Value, IsActive = active.Checked }); } return(carousels); }
// GET: RelatedEvents public ActionResult Index() { var item = RenderingContext.Current.Rendering.Item; if (item == null) { return(new EmptyResult()); } MultilistField relatedEvents = item.Fields["{43B3B1EB-375A-408B-BFEA-2E2E2B5E4688}"]; if (relatedEvents == null) { return(new EmptyResult()); } var events = relatedEvents.GetItems() .Select(i => new NavigationItem() { Title = i.DisplayName, URL = LinkManager.GetItemUrl(i) }); return(View(events)); }
public bool Build(CommentViewModel viewModel) { try { var comment = Mapper.Map <Comment>(viewModel); var result = _commentRepository.Create(comment); if (!result) { ModelErrors.Add(_commentRepository.RepositoryErrors.LastOrDefault()); return(false); } using (new SecurityDisabler()) { var item = _context.GetItem <Item>(viewModel.ArticleId); item.Editing.BeginEdit(); MultilistField comments = new MultilistField(item.Fields["Comments"]); comments.Add(comment.Id.ToString()); item.Editing.EndEdit(); } return(true); } catch (Exception ex) { ModelErrors.Add(ex); return(false); } }
public ActionResult HomePageHero() { if (Sitecore.Context.Item == null) { return(null); } var dataSourceId = Sitecore.Context.Item.ID.ToString(); Assert.IsNotNullOrEmpty(dataSourceId, "dataSourceId is null or empty"); var item = Sitecore.Context.Database.GetItem(dataSourceId); if (item == null) { return(null); } HomepageModel.Homepage homePageModel = new HomepageModel.Homepage(); //Multilist MultilistField heroListField = item.Fields[Templates.HomepageHero.Fields.HomepageHeroList]; homePageModel.HeroSlides = PopulateHeroList(heroListField); return(View(homePageModel)); }
public ActionResult LoadScriptSpecificPages() { Item globalScriptsItem = Sitecore.Context.Database.GetItem(globalScriptsItemID); Item currentPageItem = Context.Item; List <MvcHtmlString> scripts = new List <MvcHtmlString>(); MvcHtmlString inlinePageScript = new MvcHtmlString(currentPageItem["Script"]); if (inlinePageScript != null) { scripts.Add(inlinePageScript); } IEnumerable <Item> specificScripts = globalScriptsItem.GetChildren(); foreach (var item in specificScripts) { MvcHtmlString currentScript = new MvcHtmlString(item["Script"]); MultilistField pagesItems = item.Fields["Pages"]; foreach (TemplateItem pageTemplate in pagesItems.GetItems()) { if (currentPageItem.TemplateID == pageTemplate.ID) { scripts.Add(currentScript); } } } return(View(scripts)); }
public void GetEventList(EventModel eventModel) { string dataSource = RenderingContext.Current.Rendering.DataSource; if (!string.IsNullOrEmpty(dataSource)) { Item userGroupItem = Sitecore.Context.Database.GetItem(dataSource); MultilistField selectedEventField = userGroupItem.Fields[EventConstant.GroupEvent]; if (selectedEventField != null) { Item[] eventItems = selectedEventField.GetItems(); if (eventItems != null && eventItems.Length > 0) { foreach (var item in eventItems) { GroupEvent eventItem = new GroupEvent(); eventItem.Name = item[EventConstant.EventName]; eventItem.Venue = item[EventConstant.EventVenue]; DateField dateTimeField = item.Fields[EventConstant.EventDate]; eventItem.EventDate = Sitecore.DateUtil.IsoDateToDateTime(dateTimeField.Value); MultilistField photoslist = item.Fields[EventConstant.EventPhotos]; Item[] photos = null; if (photoslist != null) { photos = photoslist.GetItems(); } eventItem.Photos = GetUrlOfPhotos(photos); } } } } }
public static void Clear(this MultilistField listField) { foreach (string itemID in listField.Items) { listField.Remove(itemID); } }
// GET: RelatedEvents public ActionResult Index() { //get the current item using rendering item, this can also bring back the data source item and if not set defaults back to the current item var currentItem = RenderingContext.Current.Rendering.Item; if (currentItem == null) { return(new EmptyResult()); } //get the related events list MultilistField relatedEvents = currentItem.Fields["Related-Events"]; if (relatedEvents == null) { return(new EmptyResult()); } //get the set items var setEvents = relatedEvents.GetItems(); if (!setEvents.Any() && !Sitecore.Context.PageMode.IsExperienceEditorEditing) { return(new EmptyResult()); } var displayEvents = setEvents.Select(eventItem => new NavigationItemModel() { Title = eventItem.DisplayName, Url = LinkManager.GetItemUrl(eventItem) }); // return the view with the events return(View(displayEvents)); }
public ActionResult BestRecipes() { if (Sitecore.Context.Item == null) { return(null); } var dataSourceId = Sitecore.Context.Item.ID.ToString(); Assert.IsNotNullOrEmpty(dataSourceId, "dataSourceId is null or empty"); var item = Sitecore.Context.Database.GetItem(dataSourceId); if (item == null) { return(null); } HomepageModel.Homepage homePageModel = new HomepageModel.Homepage(); homePageModel.BestRecipesTitle = item.Fields[Templates.BestRecipes.Fields.BestRecipesTitle.ToString()].Value; //Multilist MultilistField bestRecipesListField = item.Fields[Templates.BestRecipes.Fields.BestRecipesList]; Item[] bestRecipesListItems = bestRecipesListField.GetItems(); List <Recipe> recipes = new List <Recipe>(); if (bestRecipesListItems != null && bestRecipesListItems.Count() > 0) { foreach (Item recipeListItem in bestRecipesListItems) { Recipe recipe = new Recipe(); Item recipeItem = Sitecore.Context.Database.GetItem(recipeListItem.ID); recipe.RecipeName = recipeItem.Fields[Templates.Recipe.Fields.RecipName.ToString()].Value; recipe.RecipeAbscractText = recipeItem.Fields[Templates.Recipe.Fields.RecipeAbscractText.ToString()].Value; ImageField recipeImage = recipeItem.Fields[Templates.Recipe.Fields.RecipeAbscractImage]; if (recipeImage != null && recipeImage.MediaItem != null) { recipe.RecipeAbscractImageUrl = Sitecore.Resources.Media.MediaManager.GetMediaUrl(recipeImage.MediaItem); } recipe.RecipeURL = Sitecore.Links.LinkManager.GetItemUrl(recipeItem); int rating = 0; int.TryParse(recipeItem.Fields[Templates.Recipe.Fields.RecipeRating.ToString()].Value, out rating); recipe.RecipeRating = rating; //hero.HeroBackgroundImageUrlAlt = heroImage.Alt; recipes.Add(recipe); } } homePageModel.BestRecipesList = recipes; return(View(homePageModel)); }
public static IEnumerable <Item> GetEventTypes() { var db = RenderingContext.Current.ContextItem.Database; var homeItem = db.GetItem(Sitecore.Context.Site.StartPath); MultilistField events = homeItem.Fields["Events"]; return(events.GetItems()); }
protected PortfolioListingModel GetModel(Item actionItem, int imageWidth, int imageHeight) { MultilistField listField = actionItem.Fields["Portfolio Section Items"]; return(new PortfolioListingModel { PortfolioListingItemModels = _portfolioRepository.GetPortfolioItemsFromMultilist(listField, imageWidth, imageHeight), }); }
public static Item[] GetMultiListItemsFromField(this Item item, string fieldName) { if (item.IsFieldExists(fieldName)) { MultilistField multilistField = item.Fields[fieldName]; return(multilistField.GetItems()); } return(new Item[] { }); }
/// <summary> /// This method returns a list of ProductSearchResults for a datasource /// </summary> /// <param name="dataSource">The datasource to perform the searches with</param> /// <param name="productSearchOptions">The search options.</param> /// <returns>A list of ProductSearchResults</returns> public MultipleProductSearchResults GetMultipleProductSearchResults(BaseItem dataSource, CommerceSearchOptions productSearchOptions) { Assert.ArgumentNotNull(productSearchOptions, "productSearchOptions"); MultilistField searchesField = dataSource.Fields[StorefrontConstants.KnownFieldNames.NamedSearches]; var searches = searchesField.GetItems(); var productsSearchResults = new List <SearchResults>(); foreach (Item search in searches) { var itemType = search.ItemType(); switch (itemType) { case StorefrontConstants.ItemTypes.NamedSearch: { var productsSearchResult = GetProductSearchResults(search, productSearchOptions); if (productsSearchResult != null) { productsSearchResult.NamedSearchItem = search; productsSearchResult.DisplayName = search[StorefrontConstants.KnownFieldNames.Title]; productsSearchResults.Add(productsSearchResult); } break; } case StorefrontConstants.ItemTypes.SelectedProducts: { int itemCount = 0; SearchResults staticSearchList = new SearchResults(); staticSearchList.DisplayName = search[StorefrontConstants.KnownFieldNames.Title]; staticSearchList.NamedSearchItem = search; MultilistField productListField = search.Fields[StorefrontConstants.KnownFieldNames.ProductList]; var productList = productListField.GetItems(); foreach (Item productItem in productList) { var catalogItemtype = productItem.ItemType(); if (catalogItemtype == StorefrontConstants.ItemTypes.Category || catalogItemtype == StorefrontConstants.ItemTypes.Product) { staticSearchList.SearchResultItems.Add(productItem); itemCount++; } } staticSearchList.TotalItemCount = itemCount; staticSearchList.TotalPageCount = itemCount; productsSearchResults.Add(staticSearchList); break; } } } return(new MultipleProductSearchResults(productsSearchResults)); }
/// <summary> /// Processes the specified arguments. /// </summary> /// <param name="args">The arguments.</param> public override void Process(Commerce.Pipelines.ServicePipelineArgs args) { Assert.ArgumentNotNull(args, "args"); Assert.ArgumentCondition(args.Request is GetShippingOptionsRequest, "args.Request", "args.Request is GetShippingOptionsRequest"); Assert.ArgumentCondition(args.Result is GetShippingOptionsResult, "args.Result", "args.Result is GetShippingOptionsResult"); var request = (GetShippingOptionsRequest)args.Request; var result = (GetShippingOptionsResult)args.Result; List <ShippingOption> availableShippingOptionList = new List <ShippingOption>(); List <ShippingOption> allShippingOptionList = new List <ShippingOption>(); List <ID> filteredList = null; var fulfillmentConfiguration = StorefrontManager.CurrentStorefront.FulfillmentConfiguration; if (fulfillmentConfiguration != null) { MultilistField multiList = fulfillmentConfiguration.Fields[Sitecore.Commerce.Constants.Templates.FulfillmentConfiguration.Fields.FulfillmentOptions]; filteredList = new List <ID>(multiList.TargetIDs); } foreach (Item shippingOptionItem in this.GetShippingOptionsItem().GetChildren()) { bool add = true; if (filteredList != null) { add = filteredList.Exists(p => p == shippingOptionItem.ID); } if (add) { var fulfillmentTypeId = shippingOptionItem[Sitecore.Commerce.Constants.Templates.FulfillmentOption.Fields.FulfillmentOptionType]; ShippingOption option = this.EntityFactory.Create <ShippingOption>("ShippingOption"); var shippingOptionType = Sitecore.Context.Database.GetItem(fulfillmentTypeId); Assert.IsNotNull(shippingOptionType, string.Format(CultureInfo.InvariantCulture, "The Fulfillment Option Type is undefined in Sitecore. ID: {0}", fulfillmentTypeId)); this.TranslateToShippingOption(shippingOptionItem, shippingOptionType, option); add = option.ShippingOptionType == ShippingOptionType.ElectronicDelivery && !CartCanBeEmailed(request.Cart as CommerceCart) ? false : option.ShippingOptionType == ShippingOptionType.DeliverItemsIndividually && request.Cart.Lines.Count <= 1 ? false : true; if (add) { availableShippingOptionList.Add(option); } allShippingOptionList.Add(option); } } result.ShippingOptions = new System.Collections.ObjectModel.ReadOnlyCollection <ShippingOption>(availableShippingOptionList); result.LineShippingPreferences = this.GetLineShippingOptions(request.Cart as CommerceCart, allShippingOptionList).AsReadOnly(); }
public static MultilistField FetchMultiListItems(Item item, string field) { MultilistField items = null; if (item != null) { items = item.Fields[field]; } return(items); }
public override void Initialize(Rendering rendering) { base.Initialize(rendering); ArticleDate = rendering.Item.Fields["ArticleDate"]; HeaderImage = rendering.Item.Fields["HeaderImage"]; _RelatedArticles = rendering.Item.Fields["RelatedArticles"]; Summary = rendering.Item["Summary"]; SummaryImage = rendering.Item.Fields["SummaryImage"]; }
public static void AddSearchTab(Item contextItem, MultilistField editors) { using (new EditContext(contextItem, SecurityCheck.Disable)) { if (!editors.Items.Contains(Constants.SearchEditor)) { editors.Add(Constants.SearchEditor); } } }
public IEnumerable <InputParams> selectedMultilistValues(MultilistField data) { IEnumerable <InputParams> selectedInputs = data.GetItems().Select(x => new InputParams { Key = x.Fields["Key"].ToString(), Value = x.Fields["Value"].ToString() }); return(selectedInputs); }
private List <ID> GetIdListFromField(Field field) { MultilistField multilistField = field; if (multilistField == null) { return(new List <ID>()); } return(multilistField.GetItems().Select(i => i.ID).ToList()); }
/// <summary> /// The get values. /// </summary> /// <returns> /// The IEnumberable of values /// </returns> public IEnumerable <string> GetValues() { if (FieldTypeManager.GetField(_field) is MultilistField) { MultilistField field = _field; return(field.TargetIDs.Select(IdHelper.NormalizeGuid)); } return(new string[0]); }
public MultipleProductSearchResults GetMultipleProductSearchResults(Item dataSource, string sortField) { if (!dataSource.IsDerived(Templates.HasNamedSearches.ID)) { return(null); } MultilistField searchesField = dataSource.Fields[Templates.HasNamedSearches.Fields.NamedSearches]; var searches = searchesField.GetItems(); var productsSearchResults = new List <SearchResults>(); foreach (var search in searches) { if (search.IsDerived(Templates.NamedSearch.ID)) { var searchOptions = new SearchOptions { NumberOfItemsToReturn = 12, StartPageIndex = 0, SortField = sortField }; var productsSearchResult = CatalogManager.GetProductSearchResults(search, searchOptions); if (productsSearchResult == null) { continue; } productsSearchResult.Title = search[Templates.NamedSearch.Fields.Title]; productsSearchResults.Add(productsSearchResult); } else if (search.IsDerived(Templates.SelectedProducts.ID)) { var staticSearchList = new SearchResults { Title = search[Templates.SelectedProducts.Fields.Title] }; MultilistField productListField = search.Fields[Templates.SelectedProducts.Fields.ProductList]; var productList = productListField.GetItems(); foreach (var productItem in productList) { if (!productItem.IsDerived(Foundation.Commerce.Templates.Commerce.Category.Id) && !productItem.IsDerived(Foundation.Commerce.Templates.Commerce.Category.Id)) { continue; } staticSearchList.SearchResultItems.Add(productItem); } staticSearchList.TotalItemCount = staticSearchList.SearchResultItems.Count; staticSearchList.TotalPageCount = staticSearchList.SearchResultItems.Count; productsSearchResults.Add(staticSearchList); } } return(new MultipleProductSearchResults(productsSearchResults)); }
/// <summary> /// Gets Sitecore items from Multilist Field. /// </summary> /// <param name="item">The item.</param> /// <param name="fieldName">Name of the field.</param> /// <returns></returns> public static Item[] GetFieldItems(this Item item, string fieldName) { MultilistField ctrl = item.Fields[fieldName]; if (ctrl != null) { return(ctrl.GetItems()); } return(new Item[] { }); }
public IEnumerable <Item> GetItemList(Item item, ID propertyId) { if (propertyId == ID.Null) { return(null); } MultilistField itemList = item.Fields[propertyId]; return(itemList?.GetItems() ?? new Item[] { }); }
public void Process(Item[] items, Sitecore.Tasks.CommandItem commandItem, ScheduleItem schedule) { CheckboxField active = commandItem.InnerItem.Fields["active"]; if (active.Checked) { //prepare email message string from = commandItem["from"]; string to = commandItem["to"]; string subject = commandItem["subject"]; MailMessage message = new MailMessage(from, to) { Subject = subject, }; //attach reports in excel format MultilistField reportReferences = commandItem.InnerItem.Fields["reports"]; foreach (Item item in reportReferences.GetItems()) { ReportItem reportItem = null; Report report = null; try { reportItem = new ReportItem(item); report = new Report(); foreach (var sItem in reportItem.Scanners) { report.AddScanner(sItem); } foreach (var vItem in reportItem.Viewers) { report.AddViewer(vItem); } foreach (var fItem in reportItem.Filters) { report.AddFilter(fItem); } report.Run(); //attach to mail message string tempPath = new ASR.Export.HtmlExport(report, reportItem).SaveFile("Automated report " + reportItem.Name, "xls"); Attachment newAttachment = new Attachment(tempPath); message.Attachments.Add(newAttachment); } catch (Exception ex) { message.Body += String.Format("An error occured while running '{0}'\n{1}\n\n", reportItem.Name, ex.ToString()); } } MainUtil.SendMail(message); } }
public IEnumerable <ProfileItem> GetSiteProfiles() { var settingsItem = Context.Site.GetContextItem(Templates.ProfilingSettings.ID); if (settingsItem == null) { return(Enumerable.Empty <ProfileItem>()); } MultilistField profiles = settingsItem.Fields[Templates.ProfilingSettings.Fields.SiteProfiles]; return(profiles.GetItems().Select(i => new ProfileItem(i))); }
public ActionResult NewsDetails() { if (Sitecore.Context.Item == null) { return(null); } var dataSourceId = Sitecore.Context.Item.ID.ToString(); Assert.IsNotNullOrEmpty(dataSourceId, "dataSourceId is null or empty"); var item = Sitecore.Context.Database.GetItem(dataSourceId); if (item == null) { return(null); } NewsDetail newsDetail = new NewsDetail(); // Artists List - TreeList Field MultilistField newsArtistsListField = item.Fields[Templates.News.Fields.NewsArtists]; Item[] newsArtistsItems = newsArtistsListField.GetItems(); List <Artist> newsArtistsList = new List <Artist>(); if (newsArtistsItems != null && newsArtistsItems.Count() > 0) { foreach (Item i in newsArtistsItems) { Artist artist = new Artist(); Item artistItem = Sitecore.Context.Database.GetItem(i.ID); artist.ArtistName = artistItem.Fields[Templates.Artist.Fields.ArtistName.ToString()].Value; artist.ArtistTitle = artistItem.Fields[Templates.Artist.Fields.ArtistTitle.ToString()].Value; artist.ArtistDescription = artistItem.Fields[Templates.Artist.Fields.ArtistDescription.ToString()].Value; LinkField artistTwitterLink = artistItem.Fields[Templates.Artist.Fields.ArtistTwitterUrl]; artist.ArtistTwitterUrl = artistTwitterLink.Url; LinkField artistLinkedInLink = artistItem.Fields[Templates.Artist.Fields.ArtistLinkedInUrl]; artist.ArtistLinkedInUrl = artistLinkedInLink.Url; LinkField artistWebsiteLink = artistItem.Fields[Templates.Artist.Fields.ArtistWebsiteUrl]; artist.ArtistWebsiteUrl = artistWebsiteLink.Url; ImageField artistImage = artistItem.Fields[Templates.Artist.Fields.ArtistImage]; artist.ArtistImageUrl = Sitecore.Resources.Media.MediaManager.GetMediaUrl(artistImage.MediaItem); artist.ArtistImageAlt = artistImage.Alt; newsArtistsList.Add(artist); } } newsDetail.NewsArtistList = newsArtistsList; return(View(newsDetail)); }
private void SwapMultilistFieldValue(Item item, MultilistField field, ID targetItemId, ID newItemId) { Assert.ArgumentNotNull(item, "item"); Assert.ArgumentNotNull(field, "field"); Assert.ArgumentNotNull(targetItemId, "targetItemId"); Assert.ArgumentNotNull(newItemId, "newItemId"); using (new Sitecore.Data.Items.EditContext(item)) { field.Remove(targetItemId.ToString()); field.Add(newItemId.ToString()); } }
public static MetaKeywordsModel GetKeywords(Item item) { if (item.IsDerived(Templates.PageMetadata.ID)) { var keywordsField = item.Fields[Templates.PageMetadata.Fields.Keywords]; if (keywordsField == null) { return null; } var keywordMultilist = new MultilistField(keywordsField); var keywords = keywordMultilist.GetItems().Select(keywrdItem => keywrdItem[Templates.Keyword.Fields.Keyword]); var metaKeywordModel = new MetaKeywordsModel {Keywords = keywords.ToList()}; return metaKeywordModel; } return null; }
public static IEnumerable<Language> GetSupportedLanguages() { var languages = GetAll(); var siteContext = new SiteContext(); var siteDefinition = siteContext.GetSiteDefinition(Sitecore.Context.Item); if (siteDefinition?.Item == null || !siteDefinition.Item.IsDerived(Feature.Language.Templates.LanguageSettings.ID)) { return languages; } var supportedLanguagesField = new MultilistField(siteDefinition.Item.Fields[Feature.Language.Templates.LanguageSettings.Fields.SupportedLanguages]); if (supportedLanguagesField.Count == 0) { return languages; } var supportedLanguages = supportedLanguagesField.GetItems(); languages = languages.Where(language => supportedLanguages.Any(item => item.Name.Equals(language.Name))); return languages; }
protected virtual void AddMultilistField(Document document, MultilistField field, FieldConfiguration fieldConfiguration) { if (field == null || fieldConfiguration == null) { return; } StringBuilder fieldBuilder = new StringBuilder(); bool first = true; foreach (ID targetId in field.TargetIDs) { if (!first) { fieldBuilder.Append(" "); } first = false; fieldBuilder.Append(targetId.ToLuceneId()); } string fieldName = SitecoreQueryBuilderExtensions.GetEncodedFieldName(field.InnerField.Name); if (fieldConfiguration.Analyze) { document.AddAnalysedField(fieldName, fieldBuilder.ToString(), fieldConfiguration.Store); return; } document.AddNonAnalysedField(fieldName, fieldBuilder.ToString(), fieldConfiguration.Store); }
/// <summary> /// Converts the multisites. /// </summary> /// <param name="multisitesCollection">The multisites collection.</param> /// <returns></returns> public static string ConvertMultisites(MultilistField multisitesCollection) { if (Multisites == null || multisitesCollection == null) { return string.Empty; } var sites = (from site in multisitesCollection.GetItems() where Multisites.ContainsKey(site.ID) select Multisites[site.ID]).Aggregate(string.Empty, (current, prefix) => string.Format("{0}|{1}", current, prefix)); return UrlNormalizer.DecodeUrl(sites.TrimStart('|').ToLower()); }
public override void Initialize(Rendering rendering) { base.Initialize(rendering); _Sidebar = rendering.Item.Fields["Sidebar"]; }
private static Item GetFirstCategoryItem(MultilistField field) { return field.GetItems().FirstOrDefault(); }
public VisualListField(Field f) { _field = f; }
public MultiListFieldWrapper(MultilistField multilistField) { _multilistField = multilistField; }