{% extends 'layouts/app.html.twig' %} {% block title %}{{ page_title }} | Luminous{% endblock %} {% block app_content %} {% include 'partials/_flash_messages.html.twig' %}
Dostawcy / Import SKU

{{ provider.name }}

Import jest wykonywany dopiero po poprawnym podglądzie całego pliku. Błędny wiersz blokuje zapis wszystkich rekordów.

Krok 1

Wczytaj i zweryfikuj plik

Najbezpieczniej rozpocząć od eksportu, uzupełnić kolumny provider_sku, provider_product_code, active i notes, a następnie wczytać ten sam plik.

{{ form_start(form) }} {{ form_errors(form) }}
{{ form_row(form.file) }}
{{ form_row(form.preview) }} {{ form_end(form) }}
{% if preview %}
Krok 2

Podgląd importu

Poprawne wiersze: {{ preview.rows|length }}, pominięte puste: {{ preview.skipped }}, błędy: {{ preview.errors|length }}.

{{ preview.canImport ? 'gotowy do zapisu' : (preview.errors|length > 0 ? 'wymaga poprawy' : 'brak danych') }}
{% if preview.errors|length == 0 and preview.rows|length == 0 %}
Nie znaleziono żadnego uzupełnionego SKU. Puste wiersze zostały pominięte.
{% endif %} {% if preview.errors|length > 0 %}
Plik nie zostanie zapisany, dopóki wszystkie błędy nie zostaną poprawione.
    {% for error in preview.errors %}
  • Wiersz {{ error.line ?: '—' }}: {{ error.message }}
  • {% endfor %}
{% endif %} {% if preview.rows|length > 0 %}
{% for row in preview.rows %} {% endfor %}
WierszRodzaj produktuWariantSKUKod produktuStatusUwagi
{{ row.line }} {{ row.product_type ? row.product_type.name : '—' }} {{ row.definition.label }}{{ row.definition.code }} {{ row.provider_sku }} {{ row.provider_product_code ?: '—' }} {{ row.active ? 'aktywna' : 'nieaktywna' }} {{ row.notes ?: '—' }}
{% endif %} {% if preview.canImport and import_nonce %}
Import zapisze {{ preview.rows|length }} zweryfikowanych mapowań.
{% endif %}
{% endif %}
{% endblock %}