use Lavary\Menu\Menu as BaseMenu;
use Illuminate\Support\Facades\Cache;
-class Menu extends BaseMenu
-{
+class Menu extends BaseMenu {
/**
* @var Item[}
*/
protected $_currentPage;
- public function registerMenuMaker($name, $callback)
- {
+ public function registerMenuMaker($name, $callback) {
$this->_registeredMenuMakers[$name] = $callback;
}
- public function get($key, $name = self::_STANDARD_PREFIX, $locale = null)
- {
+ public function get($key, $name = self::_STANDARD_PREFIX, $locale = null) {
if (null === $locale) {
$locale = App::getLocale();
}
/**
* @return Item
*/
- public static function getNavigation($locale = null, $variant = null)
- {
+ public static function getNavigation($locale = null, $variant = null) {
if (null === $locale) {
$locale = App::getLocale();
}
}
if (!isset(self::$_nav[$variant][$locale])) {
- \Barryvdh\Debugbar\Facade::startMeasure('nav', 'Init Navigation object');
+ \Barryvdh\Debugbar\Facade::startMeasure('nav', 'Init Navigation object ' . $variant . ', ' . $locale);
self::$_nav[$variant][$locale] = Cache::tags(self::CACHE_TAG)->remember('navigation_' . $variant . '_' . $locale, 43200, function () use ($locale, $variant) {
+ \Barryvdh\Debugbar\Facade::startMeasure('donav', 'Do Navigation object ' . $variant . ', ' . $locale);
$nav = new Item();
$nav->setLocale($locale);
$nav->setVariant($variant);
$nav->initFromDatabase();
+ \Barryvdh\Debugbar\Facade::stopMeasure('donav');
return $nav;
});
\Barryvdh\Debugbar\Facade::stopMeasure('nav');
/**
* @return Cubist\Backpack\app\Magic\Menu\Item[]
*/
- public static function getAllNavigablePages($locale = null, $variant = null)
- {
+ public static function getAllNavigablePages($locale = null, $variant = null) {
$pages = self::getNavigation($locale, $variant)->findAll();
$res = [];
return $res;
}
- public static function internalToHref($url)
- {
+ public static function internalToHref($url) {
if (stripos($url, 'internal:') !== false) {
$e = explode(':', $url, 2);
$url = $e[1];
return '#internalnotfound';
}
- public function makeAllMenus($locale)
- {
+ public function makeAllMenus($locale) {
$nav = self::getNavigation($locale);
foreach ($nav->getChildren() as $main) {
$this->makeStandardMenus($main, $locale);
});
}
- public function makeStandardMenus($item, $locale)
- {
+ public function makeStandardMenus($item, $locale) {
$this->make($locale . '_' . self::_STANDARD_PREFIX . '_' . $item->getName(), function ($menu) use ($item) {
$this->makeStandardMenu($menu, $item);
});
}
}
- public function makeStandardMenu($menu, $item)
- {
+ public function makeStandardMenu($menu, $item) {
foreach ($item->getChildren() as $child) {
$this->_addItem($menu, $child, 'isMenuDesktop');
}
}
- protected function _addItem($menu, $item, $checkFunction)
- {
+ protected function _addItem($menu, $item, $checkFunction) {
$checkFunctionChildren = $checkFunction . 'Children';
if (!$item->$checkFunction()) {
return;
* @param $menu Menu
* @param $item Item
*/
- public function makeMobileMenu($menu, $item)
- {
+ public function makeMobileMenu($menu, $item) {
foreach ($item->getChildren() as $child) {
if (!$child->isMenuMobile()) {
continue;
* @param $nav Item
* @param $menu \Lavary\Menu\Item
*/
- protected function _addToBreadcrumbs($nav, $menu)
- {
+ protected function _addToBreadcrumbs($nav, $menu) {
if ($nav->getTitle() && $nav->isBreadcrumbs()) {
if (strpos($nav->getBreadcrumbHref(), '#') === 0) {
$parent = $menu->raw($nav->getTitle());
}
}
- public function getSearchBreadcrumbs()
- {
+ public function getSearchBreadcrumbs() {
$all = $this->get('breadcrumbs')->crumbMenu()->all();
$lastIndex = count($all) - 1;
$search_breadcrumbs = [];
return $search_breadcrumbs;
}
- public function breadcrumbs()
- {
+ public function breadcrumbs() {
$res = '<div class="breadcrumbs" itemscope itemtype="http://schema.org/BreadcrumbList">';
/** @var \Lavary\Menu\Item $item */
$position = 0;
/**
* @param Item $currentPage
*/
- public function setCurrentPage(Item $currentPage): void
- {
+ public function setCurrentPage(Item $currentPage): void {
$this->_currentPage = $currentPage;
}
/**
* @return Item
*/
- public function getCurrentPage(): Item
- {
+ public function getCurrentPage(): Item {
return $this->_currentPage;
}
}