Kódok a Brani Tisku sablonokhoz
Útmutató

Kódok a Brani Tisku sablonokhoz

A Brani Tisku alkalmazás felső részén találhatóak azok az adatok, amelyekkel rendelkezünk a megrendelésről vagy a termékről, és amelyekkel dolgozhat, hogy saját címkéket készítsen.

Alapvető információk

A Brani Tisku sablonjának szerkesztése során a képernyő felső részén megtalálhatók a rendeléssel vagy a termékkel kapcsolatos, rendelkezésünkre álló adatok, amelyekkel dolgozhat, például:

Ugyanakkor lehetséges egy adott termékhez vagy megrendeléshez tartozó adatokat betölteni, ha kitölti a saját tesztadatait:

Ha az adatstruktúrából származó változót szeretné használni a sablonban – például a termék nevét –, akkor a következő szintaxist kell alkalmaznia:

{{ termék.name }}

Ha az adatok mélyebben vannak elrejtve, a kulcsokat tömbként kell kezelni. Például a beszállító nevének kinyomtatásához:

{{ termék.beszállító['name'] }}

Bizonyos esetekben előfordulhat, hogy ciklust kell használni, például azért, mert a paraméterek tetszőleges számú „paraméter–érték” párt tartalmaznak. Ilyen esetben a kód például így nézhet ki:

{% for param in product.descriptiveParameters %}
  Nazev param: {{ param['name'] }} 
  Hodnota: {{ param['value'] }} 
{% endfor %}

A ciklusok és általában a paraméterekkel való munka sokkal bonyolultabb lehet, erről bővebben később írunk.

Címke méretek

Nagyon fontos, hogy pontosan meghatározzuk az „felület” méretét, amelyre az információkat fel fogjuk helyezni. A címkék és a termékek elkészítése például olyan folyamat, amelyet fokozatosan finomítunk azáltal, hogy sorra kinyomtatjuk őket, kipróbáljuk a különböző betűméreteket és hasonlókat. Az alapot a címke megfelelő méretének beállítása jelenti.

Kódok generálása

Különböző típusú 1D-s és 2D-s kódokat tudunk generálni. A bemeneti szöveg tetszőleges lehet, leggyakrabban termék- vagy EAN-kódot használnak. Támogatott kódtípusok (ez hatással van a kód végső képének megjelenésére):

qr, barcode_code128, barcode_ean, barcode_ean8, barcode_gtin, barcode_ean14, barcode_jan, barcode_upc, barcode_upca, barcode_isbn, barcode_isbn13, barcode_gs1, barcode_isbn10, barcode_issn, barcode_code39, barcode_pzn, barcode_code128, barcode_itf, barcode_gs1_128

A leggyakrabban használt kódok:

  • qr – egy viszonylag kicsi kód, amely nagy mennyiségű adatot képes tárolni, ehhez 2D-olvasóra van szükség
  • ean – a szokásos 13 számjegyű kódokhoz
  • code128 – olyan kódokhoz alkalmas, amelyek hossza nem pontos, és betűket, kötőjeleket, aláhúzásjeleket és hasonló karaktereket tartalmaznak

A jegyzőkönyv így néz ki:

<img src="{{ premenna | typ_kodu(argumenty) }}">

Ezt akkor használja, ha a termék kódjából Code128 vonalkódot szeretne generálni:

<img src="{{ product.variant.code | barcode_code128(height=10, width=0.5, label=True, font_size=8, text_offset=2.5) }}" >

Beállíthatók azok a paraméterek, amelyek befolyásolják a vonalkód magasságát vagy szélességét. Emellett be- vagy kikapcsolható az úgynevezett „label” – ez az a kód, amely a címke méretét és a vonalkódtól való eltolását határozza meg.

A QR-kód különlegessége, hogy nem rendelkezik paraméterekkel. A QR-kód esetében a kép CSS segítségével testreszabható.

<img src="{{ product.variant.code | qr() }}"  style="width: 4cm">

A kód a következőképpen néz ki:

A QR-kódot arra is felhasználhatja, hogy a termék kódja alapján az e-bolt keresőjébe irányítsa a felhasználót:

<img style="height: 120px" src="{{ ("https://brani.myshoptet.com/vyhledavani/?string=" + product.variant.code)  | qr  }}" />

Vagy közvetlenül hivatkozhatunk a termék részletes leírására:

<img style="height: 120px" src="{{ product.url  | qr  }}" />

Feltételek

A feltétel alapvető szintaxisa a következő:

{% ha feltétel %}
  // mit kell végrehajtani, ha a feltétel teljesül
{% else %}
  // mit kell végrehajtani, ha a feltétel nem teljesül
{% endif %}

Ha a termék láthatóságán alapuló feltételt szeretne alkalmazni, a következőket állítsa be:

{% ha product.visibility == "hidden" %}
  elrejtett termék
{% else %}
  megjelenített termék
{% endif %}

Ciklus

Ezt a ciklust leggyakrabban olyan esetekben használják, amikor létre kell hozni egy táblázatot, amely tartalmazza a megrendelésben szereplő termékek listáját vagy a termékek paramétereit.

Megrendelések

A megrendelésben szereplő termékek felsorolásához (például visszaküldési űrlapok esetén) a következő ciklust használhatja:

{% for item in order['items'] %}
  {{ item.name }} 
  {{ elem.összeg }} db 
  {{ tétel.tételár.withVat }}
  
{% endfor  %}

A szebb táblázat érdekében például a következőket írja be:

      <div class="produkty">
         <div class="produkty-vypis produkty-hlavicka">
            <span>Počet</span>
            <span></span> 
            <span>Produkt</span>
            <span class="text-right">Cena bez DPH</span>
            <span class="text-right">Cena s DPH</span>
         </div>
         {% for item in order['items'] %}
         <div class="produkty-vypis">
            <span>{{ item.amount }} ks</span>
            <span></span> 
            <span>{{ item.name }}</span>
            <span class="text-right">{{ item.itemPrice.withoutVat }}Kč</span>
            <span class="text-right">{{ item.itemPrice.withVat }} Kč</span>
         </div>
         {% endfor  %}
      </div>
      <div class="celkem text-right">
         Celkem:
         <span>{{ order.price.toPay }} Kč</span>
      </div>

És így fog ez később kinézni:

Termékek

A termékek esetében a ciklusokat gyakran használják a paraméterek felsorolására.

Árlisták

Ha a termékcímkén a fő árlistától eltérő árakat szeretne feltüntetni, akkor a `pricelists` változót kell használnia. Például:

{{ árlisták[123].ár }}

Ahol a „123” az árlista azonosítószámát jelenti.

Brani Sklad

Amennyiben a Brani Sklad, a termékekhez megadhatja azokat a szektorokat vagy raktári pozíciókat, ahol a termék található. Ehhez két változó áll rendelkezésre:

{{ pozíciók }}
{{ szektorok }}

Ezen a helyen megjelenik a pozíciók (vagy szektorok) listája, vesszővel vagy elválasztóval, például:

A1-1-2, C3-4-8, D5-1-1

Ha a termék egy pozícióban van, akkor csak ez az egy pozíció jelenik meg.

Fejlett funkciók

A sablonrendszer támogatja a Python nyelv egyes módszereit.

Változók használata

Ha bonyolultabb sablont készít, akkor hasznos lehet a változók használata.

{%  set foo = "bar" %}
Vypise bar: {{ foo }} 

{% set foo = product.name %}
Vypise nazov produktu: {{ foo }}

Használhatja a következő mezőket is:

{% set productname = namespace(cz="", de="", sk="",en="") %}
{% set productname.cz = "cesky nazev" %}
{% set productname.de = "nemecky nazev" %}
Vypise cesky nazev: {{ productname.cz }}
Vypise nemecky nazev: {{ productname.de }}

Számok kerekítése

A round függvény 2 tizedesjegyre kerekít:

Vypise "123.46": {{ 123.45678 | round }}

Dátum és idő

A datetime.now() , timedelta() és parsedate() függvényeket is használhatja, valamint a strftime() segítségével formázhatja a dátumokat, ugyanúgy, mint a Pythonban:

Aktualni datum a cas:
{{ datetime.now().strftime('%d.%m.%Y %H:%M') }}

Datum a cas za 180 dni:
{{ (datetime.now() + timedelta(days=180)).strftime('%d.%m.%Y %H:%M') }}

Szövegelemzés

Előfordul, hogy szükségünk van bizonyos adatok lekérésére, például a termék belső megjegyzéséből. Vegyünk egy példát, amikor a termék belső megjegyzése mindig egy sorban tartalmaz fontos információkat, előtaggal ellátva. Használhatja a startswith() , split() , join() függvényeket, valamint testreszabhatja a split() utáni eredménymezők pozícióját:

{% if product.internalNote: %}
{% for line in product.internalNote.split("\n"):  %}
    {% if line.startswith("CZ:"): %}
        {% set productname.cz = "".join(line.split("CZ: ")[1].split(';')) %}
    {% endif %}
      {% if line.startswith("SK:"): %}
        {% set productname.sk = "".join(line.split("SK: ")[1].split(';')) %}
    {% endif %}
{% endfor %}
{% endif %}

Google Táblázatok

Ha olyan információkat kell feltüntetnie a címkén , amelyek nem szerepelnek a termék e-shopban, akkor ezeket az információkat elmentheti a Google táblázatokba, és onnan lekérheti a szükséges adatokat.

Ez hasznos lehet például a termék összetételének különböző nyelveken történő feltüntetéséhez, az adagoláshoz, a használati utasításhoz, a gyártóval kapcsolatos információkhoz és hasonlóakhoz. Ha például a táblázatokban minden gyártóhoz tartozik egy leírás, ezeket a leírásokat később címkére is kinyomtathatja.

Az alapvető szintaxis a táblázat cellájának kereséséhez és kiírásához:

{{ vstup | gsheet(
url='https://docs.google.com/spreadsheets/d/hash', 
sheet_name='nazev listu', 
lookup_column_name='sloupec kde hladame ', 
value_column_name='sloupec ktery hledame'
) }}

Ha azt szeretné, hogy a „leírás” oszlop tartalma megjelenjen azon a soron, ahol a „termékkód” oszlop tartalma a mi termékünk kódját tartalmazza, akkor a következőket írja be:

{{ product.variant.code | gsheet(url='https://docs.google.com/spreadsheets/d/hash', sheet_name='nazev listu', lookup_column_name='kod produktu', value_column_name='popis') }}

Figyelj arra, hogy a Google táblázatnak nyilvánosan hozzáférhetőnek kell lennie a megadott URL-címen.

Saját PDF és a nyomtatás feltételes felfüggesztése

A funkció segítségével custom_pdf() A sablonból létrehozott PDF helyett használhat egy saját URL-címről származó PDF-fájlt is. A függvénynek megadja azt az URL-címet, ahonnan a PDF-fájlt letölti, majd kinyomtatja. Ez a funkció például címkék vagy külső szolgáltatás által generált dokumentumok esetén hasznos.

Ha bizonyos feltételek mellett teljesen ki szeretné hagyni a nyomtatást, használja a abort_generation(). Ilyen esetben a PDF-fájl létrehozása megszakad, és nem nyomtat ki semmit.

A függvényt például egy Google Táblázatból beolvasott értékkel kombinálhatja. Ebben a példában a termék kódja alapján keresi meg a PDF URL-jét az oszlopban RO. Ha az URL így kezdődik: https, saját PDF-ként kerül felhasználásra; ellenkező esetben a generálás megszakad:

{% set pdf_url = product.variant.code | gsheet(
url='https://docs.google.com/spreadsheets/d/1AbCdEfGhIjKlMnOpQrStUvWxYz0123456789/edit?gid=0#gid=0',
sheet_name='etikety',
lookup_column_name='CODE',
value_column_name='RO'
) %}

{% if pdf_url.startswith('https'): %}
  {{ custom_pdf(pdf_url) }}
{% else: %}
  {{ abort_generation() }}
{% endif %}

Az előnézetben maga a PDF-fájl nem jelenik meg közvetlenül, az előnézet csupán jelzi, hogy a funkciót használták custom_pdf(). A nyomtatás megfelelő működéséhez az URL-nek PDF-fájlt kell visszaadnia, és a Google-táblázatnak nyilvánosan hozzáférhetőnek kell lennie.

Ha bármilyen kérdése van, vegye fel velünk a kapcsolatot a support@brani.cz címen.

Szívesen bemutatjuk Önnek az eszközt, kötelezettség nélkül.

Ha az útmutatók nem voltak elégségesek, ingyenes konzultációs beszélgetést is egyeztethet. Töltse ki az űrlapot, és mi visszahívjuk Önt.

2 munkanapon belül visszahívjuk Önt.

Bemutatjuk a rendszert a gyakorlatban.

Válaszolunk kérdéseire.

Az üzenet sikeresen elküldésre került.
A lehető leghamarabb válaszolunk Önnek. Általában 24 órán belül.
Hoppá, hiba történt. Próbálja meg újra elküldeni az űrlapot, vagy lépjen kapcsolatba velünk az support@brani.cz e-mail címen.

Az üzenet elküldésre került

Köszönjük az üzenetet. Hamarosan visszajelzünk.