You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel Backpack中地址输入固定定位实现及视图不存在报错解决

Laravel Backpack自定义谷歌地图字段找不到视图报错解决方案

这个报错是因为你使用的abr4xas/gmaps-input-backpack第三方字段包适配的是旧版Laravel Backpack,Backpack 5.x及以上版本将原本crud::inc命名空间下的公共视图组件全部迁移到了crud::components路径下,因此模板中引用的inc.field_wrapper_attributes和inc.field_attributes视图文件无法被找到。


解决步骤

  1. 发布第三方包模板到项目目录(禁止直接修改vendor下的文件)
    运行以下Artisan命令将字段模板发布到项目可编辑目录:
php artisan vendor:publish --provider="Abr4xas\GmapsInputBackpack\GmapsInputBackpackServiceProvider"

执行完成后,模板文件会被复制到resources/views/vendor/abr4xas/gmaps-input-backpack/fields/customGoogleMaps.blade.php路径下,后续修改这个文件即可。

  1. 替换模板中的视图引用路径
    打开上述模板文件,修改两处@include代码:
  • 将第一行的@include('crud::inc.field_wrapper_attributes')替换为@include('crud::components.field-wrapper-attributes')
  • 将input标签内的@include('crud::inc.field_attributes')替换为@include('crud::components.field-attributes')
  1. 兜底兼容方案(如果替换后仍报错)
    如果你使用的Backpack版本特殊找不到上述组件,也可以直接用固定属性替代两个include的逻辑:
  • 第一行的div改为:<div class="form-group mb-3">
  • input标签内的include替换为:class="form-control map-input" {{ isset($field['attributes']) ? implode(' ', array_map(fn($k, $v) => "$k=\"$v\"", array_keys($field['attributes']), $field['attributes'])) : '' }}

修改完成后清空视图缓存即可生效:

php artisan view:clear

后续注意事项

  • 确认.env文件中已正确配置GOOGLE_MAPS_API_KEY参数
  • 对应CRUD的模型需要将address_input、address_latitude、address_longitude三个字段加入$fillable属性,否则数据无法保存

内容的提问来源于stack exchange,提问作者Haymanot Brhane

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.20 01:36:03