【问题标题】:How to change default prefix "Create/Update" that comes with CRUD?如何更改 CRUD 附带的默认前缀“创建/更新”?
【发布时间】:2019-11-28 12:29:35
【问题描述】:

如何更改 CRUD 操作附带的前缀,即 laravel NOVA 中的 CREATE / UPDATE? 如果我可以更改它们,我如何在它们上应用翻译? 前缀“创建”如图所示。

【问题讨论】:

  • 请输入一些代码。
  • 这是一个普遍的问题,我认为不需要代码。 @VikasKatariya
  • @bgul 谢谢,但是如何更改默认前缀,例如 CRUD 提供的“创建或更新”?
  • 是否有可能为每个/某些资源设置单独的前缀?

标签: laravel laravel-nova


【解决方案1】:

无需安装包或编辑核心文件?。您可以在语言文件中轻松更改它。假设您的应用的语言环境设置为 en,则可以在 /resources/lang/vendor/nova/en.json 中找到翻译文件。

在此文件中,转到您需要编辑的条目,在这种情况下

"Create :resource": "Create :resource"

并将值更改为您想要的值。例如,将其更改为

"Create :resource": "Create a new :resource"

将文本变成

【讨论】:

  • 感谢您提供此解决方案,我赞成。我希望它能对面临这个问题的开发人员有所帮助。
【解决方案2】:

注意:你不需要更改核心文件,你也可以这样做

"Create :resource": "Create :resource""Create :resource": "Create a new :resource" 可以说资源名称是帖子。那么新标题将变为创建一个新帖子您可以从这里更改您喜欢的标题。

它会更新你的标题,而不更新核心文件。 @Govert Verschuur 提供了这个解决方案。

其他方法是 -> Panel.php 文件中提供了默认名称“创建/更新”。

  /**
 * Get the default panel name for a create panel.
 *
 * @param  \Laravel\Nova\Resource  $resource
 * @return string
 */
public static function defaultNameForCreate(Resource $resource)
{
    return __('Create :resource', [
        'resource' => $resource->singularLabel(),
    ]);
}

/**
 * Get the default panel name for the update panel.
 *
 * @param  \Laravel\Nova\Resource  $resource
 * @return string
 */
public static function defaultNameForUpdate(Resource $resource)
{
    return __('Update :resource', [
        'resource' => $resource->singularLabel(),
    ]);
}

在此处更改字符串并繁荣,它将解决您的问题。

并且就翻译而言已经应用,您只需要在您的 en.json 或任何其他文件中提供翻译。

注意: 翻译将仅应用于最终字符串,因此使用您的标签名称添加“创建”/“更新”,如果未设置标签,则使用您的默认名称。

【讨论】:

  • 普遍有用,但更改核心文件很麻烦
  • @Origami1024 更新了我的答案。我希望,它可以帮助人们!
猜你喜欢
  • 2018-08-21
  • 1970-01-01
  • 1970-01-01
  • 2021-09-24
  • 1970-01-01
  • 1970-01-01
  • 2018-05-10
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多