/** * Compose the view before rendering. * * @param View $view * @return View */ public function compose(View $view) { if (!$this->theme || !env('INSTALLED')) { $this->events->fire(new ViewComposed($view)); return $view; } $mobile = $this->mobiles->get($this->theme->getNamespace(), []); $overrides = $this->overrides->get($this->theme->getNamespace(), []); if ($this->mobile && ($path = array_get($mobile, $view->getName(), null))) { $view->setPath($path); } elseif ($path = array_get($overrides, $view->getName(), null)) { $view->setPath($path); } if ($this->module) { $mobile = $this->mobiles->get($this->module->getNamespace(), []); $overrides = $this->overrides->get($this->module->getNamespace(), []); if ($this->mobile && ($path = array_get($mobile, $view->getName(), null))) { $view->setPath($path); } elseif ($path = array_get($overrides, $view->getName(), null)) { $view->setPath($path); } } if ($overload = $this->getOverloadPath($view)) { $view->setPath($overload); } $this->events->fire(new ViewComposed($view)); return $view; }