{% extends 'layouts/app.html.twig' %} {% block title %}Ustawienia domyślne mapowań | micey-projects{% endblock %} {% block app_content %} {% include 'partials/_flash_messages.html.twig' %}
hub Słowniki / Mapowania

Ustawienia domyślne

Domyślne ceny, ilości i automatyczne generowanie wariantów per platforma oraz typ produktu. Ta konfiguracja decyduje, jak aplikacja przygotowuje draft produktu przed publikacją.

storefront Platformy {{ platforms|length }}
category Typy produktów {{ product_types|length }}
tune Ustawienia {{ default_settings|length }}
schema Mapy JSON {{ json_mappings|length }}
Domyślne ustawienie

Dodaj lub aktualizuj regułę publikacji

Tutaj wybierasz warunki użycia profilu: platformę, typ produktu, tryb wariantów, cenę bazową i ilość bazową. Sam profil wariantów przechowuje już tylko konkretne wartości atrybutów oraz ich impact, ilość i reference.

Lista

Ustawienia domyślne

{{ default_settings|length }} rekordów
{% for setting in default_settings %} {% else %} {% endfor %}
Platforma Typ Cena Ilość Tryb Profil / JSON Auto Aktywne
{{ setting.platform ? setting.platform.name : '—' }} {{ setting.productType ? setting.productType.name : '—' }} {{ setting.basePrice ?: '—' }} {{ setting.baseQuantity is not null ? setting.baseQuantity : '—' }} {{ setting.variantGenerationModeLabel }} {% if setting.variantProfile %}Profil: {{ setting.variantProfile.name }}{% endif %} {% if setting.jsonVariantMapping %}JSON: {{ setting.jsonVariantMapping.name }}{% endif %} {% if not setting.variantProfile and not setting.jsonVariantMapping %}—{% endif %} {{ setting.autoGenerateVariants ? 'tak' : 'nie' }} {{ setting.active ? 'tak' : 'nie' }}
Brak ustawień domyślnych.
Warianty

Mapy JSON wariantów

JSON ze skryptu podaje użyte zestawy model + kolor. Aplikacja rozwija je później o rozmiary, ceny, ilości i kombinacje PrestaShop.

schema: ww_variant_input_v1
info

Nowa logika JSON: plik ze skryptu podaje tylko faktycznie użyte zestawy model + kolor. Aplikacja generuje rozmiary, ceny, ilości i kombinacje na podstawie reguł ekspansji ustawionych poniżej.

Dodaj mapę JSON Połącz wartości z pliku JSON z atrybutami PrestaShop.
data_object Oczekiwany format JSON
{{ expected_json }}
{% for mapping in json_mappings %}

{{ mapping.name }}

{{ mapping.code }} {{ mapping.platform.name }} / {{ mapping.productType.name }} schema: {{ mapping.schemaVersion }}
{{ mapping.active ? 'aktywna' : 'nieaktywna' }}
model: {{ mapping.modelJsonKey }} color: {{ mapping.colorJsonKey }} grupa modelu: #{{ mapping.modelAttributeGroupPrestaId ?: '—' }} grupa koloru: #{{ mapping.colorAttributeGroupPrestaId ?: '—' }} grupa rozmiaru: #{{ mapping.sizeAttributeGroupPrestaId ?: '—' }}
1. Mapowanie wartości JSON na atrybuty Presta Przypisz np. model F190 albo kolor red do właściwej wartości atrybutu.
{% for item in mapping.items %} {% else %} {% endfor %}
JSON keyJSON valuePrestaAkcje
{{ item.jsonAttributeKey }} {{ item.jsonAttributeValue }} #{{ item.attributeValuePrestaId }} {{ item.labelSnapshot }}
Brak mapowań model/kolor.
2. Reguły ekspansji model + kolor → rozmiary/ceny Jeden wpis JSON może rozwinąć się do wielu kombinacji. Zaznacz rozmiary, które mają powstać.
Rozmiary Presta dla tego modelu i koloru Zaznacz XS/S/M/L itd. Każdy zaznaczony rozmiar utworzy osobną kombinację.
{% for value in attribute_values %} {% set group_id = value.attributeGroupPrestaId %} {% set is_size_group = mapping.sizeAttributeGroupPrestaId and group_id == mapping.sizeAttributeGroupPrestaId %} {% if not mapping.sizeAttributeGroupPrestaId or is_size_group %} {% endif %} {% endfor %}
{% if not mapping.sizeAttributeGroupPrestaId %}

Warto ustawić w mapie „Grupa atrybutu: Rozmiar”, wtedy lista będzie zawężona tylko do rozmiarów.

{% endif %}
tune Opcje zaawansowane: label i SKU
{% for rule in mapping.expansionRules %} {% else %} {% endfor %}
ModelKolorRozmiarDopłataCena finalnaIlośćAktywnaAkcje
{{ rule.modelJsonValue }} {{ rule.colorJsonValue }} #{{ rule.sizeAttributeValuePrestaId }} {{ rule.sizeAttributeValue ? rule.sizeAttributeValue.nameForLang : '' }} {{ rule.priceImpact ?: '—' }} {{ rule.finalPrice ?: '—' }} {{ rule.quantity is not null ? rule.quantity : 'domyślna' }} {{ rule.active ? 'tak' : 'nie' }}
Brak reguł ekspansji. Dla JSON-a z samym model+kolor kombinacje nie zostaną wygenerowane, dopóki nie przypiszesz rozmiarów do par model+kolor.
{% else %}
schema Brak map JSON wariantów

Dodaj pierwszą mapę, aby automatycznie rozwijać pliki JSON z modelami i kolorami na kombinacje PrestaShop.

{% endfor %}
{% endblock %}