// Skip redirection & navigation pages
if ($page instanceof PageItem) {
/** @var PageItem $template */
- $template = $page->getPage()->getUsedTemplate();
- if ($template instanceof Redirection || $template instanceof Navigation) {
- continue;
+ if (null !== $page->getPage()) {
+ $template = $page->getPage()->getUsedTemplate();
+ if ($template instanceof Redirection || $template instanceof Navigation) {
+ continue;
+ }
}
}
if ($child->isNavigable()) {
$parent = $menu->add($child->getTitle(), $child->getHref());
} else {
- $parent = $menu->raw('<span>'.$child->getTitle().'</span>');
+ $parent = $menu->raw('<span>' . $child->getTitle() . '</span>');
}
$this->makeMobileMenu($parent, $child, $depth - 1);
}
{
if ($this->getPage() instanceof CMSPage) {
$template = $this->getPage()->getUsedTemplate();
- $template->setMenuChildren($this);
+ if(null!==$template) {
+ $template->setMenuChildren($this);
+ }
}
}
public function isVirtual()
{
if (null === $this->_isVirtual) {
- if ($this->getPage() instanceof CMSPage) {
+ if ($this->getPage() instanceof CMSPage && null!==$this->getPage()->getUsedTemplate()) {
$this->_isVirtual = $this->getPage()->getUsedTemplate()->isVirtual();
} else {
$this->_isVirtual = false;