Laravel Nova-将Nova指向资源页面的路径

时间:2018-11-16 11:36:03

标签: laravel laravel-nova

我需要将Nova路径指向资源。这样,当用户登录时,他将定向到该特定资源。

我已经在/config/nova.php中更新了此路径:

'path' => '/crm/resources/clients' 

现在登录后,我可以看到URL更新了。但是该页面仍然是Welcome Nova页面。

对此有任何想法吗?

2 个答案:

答案 0 :(得分:1)

您可以创建自定义AssetTool来挂接到Vue路由器。在我们的特定情况下,我们想重定向到我们的自定义工具,而不是资源或仪表板。创建工具会生成一个tool.js文件,您可以在其中链接到vue-router。


从仪表板重定向到命名路由

router.beforeEach((to, from, next) => {
   if (to.name == "dashboard.custom") {
      next({
          name: "reports" // Route added by our tool
      });
   } else {
      next();
   }
});

从仪表板重定向到资源索引

router.beforeEach((to, from, next) => {
   if (to.name == "dashboard.custom") {
      next({
          name: "index",
          params: {
            resourceName: 'model' // replace with resource name
          }
      });
   } else {
      next();
   }
});

注意resourceName是在索引路由中定义的动态段的名称。

Showing why resourceName is used as the property name in the code above

答案 1 :(得分:0)

path中的config/nova.php设置是可从其中访问Nova的URI路径。例如,如果您设置path' => '/crm,则客户端资源索引URL将是/crm/resources/clients,而不是/nova/resources/clients。它不控制登录重定向路径。

您可以在redirectPath()中编辑nova/src/Http/Controllers/LoginController.php函数。

public function redirectPath()
{
    return Nova::path() . '/resources/clients';
}

重要 :我不确定在nova文件夹下编辑文件是否是一个好习惯。将来在更新版本时,更改可能会被覆盖。所以请注意。