【问题标题】:laravel-voyager custom views for rolelaravel-voyager 自定义角色视图
【发布时间】:2019-01-10 11:43:26
【问题描述】:
Laravel Version: 5.26.27
Voyager Version: 1.1.3
PHP Version: 7.2.1
Database Driver & Version: MySQL 5.6.38
Description:

我是 Voyager 的新手,但我已经设法创建表、填充它们并配置它们对 BREAD 的访问权限。

但我需要一个选项才能在帖子中看到自定义角色只能查看自己的帖子,我看到一个选项

@foreach($dataTypeContent->where('author_id','=', Auth::user()->id) as $data)

但是这段代码修改了所有视图,因为它在视图中。我需要一些更通用的模型

Voyager 可以做到这一点,还是需要自定义代码? 提前致谢!

【问题讨论】:

  • 你真的应该修复 But i need one option... 这很难理解的部分,但我明白你的要求。
  • 对不起,我只会说西班牙语,

标签: laravel voyager


【解决方案1】:

您的问题读起来有点令人困惑,但听起来您是在问是否可以覆盖 Voyager 视图或添加自定义视图,答案是可以。

他们在这里有一个视频:https://laravelvoyager.com/academy/views/

这里有书面文档:https://voyager.readme.io/docs/overriding-views

简而言之,创建一个目录resources/views/vendor/voyager/slug-name,其中slug-name 是您要覆盖的相应表视图的slug。将edit-add.blade.php 文件与browse.blade.php 文件一起放入该文件夹。我只需将 Voyagers 的默认视图逻辑复制到这些文件中,然后根据您的需要进行修改。

【讨论】:

  • 我尝试做的是:在帖子中管理员可以看到所有帖子,而作者或编辑只能看到他写的帖子。默认情况下,某些角色会添加或编辑所有可用的内容
  • @JorgeIraira 您希望浏览视图根据角色而改变?对吗?
  • @JorgeIraira 好吧,您将不得不更改 Voyager 的默认代码。为此,您必须按照我在回答中所说的去做。这将让您更改 Voyager 的默认设置。如何更改 Voyager 的默认设置取决于您。如果您愿意,我可以在我的回答中添加有关如何做到这一点的建议,但我需要查找 Voyager。好久没用 Voyager 了,需要看书。
  • @JorgeIraira 老实说,我认为您最好检查控制器上用户的角色,然后发送您希望具有该角色的用户看到的帖子数据。有意义吗?
  • 我制作了新的 bowser.blade.php 并制作了一个过滤器,如 Auth:User()->role_id == '1' if is admin 仅在视图中更改如果是管理员或其他用户,对于管理员 @foreach($dataTypeContent as $data) 和其他用户 @foreach($dataTypeContent->where('author_id','=', Auth::user()->id) as $data) 用于显示只有他自己发帖
猜你喜欢
  • 1970-01-01
  • 2019-01-08
  • 2014-04-11
  • 2020-11-23
  • 2019-10-17
  • 1970-01-01
  • 2018-07-22
  • 2021-01-18
  • 2015-01-09
相关资源
最近更新 更多