Hacktoberfest 2026:维护者为十月标记出来的 issue,仍然开放、适合新手。 浏览 Hacktoberfest issue

While replacing an asset with new file meta data get lost

未关闭
#12,047 0 条评论 2 个 reaction 已指派 0 人 在 GitHub 查看

维护者通常 1 天内回复

还没有人认领这个 Issue。

评估

难度
3/5
预计耗时
1-2 天
新手友好度
35/100
Issue 类型
缺陷
描述清晰度
描述清楚
活跃度
停滞
技术栈
laravel, php
领域
backend

调研方向

Start by tracing the asset replacement dialog through the save action and the code that writes asset metadata in the .meta folder; the issue does not name source files or tests. Reproduce the steps with an image that has custom metadata, replace it with a differently named image, and save with removal of the old image enabled. Done means the replacement retains the existing metadata in its new .meta YAML file.

由索引模型根据 Issue 内容生成。

描述

assets
Bug description

My users are facing the following problem:
If you replace an image, by uploading a new one with a different name, the metadata gets lost.

The editorsdesk would love to use the replacement feature from time to time, because after publishing an article they often find the need to modify/crop/change/whatever an image afterwards again. But as we use several custom metadata fields in the assets blueprint, (a11y, legal, copyright, stuff...) its quite annoying to upload the modified image a second time, to than fill out all theses fields and to then search/find the image in library to change it the article.

Using an image file with the same name is also not an option as mentioned here: #11229

How to reproduce
  • Upload an image to the library
  • Add some metadata to the image
  • Save the image
  • Look into the .meta folder -> old.jpg.yaml existing
  • Replace the image by uploading a new one using the replace-dialogue (do not click save yet)
  • Look into the .meta folder -> old.jpg.yaml and new.jpg.yaml existing
  • Save the image by clicking the Save button. (toggle remove old image is on )
  • Look into the .meta folder -> new.jpg.yaml existing
  • Look into the .meta/new.jpg.yaml file -> metadata are lost
Logs

Environment
Environment
Application Name: DAV
Laravel Version: 11.45.1
PHP Version: 8.3.23
Composer Version: 2.8.10
Environment: local
Debug Mode: ENABLED
URL: dav-av.ddev.site
Maintenance Mode: OFF
Timezone: Europe/Berlin
Locale: de

Cache
Config: NOT CACHED
Events: NOT CACHED
Routes: NOT CACHED
Views: CACHED

Drivers
Broadcasting: log
Cache: file
Database: mysql
Logs: stack / single
Mail: smtp
Queue: sync
Session: file

Statamic
Addons: 6
Sites: 3 (DAV, JDAV, JUBI)
Stache Watcher: Enabled
Static Caching: Disabled
Version: 5.63.0 PRO

Statamic Addons
alpenverein/nginx-utility: dev-dev
el-schneider/statamic-auto-alt-text: 0.3.2
jacksleight/statamic-bard-mutator: 3.0.4
jonassiewertsen/statamic-external-link: 1.9.0
mitydigital/sitemapamic: 3.3.0
thehome/statamic-elasticsearch: dev-es8
Installation

Fresh statamic/statamic site via CLI

Additional details

No response

主要语言
PHP
星标
4.9k
派生
647
平均合并
1 天 8 小时
30 天内合并 PR
100

环境准备

这个项目没有提供开发容器、Dockerfile 或贡献指南,环境需要你自己搭建:先看它的 README,通用步骤见我们的新手贡献指南。

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

statamic/cms 的其他 Issue

查看 statamic/cms 的全部 Issue

相似的 Issue

更多 PHP Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。