Ejemplo n.º 1
0
        /// <summary>
        /// Effectue l'affichage du controle
        /// </summary>
        /// <param name="writer"></param>
        protected override void Render(System.Web.UI.HtmlTextWriter writer)
        {
            if (_article == null)
            {
                return;
            }

            writer.Write("<script type='application/ld+json'>{ \"@context\": \"http://schema.org\", \"@type\": \"BreadcrumbList\",");
            writer.Write("\"itemListElement\": ");

            ECommercePage pg = Page as ECommercePage;
            List <ContexteBreadCrumbItem> cur   = ProductFilArianeCategories.GetContenuBreadCrumb(pg, _article);
            List <BreadCrumbItemJson>     items = new List <BreadCrumbItemJson>();

            var it = new BreadCrumbItemJson()
            {
                type     = "ListItem",
                position = items.Count + 1,
                item     = new Item()
                {
                    id   = ECommerceServer.CurrentSite.UrlPrincipale,
                    name = "Accueil"
                }
            };

            items.Add(it);

            foreach (var c in cur)
            {
                it = new BreadCrumbItemJson()
                {
                    type     = "ListItem",
                    position = items.Count + 1,
                    item     = new Item()
                    {
                        id   = ResolveUrl(c.Url),
                        name = c.Label
                    }
                };

                if (it.item.id.StartsWith("/"))
                {
                    it.item.id = ECommerceServer.CurrentSite.UrlPrincipale + it.item.id.Substring(1);
                }

                items.Add(it);
            }

            string s = CPointSoftware.Equihira.Business.Common.JsonHelper.Serialize(items);

            writer.Write(s);
            writer.Write("}</script>");
        }
        /// <summary>
        /// Effectue le rendu du controle
        /// </summary>
        /// <param name="writer"></param>
        protected override void Render(System.Web.UI.HtmlTextWriter writer)
        {
            ECommercePage    pg  = Page as ECommercePage;
            ContexteProvider prv = ECommerceServer.Contexte;

            writer.Write("<script type='application/ld+json'>{ \"@context\": \"http://schema.org\", \"@type\": \"BreadcrumbList\",");
            writer.Write("\"itemListElement\": ");

            List <ContexteBreadCrumbItem> cur   = new List <ContexteBreadCrumbItem>(pg.GetBreadCrumb());
            List <BreadCrumbItemJson>     items = new List <BreadCrumbItemJson>();

            if (cur.Count == 1 && string.IsNullOrEmpty(cur[0].Label))
            {
                if (!string.IsNullOrEmpty(pg.PageName))
                {
                    var j = cur[0];
                    j.Url   = Page.Request.RawUrl;
                    j.Label = pg.PageName;
                }
            }
            else if (cur.Count == 0)
            {
                if (!string.IsNullOrEmpty(pg.PageName))
                {
                    var j = new ContexteBreadCrumbItem()
                    {
                        Url   = Page.Request.RawUrl,
                        Label = pg.PageName
                    };
                    cur.Add(j);
                }
            }
            var it = new BreadCrumbItemJson()
            {
                type     = "ListItem",
                position = items.Count + 1,
                item     = new Item()
                {
                    id   = ECommerceServer.CurrentSite.UrlPrincipale,
                    name = "Accueil",
                }
            };

            items.Add(it);

            foreach (var c in cur)
            {
                it = new BreadCrumbItemJson()
                {
                    type     = "ListItem",
                    position = items.Count + 1,
                    item     = new Item()
                    {
                        id   = ResolveUrl(c.Url),
                        name = c.Label
                    }
                };

                if (it.item.id.StartsWith("/"))
                {
                    it.item.id = ECommerceServer.CurrentSite.UrlPrincipale + it.item.id.Substring(1);
                }

                items.Add(it);
            }

            string s = CPointSoftware.Equihira.Business.Common.JsonHelper.Serialize(items);

            writer.Write(s);
            writer.Write("}</script>");
        }