- [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. [     Pracujeme s Mergadom  ](https://www.mergado.sk/kategorie/pracujeme-s-mergadom)
4. <a class="flex items-center gap-2 hover:underline" href="" itemid="" itemprop="item" itemscope="" itemtype="https://schema.org/Thing">    **Ako upraviť Shoptet feed na validný formát** </a>
 
  

 

#  **Ako upraviť Shoptet feed na validný formát** 

 

 

 [    ![](https://www.mergado.sk/sites/default/files/perm/user-avatar/23021961102131189073595481259913287n.jpg)   Lukáš Horák  ](https://www.mergado.sk/blog/lukas-horak) [Pracujeme s Mergadom](https://www.mergado.sk/kategorie/pracujeme-s-mergadom) 

4. 7. 2018

3 minúty čítania

 

 

 

 

 

  ![Ako upraviť Shoptet feed na validný formát](https://www.mergado.sk/sites/default/files/field/image/shoptet-sk.png)  

Majú vaši klienti prenajaté e‑shopové riešenie od Shoptetu? Možno ste sa už pri správe ich inzercie dostali do situácie, kedy Shoptet validátor hlásil, že je váš Shoptet feed na výstupe z Mergada nevalidný. Dnešným návodom tento problém v Mergade vyriešime raz a navždy.



 

 

 
                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>
  



 

Majú vaši klienti prenajaté e‑shopové riešenie od [Shoptetu](https://www.shoptet.sk/)? Možno ste sa už pri správe ich inzercie dostali do situácie, kedy Shoptet validátor hlásil, že je váš **Shoptet feed** na výstupe z Mergada **nevalidní**. Dnešným návodom tento problém v Mergade **vyriešime** raz a navždy.

## Shoptet

Shoptet je **spoločnosť prenajímajúca e‑shopové riešenie**. V súčasnosti na tejto platforme podniká **viac než 13,5 tisíc e‑shopov** na českom a slovenskom trhu. Umožňuje jednoduchú administráciu, obsahuje veľké množstvo funkcií. Shoptetom poskytovaný pokladný systém umožňuje predaj cez internet, i cez kamenný obchod **v rámci jedného on-line systému**.

## Shoptet validátor

Shoptet vyžaduje, aby feedy naň napojených riešení, mali **jednotnú štruktúru**. Shoptet validátor teda slúži **pre kontrolu**, či feed vyhovuje podmienkam a je **možné ho napojiť** do e‑shopu prevádzkovanom na Shoptet platforme.

Validácia prebieha pomocou formuláru umiestnenom [na stránke validátoru](https://help.shoptet.cz/topic/xml-validace/).

**Tu:**

1. Najskôr **vyberte**, o aký **typ** **feedu** (špecifikácia podľa Shoptet formátu, či Heureky) sa jedná.
2. Potom sem **nahrajte** buď **XML** **súbor** uložený na disku, alebo **vložte** **URL** **adresu** **feedu**.



 

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

## Ako v Mergade postupovať, ak validátor Shoptetu hlási, že feed nie je validný

Ak bol feed detekovaný ako nevalidný, **nebude** **možné** **ho** **do** **e‑shopu**, ktorý beží na Shoptete, **nahrať**. Je teda **potrebné** ho **upraviť**. Najčastejšia komplikácia býva v tom, že výstupný feed obsahuje [elementy](https://www.mergado.sk/tema/elementy), **ktoré Shoptet nepovoľuje**. V Mergade môžete tieto elementy **vypnúť, či previesť hodnoty** z elementov, ktoré Shoptet nepozná, do tých, ktoré pozná.

## Vypnutie elementu

Vypnutie elementu pre výstup v Mergade ľahko nastavíte na stránke Elementy.

**Stačí:**

1. **Vyhľadať** element, ktorý potrebujete vypnúť.
2. **Skryť** element pomocou ikony „oka“ na pravej strane.
3. Následne **pregenerovať** feed (na stránke Nastavenie – Pregenerovanie tlačítkom Pregenerovať všetko).
4. Po dobehnutí pregenerovania **opäť** **použiť** **validátor** Shoptetu a zistiť, či vám hlási niečo ďalšie.



 

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

Takto krok po kroku môžete pomocou Mergada **feed vyladiť na úplne validný**. Špecifikáciu, ako má štruktúra feedu podľa Shoptetu vyzerať, nájdete v odkazoch nižšie [na webe validátoru](https://help.shoptet.cz/topic/xml-validace/).

## Prevedenie hodnôt elementov

Ďalším riešením problémov s validáciou feedov je **prevedenie** **hodnôt** zo vstupných elementov **na** **také** názvy elementov, **ktoré** **Shoptet** **pozná**.

**Ako na to:**

1. Pomocou pravidla typu „Prepísať“ **pridajte** **pravidlá**, ktoré vám dáta prevedú do elementov, ktoré Shoptet používa. Prehľad Shoptet elementov nájdete v tabuľke [na tejto stránke](https://help.shoptet.cz/topic/xml-feedy/).
2. Po pridaní pravidiel opäť **nezabudnite pregenerovať** feed na stránke Nastavenie – Pregenerovanie (tlačítko „Pregenerovať všetko“).

### Mergado tip

Validátor Shoptetu zobrazuje **vždy len prvých 50 chýb**. Je teda potrebné feed v Mergade upravovať **postupne** a validáciu **opakovať**, aby sa vám po vyriešení aktuálnych chýb zobrazia tie následujúce.

Máte otázky ohľadom validácie feedu? Ako na [elementy](https://info.mergado.cz/Pruvodce/elementy.html?_ga=2.62923499.514448869.1530514383-331629111.1508152588) a na [pravidlá](https://info.mergado.cz/Pruvodce/7.Pravidla.html?_ga=2.62923499.514448869.1530514383-331629111.1508152588) vám povie naša nápoveda. Potrebujete pomôcť? [Zavolajte](https://www.mergado.sk/kontakt) nám, alebo nám [napíšte na podporu](http://mergado@mergado.cz).



 

 [    ![](https://www.mergado.sk/sites/default/files/perm/user-avatar/23021961102131189073595481259913287n.jpg)  ](https://www.mergado.sk/blog/lukas-horak)###  [ Lukáš Horák ](https://www.mergado.sk/blog/lukas-horak) 

Lukáš sa v Mergade stará o väčšinu komunikácie v češtine. Prostredníctvom blogu, e‑mailu a sociálnych sietí pravidelne zásobuje čitateľa aktualitami z e‑commerce, novinkami a tipmi z Mergada. Pokiaľ práve nie je copywriter, užíva si príjemné veci ako badminton, výlety medzi utajené skvosty osemdesiatkovej hudby a plody mora podávané s červeným vínom.

 

 

 

 

 

 

 

 

 

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

 

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

### Ako sme s Mergadom previedli e‑shop zo Shoptetu na Shopify: kompletná migrácia bez straty dát

 

 ](https://www.mergado.sk/blog/ako-sme-s-mergadom-previedli-e-shop-zo-shoptetu-na-shopify-kompletna-migracia-bez-straty-dat) 

 [    ![nastavenie uživatelských účtov](https://www.mergado.sk/sites/default/files/perm/image/new-nahladovka-na-blog-1200-x-628-px-38.png)  

### Ako nastavovať užívateľské účty agentúrnych pracovníkov v Mergade

 

 ](https://www.mergado.sk/blog/opravnenie-uzivatelskych-uctov-pre-agentury) 

 [    ![produktový feed 5 najčastějších cýb](https://www.mergado.sk/sites/default/files/perm/image/new-nahladovka-na-blog-1200-x-628-px-19_0.png)  

### 5 najčastejších chýb v produktovom feede a ako ich upraviť v Mergade

 

 ](https://www.mergado.sk/blog/najcastejsie-chyby-v-produktovom-feede) 

 

 

 

## 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()
      }