{"id":11899,"date":"2020-12-29T15:09:29","date_gmt":"2020-12-29T09:39:29","guid":{"rendered":"https:\/\/www.hiddentechies.com\/blog\/?p=11899"},"modified":"2021-01-15T16:26:44","modified_gmt":"2021-01-15T10:56:44","slug":"cms-page-collection-magento-2","status":"publish","type":"post","link":"https:\/\/www.hiddentechies.com\/blog\/magento\/cms-page-collection-magento-2\/","title":{"rendered":"How to get CMS Page Collection in Magento 2"},"content":{"rendered":"<p>In this post I am going to explain how to get cms page collection in Magento 2.<\/p>\n<p><strong>1. Using Dependency Injection<\/strong><\/p>\n<p>Add below code snippet in Block class.<\/p>\n<pre class=\"lang:default decode:true \">protected $_pageRepository;\r\nprotected $_searchCriteriaBuilder;\r\n\r\npublic function __construct(\r\n    \\Magento\\Framework\\View\\Element\\Template\\Context $context,\r\n    \\Magento\\Cms\\Api\\PageRepositoryInterface $pageRepository,\r\n    \\Magento\\Framework\\Api\\SearchCriteriaBuilder $searchCriteriaBuilder,\r\n    array $data = []\r\n) {\r\n    $this-&gt;_pageRepository = $pageRepository;\r\n    $this-&gt;_searchCriteriaBuilder = $searchCriteriaBuilder;\r\n    parent::__construct($context, $data);\r\n}\r\n\r\n\/\/ Get CMS Page Collection\r\npublic function getCmsPageCollection() \r\n{\r\n    $searchCriteria = $this-&gt;_searchCriteriaBuilder-&gt;create();\r\n    $cmsPages = $this-&gt;_pageRepository-&gt;getList($searchCriteria)-&gt;getItems();\r\n    return $cmsPages;\r\n}<\/pre>\n<p>&nbsp;<\/p>\n<p>Add below code snippet in template file.<\/p>\n<pre class=\"lang:default decode:true \">\/\/ Get CMS Page Collection\r\n$cmsPages = $block-&gt;getCmsPageCollection();\r\n\r\nif ($cmsPages &amp;&amp; count($cmsPages) &gt; 0) {\r\n    foreach ($cmsPages as $cmsPage) {\r\n        echo $cmsPage-&gt;getId() . '&lt;br\/&gt;';\r\n        echo $cmsPage-&gt;getTitle() . '&lt;br\/&gt;';\r\n    }\r\n}<\/pre>\n<p>&nbsp;<\/p>\n<p><strong>2. Using Object Manager<\/strong><\/p>\n<pre class=\"lang:default decode:true \">$objectManager = \\Magento\\Framework\\App\\ObjectManager::getInstance();\r\n\r\n$pageRepository = $objectManager-&gt;get('Magento\\Cms\\Api\\PageRepositoryInterface');\r\n$searchCriteriaBuilder = $objectManager-&gt;get('Magento\\Framework\\Api\\SearchCriteriaBuilder');\r\n\r\n$searchCriteria = $searchCriteriaBuilder-&gt;create();\r\n$cmsPages = $pageRepository-&gt;getList($searchCriteria)-&gt;getItems();\r\n\r\nif ($cmsPages &amp;&amp; count($cmsPages) &gt; 0) {\r\n    foreach ($cmsPages as $cmsPage) {\r\n        echo $cmsPage-&gt;getId() . '&lt;br\/&gt;';\r\n        echo $cmsPage-&gt;getTitle() . '&lt;br\/&gt;';\r\n    }\r\n}<\/pre>\n<p>Thats it. Enjoy Magento 2!!<\/p>\n<div class=\"angwp_12010 _ning_cont _ning_hidden _ning_outer _align_center responsive\" data-size=\"custom\" data-bid=\"12010\" data-aid=\"0\" style=\"max-width:800px; width:100%;height:inherit;\"><div class=\"_ning_label _left\" style=\"\"><\/div><div class=\"_ning_inner\" style=\"\"><a href=\"https:\/\/www.hiddentechies.com\/blog?_dnlink=12010&t=1775814042\" class=\"strack_cli _ning_link\" target=\"_blank\">&nbsp;<\/a><div class=\"_ning_elmt\"><img decoding=\"async\" src=\"https:\/\/www.hiddentechies.com\/blog\/wp-content\/uploads\/angwp\/items\/12010\/Banner-2.png\" \/><\/div><\/div><\/div><div class=\"clear\"><\/div>","protected":false},"excerpt":{"rendered":"<p>In this post I am going to explain how to get cms page collection in Magento 2. 1. Using Dependency Injection Add below code snippet in Block class. protected $_pageRepository; protected $_searchCriteriaBuilder; public function __construct( \\Magento\\Framework\\View\\Element\\Template\\Context $context, \\Magento\\Cms\\Api\\PageRepositoryInterface $pageRepository, \\Magento\\Framework\\Api\\SearchCriteriaBuilder $searchCriteriaBuilder, array $data = [] ) { $this-&gt;_pageRepository = $pageRepository; $this-&gt;_searchCriteriaBuilder = $searchCriteriaBuilder; parent::__construct($context, $data);&#8230; <\/p>\n<div class=\"actions\"><a href=\"https:\/\/www.hiddentechies.com\/blog\/magento\/cms-page-collection-magento-2\/\">Continue Reading<\/a><\/div>\n","protected":false},"author":1,"featured_media":12261,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[181,59,2138],"tags":[],"_links":{"self":[{"href":"https:\/\/www.hiddentechies.com\/blog\/wp-json\/wp\/v2\/posts\/11899"}],"collection":[{"href":"https:\/\/www.hiddentechies.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.hiddentechies.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.hiddentechies.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hiddentechies.com\/blog\/wp-json\/wp\/v2\/comments?post=11899"}],"version-history":[{"count":3,"href":"https:\/\/www.hiddentechies.com\/blog\/wp-json\/wp\/v2\/posts\/11899\/revisions"}],"predecessor-version":[{"id":12244,"href":"https:\/\/www.hiddentechies.com\/blog\/wp-json\/wp\/v2\/posts\/11899\/revisions\/12244"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.hiddentechies.com\/blog\/wp-json\/wp\/v2\/media\/12261"}],"wp:attachment":[{"href":"https:\/\/www.hiddentechies.com\/blog\/wp-json\/wp\/v2\/media?parent=11899"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hiddentechies.com\/blog\/wp-json\/wp\/v2\/categories?post=11899"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hiddentechies.com\/blog\/wp-json\/wp\/v2\/tags?post=11899"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}