Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
Navigation.php
Go to the documentation of this file.
1 <?php
7 
8 use Magento\Setup\Model\Navigation as NavModel;
9 use Zend\Mvc\Controller\AbstractActionController;
10 use Zend\View\Model\JsonModel;
11 use Zend\View\Model\ViewModel;
13 
18 class Navigation extends AbstractActionController
19 {
23  protected $navigation;
24 
28  protected $status;
29 
33  protected $view;
34 
39  public function __construct(NavModel $navigation, Status $status)
40  {
41  $this->navigation = $navigation;
42  $this->status = $status;
43  $this->view = new ViewModel;
44  $this->view->setVariable('menu', $this->navigation->getMenuItems());
45  $this->view->setVariable('main', $this->navigation->getMainItems());
46  }
47 
51  public function indexAction()
52  {
53  $json = new JsonModel;
54  $json->setVariable('nav', $this->navigation->getData());
55  $json->setVariable('menu', $this->navigation->getMenuItems());
56  $json->setVariable('main', $this->navigation->getMainItems());
57  $json->setVariable('titles', $this->navigation->getTitles());
58  return $json;
59  }
60 
64  public function menuAction()
65  {
66  $this->view->setVariable('menu', $this->navigation->getMenuItems());
67  $this->view->setVariable('main', $this->navigation->getMainItems());
68  $this->view->setTemplate('/magento/setup/navigation/menu.phtml');
69  $this->view->setTerminal(true);
70  return $this->view;
71  }
72 
76  public function sideMenuAction()
77  {
78  $this->view->setTemplate('/magento/setup/navigation/side-menu.phtml');
79  $this->view->setVariable('isInstaller', $this->navigation->getType() == NavModel::NAV_INSTALLER);
80  $this->view->setTerminal(true);
81  return $this->view;
82  }
83 
87  public function headerBarAction()
88  {
89  if ($this->navigation->getType() === NavModel::NAV_UPDATER) {
90  if ($this->status->isUpdateError() || $this->status->isUpdateInProgress()) {
91  $this->view->setVariable('redirect', '../' . Environment::UPDATER_DIR . '/index.php');
92  }
93  }
94  $this->view->setTemplate('/magento/setup/navigation/header-bar.phtml');
95  $this->view->setTerminal(true);
96  return $this->view;
97  }
98 }
__construct(NavModel $navigation, Status $status)
Definition: Navigation.php:39