vendor/kunstmaan/sitemap-bundle/Twig/SitemapTwigExtension.php line 27

Open in your IDE?
  1. <?php
  2. namespace Kunstmaan\SitemapBundle\Twig;
  3. use Kunstmaan\NodeBundle\Helper\NodeMenuItem;
  4. use Twig\Extension\AbstractExtension;
  5. use Twig\TwigFunction;
  6. final class SitemapTwigExtension extends AbstractExtension
  7. {
  8.     /**
  9.      * Returns a list of functions to add to the existing list.
  10.      *
  11.      * @return array An array of functions
  12.      */
  13.     public function getFunctions(): array
  14.     {
  15.         return [
  16.             new TwigFunction('hide_from_sitemap', [$this'isHiddenFromSitemap']),
  17.             new TwigFunction('hide_children_from_sitemap', [$this'isHiddenChildrenFromSitemap']),
  18.         ];
  19.     }
  20.     /**
  21.      * Returns true when the item should be hidden from the sitemap
  22.      */
  23.     public function isHiddenFromSitemap(NodeMenuItem $item): bool
  24.     {
  25.         if (is_subclass_of($item->getNode()->getRefEntityName(), 'Kunstmaan\\SitemapBundle\\Helper\\HiddenFromSitemapInterface')) {
  26.             $page $item->getPage();
  27.             return $page->isHiddenFromSitemap();
  28.         }
  29.         return false;
  30.     }
  31.     /**
  32.      * Returns true when the children of the item should be hidden from the sitemap
  33.      */
  34.     public function isHiddenChildrenFromSitemap(NodeMenuItem $item): bool
  35.     {
  36.         if (is_subclass_of($item->getNode()->getRefEntityName(), 'Kunstmaan\\SitemapBundle\\Helper\\HiddenFromSitemapInterface')) {
  37.             $page $item->getPage();
  38.             return $page->isChildrenHiddenFromSitemap();
  39.         }
  40.         return false;
  41.     }
  42. }