protected void Initialize() { bool enableCache = (CDHelper.Config.EnableCache == "true"); string result = ""; string curUrl = Context.Request.Path.Replace('/', '_'); result = ChannelHelper.GetChannelIDFromURL(); ColumnID = result; //初始化ArticleID result = ArticleHelper.GetArticleIDFromURL(); ArticleID = result; //初始化ColumnMode result = GetColumnMode(); ColumnMode = result; //初始化ThisChannel Channel ch = null; if (ColumnID != null && ColumnID != "") { ch = ChannelHelper.GetChannel(ColumnID, null); } else if (ColumnAlias != null) { ch = ChannelHelper.GetChannelByAlias(ColumnAlias); } else { ch = null; } ThisChannel = ch; //初始化TemplatePath result = TemplateHelper.GetThisPageTemplate(ColumnMode, ColumnID, SearchWord, SeSearchWord); if (result != null) { if (!result.StartsWith("/")) { TemplatePath = "/" + result; } else { TemplatePath = result; } } }
/// <summary> /// 添加记录过程 /// </summary> /// <param name="url">文章url</param> protected void AddClick(string url) { //从URL获取文章SN string ArticleID = ArticleHelper.GetArticleIDFromURL(url); //string ArticleID = ArticleHelper.GetArticleIDBySN(SN); if (!string.IsNullOrEmpty(ArticleID)) { //获取文章实体 Article article = ArticleHelper.GetArticle(ArticleID); if (article != null) { //保存日记录 ClickRecords cr = new ClickRecords(); cr.ObjectID = article.ID; cr.VisitDate = ClickRecordHelper.ConvertIntegerFromDate(DateTime.Now); cr.ObjectType = String.IsNullOrEmpty(article.ModelName)? "Article" :article.ModelName; ClickRecordHelper.SaveClickRecord(cr); //获取点击量报表 Dictionary <string, int> dictReports = ClickRecordHelper.GetObjectClickReport(cr.ObjectType, article.ID); //通过工厂获取具体的Helper IObjectClickHelper helper = ClickHelperFactory.Create(article.ModelName); helper.UpdateClicks(article.ModelName, article.ID, dictReports); } else { AdviceInfo advice = AdviceFactory.Create().GetAdvice(ArticleID); if (advice != null) { //保存日记录 ClickRecords cr = new ClickRecords(); cr.ObjectID = advice.ID; cr.VisitDate = ClickRecordHelper.ConvertIntegerFromDate(DateTime.Now); cr.ObjectType = "Advice"; ClickRecordHelper.SaveClickRecord(cr); //获取点击量报表 Dictionary <string, int> dictReports = ClickRecordHelper.GetObjectClickReport(cr.ObjectType, advice.ID); IObjectClickHelper helper = ClickHelperFactory.Create(cr.ObjectType); helper.UpdateClicks(cr.ObjectType, cr.ObjectID, dictReports); } } } }
protected override void Initialize() { columnID = ChannelHelper.GetChannelIDFromURL(); articleID = ArticleHelper.GetArticleIDFromURL(); AddClicks(articleID); //点击量统计 AddStatistic(articleID, columnID); //初始化TemplatePath string templatePath = IsHtmlTemplate? TemplateHelper.GetHtmlTemplateByHandlers("detail", columnID, null, null) :TemplateHelper.GetTemplateByHandlers("detail", columnID, null, null); TemplatePath = templatePath; if (!string.IsNullOrEmpty(templatePath)) { if (!templatePath.StartsWith("/")) { templatePath = "/" + templatePath; } if (File.Exists(Context.Server.MapPath(templatePath))) { Control ctl = CheckControlByBuilder(); this.Controls.Add(ctl); if (ctl != null) { if (this.Page.Header != null && this.Title != null) { this.Title = GetCurrentPageTitle(columnID, articleID); Article thisArticle = ArticleHelper.GetArticle(articleID); //meta标记 HtmlGenericControl KeywordsMeta = new HtmlGenericControl("meta"); KeywordsMeta.Attributes["name"] = "keywords"; KeywordsMeta.Attributes["content"] = (thisArticle != null && !String.IsNullOrEmpty(thisArticle.KeyWord) && thisArticle.KeyWord.Length > 0) ? thisArticle.KeyWord : CDHelper.Config.KeywordPageMeta; this.Header.Controls.Add(KeywordsMeta); HtmlGenericControl DescriptionMeta = new HtmlGenericControl("meta"); DescriptionMeta.Attributes["name"] = "description"; if (thisArticle != null && string.IsNullOrEmpty(thisArticle.DescriptionKey)) { thisArticle.DescriptionKey = thisArticle.Summary; } DescriptionMeta.Attributes["content"] = (thisArticle != null && !String.IsNullOrEmpty(thisArticle.DescriptionKey) && thisArticle.DescriptionKey.Length > 0) ? thisArticle.DescriptionKey : CDHelper.Config.DescriptionPageMeta; this.Header.Controls.Add(DescriptionMeta); //加载点击量统计js文件 AddJavascriptFile2Header("/Scripts/jQuery/jquery-1.4.2.js"); AddJavascriptFile2Header("/admin/ajax/ClickRecord.js"); } } } else { Server.Transfer(TemplateGuideUrl, true); } } else { Server.Transfer(TemplateGuideUrl, true); } }