Parents and subpages

Contents

    The following snippets work in Bludit > v2.3

    Check if a page has children (subpages)

    <?php
        // The variable $page is an Page-Object
        if ($page->hasChildren()) {
            echo 'The page has children';
        } else {
            echo 'The page does not have children';
        }
    ?>

    List all children of a page

    <?php
        // The variable $page is an Page-Object
        $children = $page->children();
    
        // Each child is a Page-Object
        foreach ($children as $child) {
            echo $child->title();
        }
    ?>

    Check if a page is a child (has a parent)

    <?php
        // The variable $page is an Page-Object
        if ($page->isChild()) {
            echo 'The page is a child';
        } else {
            echo 'The page is not a child';
        }
    ?>

    Print the title of the parent page from the child

    If a page has a child, you can call the methods of the parent page with parentMethod().

    <?php
        // The variable $page is an Page-Object
        if ($page->isChild()) {
            echo 'Title of the parent page: ' . $page->parentMethod('title');
        } else {
            echo 'The page is not child';
        }
    ?>

    Print a Navigation Bar

    A parent page might or may not have children.

    <?php
        // Get the list of parent pages
        $parents = buildParentPages();
    
        foreach ($parents as $parent) {
            echo $parent->title();
    
            // Check if the page has children
            if ($parent->hasChildren()) {
                // Get the list of children
                $children = $parent->children();
    
                foreach ($children as $child) {
                    echo " > " . $child->title();
                }
            }
        }
    ?>