官术网_书友最值得收藏!

  • concrete5 Cookbook
  • David Strack
  • 206字
  • 2021-08-13 16:16:02

Getting the blocks from an area

concrete5 pages can have several different areas where blocks can be added. Developers can programmatically get an array of all of the block objects in an area. In this recipe, we will load a page and get a list of all of the blocks in its main content area.

Getting ready

We will be using /config/site_post.php to run some arbitrary code here. You can place this code wherever you find appropriate, though.

This example assumes the presence of a page with a path of /about, and with a content area called content. Make the necessary adjustments in the code as needed.

How to do it...

The steps for getting the blocks from an area are as follows:

  1. Open /config/site_post.php in your code editor.
  2. Load the page by its path:
    $page = Page::getByPath('/about');
  3. Get the array of blocks in the page's content area.
    $blocks = $page->getBlocks('content');
  4. Loop through the array, printing each block's handle.
    foreach ($blocks as $block) {
      echo $block->getBlockTypeHandle().'<br />';
    }
  5. Exit the process.
    exit;

How it works...

concrete5 will return an array of block objects for every block that is contained within a content area. Developers can then loop through this array to manipulate or read the block objects.

主站蜘蛛池模板: 伊通| 黄梅县| 阳山县| 济源市| 西藏| 辉县市| 浪卡子县| 梨树县| 平泉县| 泾川县| 习水县| 儋州市| 扬中市| 尚志市| 鹤庆县| 武穴市| 永定县| 湟源县| 金塔县| 余江县| 遵化市| 长垣县| 澜沧| 义马市| 合阳县| 微山县| 三原县| 唐海县| 灵寿县| 阳原县| 拉孜县| 峨山| 江华| 临西县| 峨山| 漾濞| 托克逊县| 庄河市| 漠河县| 彩票| 宜兰市|