src/EventListener/BreadcrumbListener.php line 20

Open in your IDE?
  1. <?php
  2. namespace App\EventListener;
  3. use App\Event\PageEvent;
  4. use App\Util\Breadcrumb;
  5. class BreadcrumbListener
  6. {
  7.     /**
  8.      * @var Breadcrumb
  9.      */
  10.     private $breadcrumb;
  11.     public function __construct(Breadcrumb $breadcrumb)
  12.     {
  13.         $this->breadcrumb $breadcrumb;
  14.     }
  15.     public function onBeforeRender(PageEvent $pageEvent)
  16.     {
  17.         $page $pageEvent->getPage();
  18.         if (false !== mb_strpos($page->getBody(), '{breadcrumbs}')) {
  19.             $breadcrumbs $this->breadcrumb->renderBreadcrumbsForPage($page$page->getBreadcrumbEntity());
  20.             $page->setBody(str_replace('{breadcrumbs}'$breadcrumbs$page->getBody()));
  21.         }
  22.     }
  23. }