public string RenderFlatTaxaAsLink(BlogPost post, string taxonomyFieldName)
        {
            var baseUrl = string.Empty;
              var currentProvider = SiteMapBase.GetCurrentProvider();

              if (currentProvider == null || currentProvider != null && currentProvider.CurrentNode == null) { return string.Empty; } else {
            var currentNode = currentProvider.CurrentNode as PageSiteNode;
            if (currentNode == null) { baseUrl = currentProvider.CurrentNode.Url; } else {
              var firstPageDataNode = RouteHelper.GetFirstPageDataNode(currentNode, true);
              if (!currentNode.IsGroupPage || !(firstPageDataNode.Url != currentProvider.CurrentNode.Url)) { baseUrl = currentProvider.CurrentNode.Url; } else {
            baseUrl = firstPageDataNode.Url;
              }
            }
              }

              var tagList = "";
              var tags = post.GetValue<TrackedList<Guid>>(taxonomyFieldName);

              if (tags != null && tags.Count() > 0) {
            tagList = " | ";
            var taxManager = TaxonomyManager.GetManager();
            foreach (var tag in tags) {
              var t = taxManager.GetTaxon<FlatTaxon>(tag);
              var url = string.Format("{0}/-in-{1}/{2}/{3}", VirtualPathUtility.ToAbsolute(baseUrl), t.Taxonomy.Name, t.Taxonomy.Name, t.UrlName);
              var link = string.Format("<a class='tag' href='{0}'><span>{1}</span></a>", url, t.Title).ToString();
              tagList += link;
            }
              }

              return tagList;
        }
        public string RenderFlatTaxaAsLink(BlogPost post, string taxonomyFieldName)
        {
            var baseUrl         = string.Empty;
            var currentProvider = SiteMapBase.GetCurrentProvider();

            if (currentProvider == null || currentProvider != null && currentProvider.CurrentNode == null)
            {
                return(string.Empty);
            }
            else
            {
                var currentNode = currentProvider.CurrentNode as PageSiteNode;
                if (currentNode == null)
                {
                    baseUrl = currentProvider.CurrentNode.Url;
                }
                else
                {
                    var firstPageDataNode = RouteHelper.GetFirstPageDataNode(currentNode, true);
                    if (!currentNode.IsGroupPage || !(firstPageDataNode.Url != currentProvider.CurrentNode.Url))
                    {
                        baseUrl = currentProvider.CurrentNode.Url;
                    }
                    else
                    {
                        baseUrl = firstPageDataNode.Url;
                    }
                }
            }

            var tagList = "";
            var tags    = post.GetValue <TrackedList <Guid> >(taxonomyFieldName);

            if (tags != null && tags.Count() > 0)
            {
                tagList = " | ";
                var taxManager = TaxonomyManager.GetManager();
                foreach (var tag in tags)
                {
                    var t    = taxManager.GetTaxon <FlatTaxon>(tag);
                    var url  = string.Format("{0}/-in-{1}/{2}/{3}", VirtualPathUtility.ToAbsolute(baseUrl), t.Taxonomy.Name, t.Taxonomy.Name, t.UrlName);
                    var link = string.Format("<a class='tag' href='{0}'><span>{1}</span></a>", url, t.Title).ToString();
                    tagList += link;
                }
            }

            return(tagList);
        }
Beispiel #3
0
        /// <summary>
        /// Constructor.
        /// </summary>
        /// <param name="sfContent">The sf content.</param>
        public BlogPostModel(BlogPost sfContent)
            : base(sfContent)
        {
            if (sfContent != null)
            {
                Content = sfContent.Content;
                Summary = sfContent.Summary;
                Status  = sfContent.Status;
                Slug    = sfContent.UrlName;
                Active  = sfContent.Status == ContentLifecycleStatus.Live &&
                          sfContent.Visible;

                //GET PARENT BLOG
                Parent = new BlogModel(sfContent.Parent);

                //CONSTRUCT URL BASED ON PARENT BLOG
                Url = sfContent.GetFullUrl(sfContent.DefaultPageId);
                if (sfContent.Parent.DefaultPageId.HasValue)
                {
                    Url = Parent.Url + Url;
                }

                //POPULATE TAXONOMIES TO LIST
                Categories = sfContent.GetTaxa("Category");
                Tags       = sfContent.GetTaxa("Tags");

                //CALCULATE COMMENTS
                CommentsCount = BlogsManager.GetManager().GetComments()
                                .Count(c => c.CommentedItemID == sfContent.Id &&
                                       c.Status == ContentLifecycleStatus.Master);

                //CUSTOM PROPERTIES
                if (sfContent.DoesFieldExist("Image"))
                {
                    Image = sfContent.GetValue <string>("Image");
                }

                // Store original content
                OriginalContent = sfContent;
            }
        }