- [Case Studies](https://www.mergado.sk/kategorie/case-studies)
- [E‑commerce tipy](https://www.mergado.sk/kategorie/e-commerce-tipy)
- [E‑shopové riešenia a platformy](https://www.mergado.sk/kategorie/e-shopove-riesenia-platformy)
- [Mergado Pack](https://www.mergado.sk/kategorie/mergado-pack)
- [Mergado tipy](https://www.mergado.sk/kategorie/mergado-tipy)
- [Novinky v Mergade](https://www.mergado.sk/kategorie/novinky-v-mergade)
- [Novinky z porovnávačov cien](https://www.mergado.sk/kategorie/novinky-z-porovnavacov-cien)
- [Pracujeme s Mergadom](https://www.mergado.sk/kategorie/pracujeme-s-mergadom)
- [Rozhovory](https://www.mergado.sk/kategorie/rozhovory)
- [Rozšírenia](https://www.mergado.sk/kategorie/aplikacie)
- [S Mergadom do zahraničia](https://www.mergado.sk/kategorie/s-mergadom-do-zahranicia)
- [Zo života Mergada](https://www.mergado.sk/kategorie/zo-zivota-mergada)
 



 

 1. [  Domov  ](https://www.mergado.sk/)
2. [     Blog  ](https://www.mergado.sk/blog)
3. <a class="flex items-center gap-2 hover:underline" href="" itemid="" itemprop="item" itemscope="" itemtype="https://schema.org/Thing">    **Novinka CSV import prináša uľahčenie práce v Mergade** </a>
 
  

 

#  **Novinka CSV import prináša uľahčenie práce v Mergade** 

 

 

 [    ![](https://www.mergado.sk/sites/default/files/perm/image/profil-foto.jpg)   Petra Marková  ](https://www.mergado.sk/blog/petra-markova) 

27. 8. 2019

5 minút čítania

 

 

 

 

 

  ![csv import novinka mergado](https://www.mergado.sk/sites/default/files/perm/image/new-nahladovka-na-blog-1200-x-628-px-2.png)  

[V prvej časti](https://www.mergado.sk/release-august) nášho aktuálneho releasu sme vám predstavili vylepšenia a opravy, ktoré vám **zjednoduchšia prácu s Mergadom**. Jednou z noviniek je aj **nový typ pravidla** *Import dátového súboru*, ktorý si dnes podrobne ukážeme.



 

 

 
                function tableOfContents() {
                  return {
                    headings_menu: [],
                    heading_active: '', // Added to track the active section
                    shouldBeSticky: false,

                    generateToC() {
                      const headings = document.querySelectorAll('.js-article-full-headings h2, .js-article-full-headings h3');
                      let headingMap = {};

                      headings.forEach((heading) => { // Use an arrow function to maintain `this` context
                        // Normalize heading text to remove diacritics, then replace non-alphanumeric characters with dashes
                        var normalizedText = heading.textContent.normalize("NFD").replace(/[\u0300-\u036f]/g, ""); // Remove diacritics
                        var id = heading.id ? heading.id : normalizedText.trim().toLowerCase()
                          .split(' ').join('-').replace(/[^a-z0-9\-]/ig, ''); // Updated regex to replace non-alphanumeric characters
                        headingMap[id] = headingMap[id] !== undefined ? ++headingMap[id] : 0;

                        // Use the updated `id` with diacritics removed for the heading id and the TOC
                        const finalId = headingMap[id] ? `${id}-${headingMap[id]}` : id;
                        this.headings_menu.push({
                          id: finalId,
                          title: heading.textContent,
                          level: heading.tagName.toLowerCase(), // Track heading level
                          active: false, // Initially set active to false
                        });
                        heading.id = finalId;
                      });
                    },

                    checkStickyNeeded() {
                      const ul = this.$el.querySelector('ul');
                      if (ul) {
                        this.shouldBeSticky = ul.scrollHeight < window.innerHeight;
                      }
                    },

                    setActiveHeading() {
                      // disabled not working with active state on click
                      // add @scroll.window="setActiveHeading()" to the parent div

                      // const headings = document.querySelectorAll('.js-article-full-headings h2');
                      // let activeHeading = '';
                      // let closestHeadingDistance = Infinity;

                      // headings.forEach((heading) => {
                      //   const rect = heading.getBoundingClientRect();
                      //   const offset = rect.top - window.innerHeight / 2; // Consider heading in the middle of the screen as active

                      //   if (offset < 0 && Math.abs(offset) < closestHeadingDistance) {
                      //     activeHeading = heading.id;
                      //     closestHeadingDistance = Math.abs(offset);
                      //   }
                      // });

                      // // Update the active state in headings_menu
                      // if (activeHeading !== this.heading_active) {
                      //   this.headings_menu = this.headings_menu.map(item => ({
                      //     ...item,
                      //     active: item.id === activeHeading,
                      //   }));
                      //   this.heading_active = activeHeading;

                      // }
                    },

                    setActiveItem(clickedId) {
                      this.headings_menu.forEach(item => {
                        item.active = (item.id === clickedId);
                      });
                      this.heading_active = clickedId; // Optionally update the heading_active property if used
                    },
                  };
                }
               1. <a :class="{ 'border-r-[3px] border-secondary': item.active, 'text-sm': item.level === 'h3' }" :href="'#' + item.id" class="inline-block text-balance hover:underline p-0.5 pr-3">  — </a>
  



 

[V prvej časti](https://www.mergado.sk/release-august) nášho releasu sme vám predstavili vylepšenia a opravy, ktoré vám **zjednoduchšia prácu s Mergadom**. Jednou z vychytávok je aj **nový typ pravidla** *Import dátového súboru*, ktorý si dnes podrobne ukážeme.

## Nové pravidlo v Mergade



 

**V skratke:**

1. Pravidlom môžete do projektu **nahrať dáta z externého zdroja** (napríklad si do produktového feedu doimportujete skladovú dostupnosť alebo parametre).
2. Pravidlo vie importovať CSV dáta *s rôznymi oddeľovačmi*.
3. Môžete importovať dáta z nahraného súboru alebo z URL adresy — pokojne aj z *Google tabuľky*.

 

 

 

 

 

Náš tím nezaháľa a prináša nový typ [pravidla](https://www.mergado.sk/tema/pravidla-v-mergade) — **Import dátového súboru**. Vďaka nemu môžete pomocou [CSV súboru](https://www.mergado.sk/tema/csv) importovať úpravy k už existujúcim položkám. Aby bol **súbor CSV** nahraný, musí splniť tieto **podmienky:**

- Kódovanie **UTF‑8**.
- Súbor môže obsahovať neobmedzený počet riadkov alebo stĺpcov, ale **maximálna veľkosť nahraného súboru je 25 MB.**
- **Oddeľovač polí** musí byť: 
    - **čiarka, bodkočiarka alebo svislítko**
        
        ```plaintext
        , ; |
        ```
    - ak hodnota elementu obsahuje oddeľovač, treba hodnotu zaobaliť do **úvodzoviek**
        
        ```plaintext
        ""
        ```

## Stĺpcová štruktúra súboru

Prvý stĺpec je tzv. **párovací**. Počiatočný riadok prvého stĺpca (ekvivalent bunky A1 v aplikácii Excel alebo Libre/​OpenOffice Calc) definuje párovací **element, ktorý už v Mergade existuje** (najčastejšie používaný je ID produktu). Je ním buď ľubovoľný existujúci element v aktuálnom exporte, alebo špeciálne pole: *xid, predstavujúci interné ID položky v Mergade* (viď. nižšie). Ďalšie riadky sú **hodnoty párovacieho elementu v Mergade** (hodnota ID konkrétneho produktu, napríklad 123abc). Pokiaľ produkt s daným ID v Mergade nebude, alebo bude skrytý, hodnoty sa do elementu **nenaimportujú**.

Ostatné stĺpce **definujú presné názvy** už existujúcich elementov v Mergade, ktorých hodnoty sa budú plniť podľa toho, čo obsahujú riadky CSV súboru. Ak niektorý zo stĺpcov obsahuje v Mergade neexistujúci element, tento stĺpec editor ignoruje a neexistujúce elementy automaticky nevytvorí. Majte preto na pamäti, že potrebujete mať **elementy v Mergade vopred vytvorené** **v úplne rovnakom tvare, ako sú v CSV súbore**. Názvy elementov sa musia presne zhodovať, či už sa jedná o veľkosť písmen, medzery alebo pomlčky.

## Párovacie režimy

### 1. Párovanie podľa presnej zhody

Na produkt sa aplikujú zmeny z toho riadka CSV súboru, ktorého prvý stĺpec **presne zodpovedá hodnote párovacieho elementu** (tj. ten element, ktorý dátový súbor špecifikuje v bunke A1) pri danom produkte. Tento režim je možné nastaviť v nastavení pravidla v UI. Je možné tiež nastaviť, či pri párovaní *záleží alebo nezáleží na veľkosti písmen*. Ak súbor definuje viac riadkov s rovnakou párovacou hodnotou, v režime presnej zhody **platí vždy najspodnejší riadok** (riadky ďalej v súbore prepíšu predchádzajúce riadky).



 

 [  ![](https://www.mergado.sk/sites/default/files/perm/paragraph-image/jedna.png)  ](https://www.mergado.sk/sites/default/files/perm/paragraph-image/jedna.png) 

 [  ![](https://www.mergado.sk/sites/default/files/perm/paragraph-image/jednaa.png)  ](https://www.mergado.sk/sites/default/files/perm/paragraph-image/jednaa.png) 

### 2. Párovanie podľa čiastočnej zhody

V tomto prípade je produkt na riadok v CSV napárovaný aj v prípade, že hodnota párovacieho elementu (špecifikovaného v bunke A1 CSV súboru) daného produktu len **čiastočne obsahuje hodnotu** z párovacieho (prvého) stĺpcu dátového súboru. Tento režim sa dá nastaviť v nastavení pravidlá v UI.

Dá sa tiež **nastaviť**, či pri [párovaní](https://www.mergado.sk/parovanie-odparovanie-produktov-heureka-zbozicz) **záleží alebo nezáleží na veľkosti písmen**. Ak súbor definuje viac riadkov s rovnakou párovacou hodnotou, v režime čiastočnej zhody **platí vždy najvrchnejší riadok** (ak sa produkt napáruje na nejaký riadok z dátového súboru, ďalšie riadky sa pre tento produkt preskočia).



 

 [  ![](https://www.mergado.sk/sites/default/files/perm/paragraph-image/dva.png)  ](https://www.mergado.sk/sites/default/files/perm/paragraph-image/dva.png) 

 [  ![](https://www.mergado.sk/sites/default/files/perm/paragraph-image/dvaa.png)  ](https://www.mergado.sk/sites/default/files/perm/paragraph-image/dvaa.png) 

### 3. Špeciálny režim párovania podľa interného Mergado ID produktu

Tento režim nie je možné zapnúť v nastavení pravidla, ale je **automaticky aktivovaný** v prípade, že dátový súbor definuje párovacie pole s hodnotou: ***xid***. Užívateľské nastavenie párovacieho režimu je v takom prípade ignorované a **páruje sa podľa interného ID /: xid položky** v Mergade. Keď si na stránke *Produkty* vyexportujete položky do CSV súboru, dostanete ho presne v tomto formáte — prvý stĺpec CSV tu pri každom produkte definuje pole: xid.

Ak si potom tento súbor otvoríte v aplikácii Excel či Libre / OpenOffice Calc, môžete ľahko **nadefinovať veľké množstvo manuálnych zmien** u jednotlivých produktov. Pokiaľ potom takto upravený súbor nahráte do pravidla *Import dátového súboru*, vaše zmeny budú reprezentované konkrétnym hromadným pravidlom, ktoré sa dá **pozastaviť, presúvať či rovno zmazať.**

#### Pridávanie hodnoty produktov

Ak zadávame **iba jednu hodnotu** parametra (v Mergade musí byť vopred vytvorená a zadávame ju v úplne rovnakom tvare), napríklad: *Farba*, [Cesta k elementu (element-path)](https://forum.mergado.cz/t/mergado-2-element-path-technicka-specifikace/2124) môže vyzerať takto:

```plaintext
ITEM_ID ; PARAM { PARAM_NAME = "Farba" } | VAL
123456; Červená
```

Ak použijete **viacnásobný element**, napríklad na pridanie dvoch rôznych typov materiálov, postup bude vyzerať takto:

```plaintext
ITEM_ID ; PARAM { PARAM_NAME = "Materiál"} | VAL ; PARAM { PARAM_NAME = "Materiál" AND @@POSITION = 2 } | VAL
1234563; Bavlna 60% ; Polyester 40%
```



 

**NEZABUDNITE:** Pri správe feedu v Mergado 2 je cesta k elementu iná. Pre parametre preto už neplatí používanie pre Mergado 1: PARAM|Materiál|1 , PARAM|Materiál2.

 

 

 

 

 

 [  ![](https://www.mergado.sk/sites/default/files/perm/paragraph-image/specialni-rezim-parovani_1.png)  ](https://www.mergado.sk/sites/default/files/perm/paragraph-image/specialni-rezim-parovani_1.png) 

## FAQ importného pravidla

**Čo robiť keď:**

*1. Importné pravidlo spôsobuje chybu pri aplikovaní pravidiel -&gt; Za toto väčšinou môže zlý názov stĺpca v importovanom CSV súbore.*

- Otvorte si CSV súbor a **skontrolujte/​opravte názvy stĺpcov**.
- Musí byť **totožné s názvami Elementov** v Mergade (pokiaľ je v názve stĺpca cesta k elementu, musí byť správne zapísaná = validná).

*2. Importné pravidlo nenaimportuje dáta -&gt; Zrejme sa nenašli produkty, ku ktorým sa majú dáta importovať.*

- Otvorte si CSV súbor a **skontrolujte hodnoty** v prvom (párovacom) stĺpci, ktorý sa používa na vyhľadanie produktov.
- Skúste si **vytvoriť výber výpočtom** s pomocou týchto hodnôt a hneď uvidíte, či sa nejaké produkty nájdu.
- Ak sa nájdu, zapnite si u niektorého z nich **sledovanie produktu pri prechode pravidlami** a aplikujte pravidlá len na sledované produkty.
- Z logu zmien potom uvidíte, čo sa s produktom deje pri aplikovaní pravidiel a odhalíte tak príčinu problému.

*3. Importné pravidlo prepisuje dáta viacerým produktom, než by malo -&gt; V editácii pravidla skontrolujte “Párovací režim”.*

- Zrejme tam nájdete, že “*Kľúč je obsiahnutý v hodnote*”.
- V takom prípade nastavenie zmeňte na voľbu: “*Kľúč sa presne zhoduje*”, čo odporúčame používať primárne.

*4. Importné pravidlo stále nerobí čo potrebujete? -&gt; Kontaktujte našu* [*technickú podporu.*](https://www.mergado.sk/kontakt)

- My sa na **nastavenie pravidla pozrieme** a rýchlo prídeme na to, v čom je problém.

Nové vychytávky posúvajú Mergado neustále vpred a my dúfame, že aj druhá várka noviniek vám priniesla **uľahčenie a zefektívnenie práce**. Dajte nám vedieť svoj názor a sledujte naše [fórum](http://forum.mergado.cz/?_ga=2.79629076.1464975503.1566804288-1591585082.1562674071&_gac=1.241823158.1566818038.EAIaIQobChMIhbWf9fKu4wIVqRbTCh0cewJhEAAYASAAEgIVe_D_BwE), kde sa vždy dozviete aktuálne informácie o vylepšeniach či opravách v Mergade.



 

  ![](https://www.mergado.sk/themes/custom/mergado/static/images/banner/mergado.svg) Mergado na 30 dní zadarmo

- feed si upravíte sami a ušetríte náklady za prácu programátora
- plný prístup ku všetkým funkciám už v skúšobnej verzii

 

 [Chcem to vyskúšať](https://accounts.mergado.com/register/) 

  ![](https://www.mergado.sk/themes/custom/mergado/static/images/banner/mergado.svg)  

 

 [    ![](https://www.mergado.sk/sites/default/files/perm/image/profil-foto.jpg)  ](https://www.mergado.sk/blog/petra-markova)###  [ Petra Marková ](https://www.mergado.sk/blog/petra-markova) 

Slovenský trh a ľubozvučnú slovenčinu má v Mergade na starosti content špecialistka Petra. Textuje, bloguje, prekladá a s vášňou tvorí obsah na sociálne siete. A keď práve nehľadá tie správne slová, venuje svoj čas bytovej džungli, pečeniu, kaviarňam alebo cestovaniu.

 

 

 

 

 

 

 

 

 

## Mohlo by vás *zaujímať*

 

 [    ![](https://www.mergado.sk/sites/default/files/perm/image/mf26_clanek_sk.jpg)  

### Zahájte festivalovú sezónu nadupanou konferenciou Mergado Fest

 

 ](https://www.mergado.sk/blog/zahajte-festivalovu-sezonu-na-mergado-feste) 

 [    ![uawc_cs_cz](https://www.mergado.sk/sites/default/files/perm/image/mergado-nahledovky_na_blog-1200_x_628_px-4.jpg)  

### Ako optimalizácia feedu zvýšila výkon Meta Ads bez navýšenia rozpočtu

 

 ](https://www.mergado.sk/blog/optimalizace-feedu-pro-Meta-Ads) 

 [    ![ako_uspet_idealo](https://www.mergado.sk/sites/default/files/perm/image/mergado-nahledovky_na_blog-1200_x_628_px-3.jpg)  

### Ako úspešne predávať na idealo

 

 ](https://www.mergado.sk/blog/uspesny-prodej-na-idealo) 

 

 

 

## Nenechajte si nič *ujsť*

 Prihláste sa k odberu nášho newslettera 

   

       

   Prihlásením súhlasíte s tým, že vaše údaje budeme spracovávať v súlade s našimi [zásadami ochrany osobných údajov](https://www.mergado.sk/vyhlasenie-o-cookies). 

  Ďakujeme, úspešne ste sa pripojili k nášmu zoznamu odberateľov. 

 

 

 
      function ml_webform_success_5807248() {
        var r = ml_jQuery || jQuery
        r('.ml-subscribe-form-5807248 .row-success').show(), r('.ml-subscribe-form-5807248 .row-form').hide()
      }