Five New Optimizely Certifications are Here! Validate your expertise and advance your career with our latest certification exams. Click here to find out more
Five New Optimizely Certifications are Here! Validate your expertise and advance your career with our latest certification exams. Click here to find out more
Get a reference to each instance the block using the content repository (your code only gets the block defintion, not instances of the block) then use something like this:
ContentRepository.GetReferencesToContent(block.ContentLink, false)
Do what David wrote, but remember that you will not only get pages, but also other blocks, so you need to traverse until you find a page if that's what you want. If you use the function on a page you will get the places that have links to the page. Since you will get blocks in blocks you might end up with duplicates, so it's a good idea to also do a distinct on the list you get.
Hi MTM , you can use the content search capabilities provided by the CMS. Here's an example :
using EPiServer.Find;
using EPiServer.Find.Cms;
// Specify the block type you want to search for
var blockTypeName = "Your.Block.Namespace.YourBlockType";
// Perform a content search to find pages that reference the block type
var searchClient = SearchClient.Instance;
var searchResults = searchClient.Search<PageData>()
.Filter(x => x.BlockElements().MatchType(blockTypeName))
.GetContentResult();
// Iterate over the search results to access the pages
foreach (var hit in searchResults)
{
var page = hit.Document;
// Process the page as needed
// For example, you can access properties like page.Name, page.PageLink, etc.
}
in loop you can put the page in in list.
Hi
Using this code I can get all blocks available.
IEnumerable<ContentType> allBlockTypes = contentTypeRepo.List().Where(x => typeof(BlockData).IsAssignableFrom(x.ModelType));
If I iterate this list, how do I get all pages that each block is used on?