Skip to content

Commit

Permalink
We only need nav:breadcrumbs, not structure:breadcrumbs
Browse files Browse the repository at this point in the history
  • Loading branch information
jasonvarga committed Mar 26, 2020
1 parent 309f736 commit 1c10ec1
Show file tree
Hide file tree
Showing 2 changed files with 38 additions and 36 deletions.
38 changes: 38 additions & 0 deletions src/Tags/Nav.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,48 @@

namespace Statamic\Tags;

use Statamic\Facades\Data;
use Statamic\Facades\URL;

class Nav extends Structure
{
public function index()
{
return $this->structure($this->get('handle', 'collection::pages'));
}

public function breadcrumbs()
{
$url = URL::getCurrent();
$segments = explode('/', $url);
$segments[0] = '/';

if (! $this->params->bool('include_home', true)) {
array_shift($segments);
}

$crumbs = collect($segments)->map(function () use (&$segments) {
$uri = URL::tidy(join('/', $segments));
array_pop($segments);
return $uri;
})->mapWithKeys(function ($uri) {
return [$uri => Data::findByUri($uri)];
})->filter();

if (! $this->params->bool('reverse', false)) {
$crumbs = $crumbs->reverse();
}

if ($this->params->bool('trim', true)) {
$this->content = trim($this->content);
}

$output = $this->parseLoop($crumbs->values()->toAugmentedArray());

if ($backspaces = $this->params->int('backspace', 0)) {
$output = substr($output, 0, -$backspaces);
}

return $output;
}
}
36 changes: 0 additions & 36 deletions src/Tags/Structure.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@

namespace Statamic\Tags;

use Statamic\Facades\Data;
use Statamic\Facades\URL;
use Statamic\Facades\Site;
use Statamic\Structures\TreeBuilder;
Expand Down Expand Up @@ -59,39 +58,4 @@ public function toArray($tree, $parent = null)
]);
})->filter()->values()->all();
}

public function breadcrumbs()
{
$url = URL::getCurrent();
$segments = explode('/', $url);
$segments[0] = '/';

if (! $this->params->bool('include_home', true)) {
array_shift($segments);
}

$crumbs = collect($segments)->map(function () use (&$segments) {
$uri = URL::tidy(join('/', $segments));
array_pop($segments);
return $uri;
})->mapWithKeys(function ($uri) {
return [$uri => Data::findByUri($uri)];
})->filter();

if (! $this->params->bool('reverse', false)) {
$crumbs = $crumbs->reverse();
}

if ($this->params->bool('trim', true)) {
$this->content = trim($this->content);
}

$output = $this->parseLoop($crumbs->values()->toAugmentedArray());

if ($backspaces = $this->params->int('backspace', 0)) {
$output = substr($output, 0, -$backspaces);
}

return $output;
}
}

0 comments on commit 1c10ec1

Please sign in to comment.