Laravel Nova - Modify/Remove 操作日志 UI 部分

Laravel Nova - Modify/Remove Actions Log UI Section

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

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

因此,我尝试制作一个新的 class 扩展 ActionResource class 来处理 UI,但我找不到控制 UI 部分的接口。什么 class/traits/interfaces 控制操作日志,我如何隐藏它不可见?

<?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');
    }
}

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

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

是的,你可以。

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

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 仍将存储在数据库中,您应该可以访问它们。我不确定你是如何访问它们的,但我认为这不应该干扰它。