Sha256: 1b253e563b74272acd42c39d5b287ca49662a903859dc4896cd693f5e1558be6

Contents?: true

Size: 1.27 KB

Versions: 13

Compression:

Stored size: 1.27 KB

Contents

<?php
namespace Grav\Plugin;

use Grav\Common\Grav;

class Breadcrumbs
{

    /**
     * @var array
     */
    protected $breadcrumbs;
    protected $config;

    /**
     * @param $config
     */
    public function __construct($config)
    {
        $this->config = $config;
    }

    /**
     * Get all items in breadcrumbs.
     *
     * @return array
     */
    public function get()
    {
        if (!$this->breadcrumbs) {
            $this->build();
        }
        return $this->breadcrumbs;
    }

    /**
     * Build breadcrumbs.
     *
     * @internal
     */
    protected function build()
    {
        $hierarchy = array();
        $grav = Grav::instance();
        $current = $grav['page'];

        while ($current && !$current->root()) {
            $hierarchy[$current->url()] = $current;
            $current = $current->parent();
        }

        // Page cannot be routed.
        if (!$current) {
            $this->breadcrumbs = array();
            return;
        }

        if ($this->config['include_home']) {
            $home = $grav['pages']->dispatch('/');
            if ($home && !array_key_exists($home->url(), $hierarchy)) {
                $hierarchy[] = $home;
            }
        }


        $this->breadcrumbs = array_reverse($hierarchy);
    }
}

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
card-mod-bootstrap-0.18.1 vendor/select2/docs/plugins/breadcrumbs/classes/breadcrumbs.php
card-mod-bootstrap-0.18.0 vendor/select2/docs/plugins/breadcrumbs/classes/breadcrumbs.php
card-mod-bootstrap-0.17.0 vendor/select2/docs/plugins/breadcrumbs/classes/breadcrumbs.php
card-mod-bootstrap-0.16.0 vendor/select2/docs/plugins/breadcrumbs/classes/breadcrumbs.php
card-mod-bootstrap-0.15.6 vendor/select2/docs/plugins/breadcrumbs/classes/breadcrumbs.php
card-mod-bootstrap-0.15.5 vendor/select2/docs/plugins/breadcrumbs/classes/breadcrumbs.php
card-mod-bootstrap-0.15.4 vendor/select2/docs/plugins/breadcrumbs/classes/breadcrumbs.php
card-mod-bootstrap-0.15.3 vendor/select2/docs/plugins/breadcrumbs/classes/breadcrumbs.php
card-mod-bootstrap-0.15.1.2 vendor/select2/docs/plugins/breadcrumbs/classes/breadcrumbs.php
card-mod-bootstrap-0.15.2.pre1 vendor/select2/docs/plugins/breadcrumbs/classes/breadcrumbs.php
card-mod-bootstrap-0.15.1.1 vendor/select2/docs/plugins/breadcrumbs/classes/breadcrumbs.php
card-mod-bootstrap-0.15.1 vendor/select2/docs/plugins/breadcrumbs/classes/breadcrumbs.php
card-mod-bootstrap-0.15.0 vendor/select2/docs/plugins/breadcrumbs/classes/breadcrumbs.php