【问题标题】:Laravel Nova - Modify/Remove Actions Log UI SectionLaravel Nova - 修改/删除操作日志 UI 部分
【发布时间】:2022-01-02 22:11:05
【问题描述】:

我想删除模型详细信息下方的默认操作日志 UI 部分。

如果我删除“Actionable”特征,那么操作日志将完全不可用,包括选项卡式窗格。

所以,我尝试创建一个扩展 ActionResource 类的新类来处理 UI,但我找不到控制 UI 部分的接口。哪些类/特征/接口控制操作日志,如何将其隐藏?

<?php

namespace App\Nova;

use Illuminate\Http\Request;
use Laravel\Nova\Actions\ActionResource;


class BetterActionResource extends ActionResource
{
    public static $polling = false;

    public static $showPollingToggle = true;

    /**
     * Get the displayable label of the resource.
     *
     * @return string
     */
    public static function label()
    {
        return __('History');
    }

    /**
     * Get the displayable singular label of the resource.
     *
     * @return string
     */
    public static function singularLabel()
    {
        return __('Event');
    }
}

如何在使用 Actionable 模型时隐藏操作日志?

这是一个屏幕截图,可以更好地描述我想要的结果。

【问题讨论】:

  • 你能分享你正在使用的包吗?它应该已经有事情要做了……
  • @matiaslauriti github.com/eminiarts/nova-tabs 但这并不是一个特定于包的问题。我只是提到它来提供有关我为什么要删除操作日志但保留 Actionable 特征的上下文。
  • 我知道这不是包的问题,​​我知道包添加了历史记录,但是您是手动添加的,对吧?
  • 是的,这个包是对 Laravel Nova 的补充,提供了“历史”标签。我想知道如何使用 Nova 来隐藏我添加的图片中红色“x”所覆盖的部分。

标签: laravel laravel-nova


【解决方案1】:

是的,你可以。

将此添加到您的资源类中:

class User extends Resource
{

    /**
     * Determine if the resource should have an Action field.
     *
     * @param \Laravel\Nova\Http\Requests\NovaRequest $request
     * @return bool
     */
    protected function shouldAddActionsField($request)
    {
        return false;
    }
}

它从通过父模型 (Laravel\Nova\Resource) 添加的 Laravel\Nova\ResolvesFields 覆盖 shouldAddActionsField 方法。该方法通过返回bool来判断action字段是否显示。

在后台,actions_events 仍将存储在数据库中,您应该能够访问它们。我不确定你是如何访问它们的,但我认为这不应该干扰。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-20
    • 1970-01-01
    • 2014-12-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多