K Khan
Apr 11, 2013
  4459
(0 votes)

Get the PageData of some Catalog Node

Below function can help you to retrieve PageData object of some CatalogNode without effecting performance.


        private PageData FindPageByCatalogNode(CatalogNode catalogNode)
        {
            string text = (catalogNode.ParentNode != null) ? catalogNode.ParentNode.ID :
            CatalogContext.Current.GetCatalogNode(catalogNode.ParentNodeId).ID;
            if (text == null)
            {
                CatalogDto catalogDto = CatalogContext.Current.GetCatalogDto(catalogNode.CatalogId);
                text = ((catalogDto == null || catalogDto.Catalog == null || catalogDto.Catalog.Count == 0)
                ? string.Empty : catalogDto.Catalog[0].Name);
            }
            string key = MappedPPDB.BuildKey(new object[]
            {
                catalogNode.CatalogNodeId,
                string.Empty,
                catalogNode.ParentNodeId,
                catalogNode.CatalogId,
                NodeType.CatalogNode,
                catalogNode.ID,
                text
            });
            int id = MappedPPDB.Instance.LoadMapping("CatalogPageProvider", key).Id;
            return DataFactory.Instance.GetPage(new PageReference(id, "CatalogPageProvider"));
        }

Apr 11, 2013

Comments

Please login to comment.
Latest blogs
Missing Properties tool for Optimizely CMS

If you have been working with Optimizely CMS for a while you have probably accumulated some technical debt in your property definitions. When you...

Per Nergård (MVP) | Mar 10, 2026

AI Generated Optimizely Developer Newsletter

Updates in the Optimizely ecosystem are everywhere: blog posts, forums, release notes, NuGet packages, and documentation changes. This newsletter...

Allan Thraen | Mar 10, 2026 |

Lessons from Building Production-Ready Opal Tools

AI tools are becoming a normal part of modern digital platforms. With  Optimizely Opal , teams can build tools that automate real tasks across the...

Praful Jangid | Mar 7, 2026

My Takeaway from Optimizely Opal Agents in Action 2026 - What Agentic AI Means for the Future of Digital Marketing

I would like to share with you what stayed in my head after this amazing virtual event organized by Optimizely. Agents in Action 2026 , a live...

Augusto Davalos | Mar 6, 2026