route('template.setHomepage', trans('template::admin/mainMenu.setHomepage'), [], 1, ['icon' => 'fa fa-fw fa-home']); } /** * Install module */ public static function install() { // register action log types $types = [ [ 'string_id' => 'pageRemovedFromHomepage', 'name' => 'template::admin/setHomepage.events.names.removedPage', 'value' => 'template::admin/setHomepage.events.descriptions.removedPage', ], [ 'string_id' => 'pageAddedIntoHomepage', 'name' => 'template::admin/setHomepage.events.names.addedPage', 'value' => 'template::admin/setHomepage.events.descriptions.addedPage', ], ]; foreach ($types as $type) { ActionLogType::create($type); } // try to create onepage menu widget $widgetName = OnePageMenu::getName(); $widgetDescription = OnePageMenu::getDescription(); CurrentTemplate::reset(); // create row in widget types WidgetType::create([ 'handler' => OnePageMenu::class, 'name' => $widgetName, 'module_id' => null, 'template_id' => CurrentTemplate::get()->id, 'description' => $widgetDescription ]); $area = WidgetArea::create(['name' => 'Top menu', 'code' => 'topMenu', 'deletable' => 0]); $widget = Widget::create([ 'widget_type_handler' => OnePageMenu::class, 'name' => 'Menu', 'settings' => '{"containerClass": null}', 'deletable' => 0 ]); // bind widget with widget area WidgetInWidgetArea::create(['widget_id' => $widget->id, 'widget_area_id' => $area->id, 'position' => 1]); } /** * Uninstall template * * @param Module $template */ public static function uninstall(Module $template) { // delete action log types ActionLogType::whereIn('string_id', ['pageRemovedFromHomepage', 'pageAddedIntoHomepage']) ->delete(); // delete settings with pages on homepage SettingsModel::where('key', self::HOMEPAGE_PAGES_SETTINGS_KEY) ->delete(); } }