@php $isDone = in_array($this->jobStatus, ['completed', 'failed']); $pct = $this->totalRows > 0 ? min(100, (int) round(($this->processedRows / $this->totalRows) * 100)) : ($this->jobStatus === 'processing' ? 5 : 0); $isRunning = $this->jobId && !$isDone; @endphp
{{-- Progress state --}} @if($this->jobId) @if($isDone) {{ $this->jobStatus === 'completed' ? 'Complete' : 'Failed' }} @else Removing Images… @endif @if($isDone) {{ $this->deletedRows }} updated · {{ $this->skippedRows }} skipped · {{ $this->failedRows }} failed @else Processing in the background — you can leave this page and come back. @endif
@if($this->totalRows > 0) {{ $this->processedRows }} / {{ $this->totalRows }} rows @elseif($this->jobStatus === 'pending') Queued… @else Starting… @endif {{ $pct }}%
@if($this->totalRows > 0 || $isDone)
{{ $this->deletedRows }}
Updated
{{ $this->skippedRows }}
Skipped
{{ $this->failedRows }}
Failed
@endif @if($this->firstError)
{{ $this->firstError }}
@endif @if($isDone) Remove From Another File @endif
@endif {{-- Upload form --}} @if(!$this->jobId) Remove Product Images Upload a CSV of SKUs to remove images from products.
{{ $this->form }} Start Remove
{{-- Preview --}}
File Preview Green = SKU, blue = image column, grey = ignored.
Missing required column
Your file is missing the sku column.
#

Showing first rows.

@endif {{-- Instructions --}} Instructions How to prepare your file.
Columns
@foreach([ 'sku' => ['required', 'Product to update'], 'image_1' => ['optional', 'Filename to remove (specific mode only)'], 'image_2' => ['optional', 'Filename to remove (specific mode only)'], ] as $col => [$req, $hint]) @endforeach
Column Description
{{ $req }} {{ $col }} {{ $hint }}
Remove Modes
All Images
Removes every image from the product. Only needs a sku column.
Specific Images
Removes only the filenames listed in image_1, image_2 etc. Other images are kept.
Download CSV Template