install(); $this->registerTranslations(); $this->registerConfig(); $this->registerViews(); // register links in admin menu $menu = \Menu::instance('mainMenu'); $menu->dropdown(trans('staticpages::adminMenu.staticPages'), function ($submenu) { $submenu->route('staticpage.new', trans('staticpages::adminMenu.new')); $submenu->route('staticpage.overview', trans('staticpages::adminMenu.overview')); }, 15, ['icon' => 'fa fa-newspaper-o']); } /** * Register the service provider. * * @return void */ public function register() { // } /** * Method for installing module into database */ protected function install() { $handler = '\\Modules\\StaticPages\\Handlers\\StaticPage'; $installedModules = Modules::getWithTranslations(); if (!isset($installedModules[$handler])) { // insert module into database Module::create([ 'handler' => $handler, 'name' => 'staticpages::module.name', 'description' => 'staticpages::module.description' ]); } } /** * Register config. * * @return void */ protected function registerConfig() { $this->publishes([ __DIR__ . '/../Config/config.php' => config_path('staticpages.php'), ]); $this->mergeConfigFrom(__DIR__ . '/../Config/config.php', 'staticpages'); } /** * Register views. * * @return void */ public function registerViews() { $viewPath = base_path('resources/views/modules/staticpages'); $sourcePath = __DIR__ . '/../Resources/views'; $this->publishes([ $sourcePath => $viewPath ]); $this->loadViewsFrom(array_merge(array_map(function ($path) { return $path . '/modules/staticpages'; }, \Config::get('view.paths')), [$sourcePath]), 'staticpages'); } /** * Register translations. * * @return void */ public function registerTranslations() { $this->loadTranslationsFrom(__DIR__ . '/../Resources/lang', 'staticpages'); } }