Carrotware.CMS.Core.ContentPageHelper.GetBlogHeadingFromURL C# (CSharp) Метод

GetBlogHeadingFromURL() публичный Метод

public GetBlogHeadingFromURL ( SiteData currentSite, string sFilterPath ) : Carrotware.CMS.Core.PageViewType
currentSite SiteData
sFilterPath string
Результат Carrotware.CMS.Core.PageViewType
        public PageViewType GetBlogHeadingFromURL(SiteData currentSite, string sFilterPath)
        {
            Guid siteID = currentSite.SiteID;
            PageViewType pvt = new PageViewType { ExtraTitle = String.Empty, CurrentViewType = PageViewType.ViewType.SinglePage, RawValue = null };

            string sTitle = String.Empty;

            if (currentSite.CheckIsBlogCategoryPath(sFilterPath)) {
                pvt.CurrentViewType = PageViewType.ViewType.CategoryIndex;
                vw_carrot_CategoryURL query = CompiledQueries.cqGetCategoryByURL(db, siteID, sFilterPath);
                if (query != null) {
                    sTitle = query.CategoryText;
                    pvt.RawValue = query.CategoryText;
                }
            }
            if (currentSite.CheckIsBlogTagPath(sFilterPath)) {
                pvt.CurrentViewType = PageViewType.ViewType.TagIndex;
                vw_carrot_TagURL query = CompiledQueries.cqGetTagByURL(db, siteID, sFilterPath);
                if (query != null) {
                    sTitle = query.TagText;
                    pvt.RawValue = query.TagText;
                }
            }
            if (currentSite.CheckIsBlogEditorFolderPath(sFilterPath)) {
                pvt.CurrentViewType = PageViewType.ViewType.AuthorIndex;
                vw_carrot_EditorURL query = CompiledQueries.cqGetEditorByURL(db, siteID, sFilterPath);
                if (query != null) {
                    ExtendedUserData usr = new ExtendedUserData(query.UserId);
                    sTitle = usr.ToString();
                    pvt.RawValue = usr;
                }
            }
            if (currentSite.CheckIsBlogDateFolderPath(sFilterPath)) {
                pvt.CurrentViewType = PageViewType.ViewType.DateIndex;

                BlogDatePathParser p = new BlogDatePathParser(currentSite, sFilterPath);
                TimeSpan ts = p.DateEndUTC - p.DateBeginUTC;

                pvt.RawValue = p.DateBegin;

                int daysDelta = ts.Days;
                if (daysDelta < 400 && daysDelta > 90) {
                    sTitle = p.DateBegin.ToString("yyyy");
                    pvt.CurrentViewType = PageViewType.ViewType.DateYearIndex;
                }
                if (daysDelta < 36 && daysDelta > 3) {
                    sTitle = p.DateBegin.ToString("MMMM yyyy");
                    pvt.CurrentViewType = PageViewType.ViewType.DateMonthIndex;
                }
                if (daysDelta < 5) {
                    sTitle = p.DateBegin.ToString("MMMM d, yyyy");
                    pvt.CurrentViewType = PageViewType.ViewType.DateDayIndex;
                }
            }

            if (currentSite.CheckIsSiteSearchPath(sFilterPath)) {
                pvt.CurrentViewType = PageViewType.ViewType.SearchResults;
                string sSearchTerm = "";

                if (HttpContext.Current.Request.QueryString[SiteData.SearchQueryParameter] != null) {
                    sSearchTerm = HttpContext.Current.Request.QueryString[SiteData.SearchQueryParameter].ToString();
                }

                pvt.RawValue = sSearchTerm;
                sTitle = String.Format(" '{0}' ", sSearchTerm);
            }

            pvt.ExtraTitle = sTitle;

            return pvt;
        }

Usage Example

Пример #1
0
		private void LoadHeadCaption() {
			if (this.TheSite.Blog_Root_ContentID == this.ThePage.Root_ContentID
				&& _headingText == null && this.TypeLabelPrefixes.Any()) {
				_headingText = String.Empty;
				using (ContentPageHelper pageHelper = new ContentPageHelper()) {
					PageViewType pvt = pageHelper.GetBlogHeadingFromURL(this.TheSite, SiteData.CurrentScriptName);
					_headingText = pvt.ExtraTitle;

					TypeHeadingOption titleOpts = this.TypeLabelPrefixes.Where(x => x.KeyValue == pvt.CurrentViewType).FirstOrDefault();

					if (titleOpts == null
						&& (pvt.CurrentViewType == PageViewType.ViewType.DateDayIndex
						|| pvt.CurrentViewType == PageViewType.ViewType.DateMonthIndex
						|| pvt.CurrentViewType == PageViewType.ViewType.DateYearIndex)) {
						titleOpts = this.TypeLabelPrefixes.Where(x => x.KeyValue == PageViewType.ViewType.DateIndex).FirstOrDefault();
					}

					if (titleOpts != null) {
						if (!String.IsNullOrEmpty(titleOpts.FormatText)) {
							pvt.ExtraTitle = string.Format(titleOpts.FormatText, pvt.RawValue);
							_headingText = pvt.ExtraTitle;
						}
						if (!String.IsNullOrEmpty(titleOpts.LabelText)) {
							this.ThePage.PageHead = String.Format("{0} {1}", titleOpts.LabelText, _headingText);
							this.ThePage.TitleBar = this.ThePage.PageHead;
							_headingText = this.ThePage.PageHead;
						}
					}
				}
			}
		}
All Usage Examples Of Carrotware.CMS.Core.ContentPageHelper::GetBlogHeadingFromURL