- [Case Studies](/kategorie/case-studies)
- [E‑commerce tipy](/kategorie/e-commerce-tipy)
- [E‑shopová řešení a platformy](/kategorie/e-shopova-reseni-a-platformy)
- [Mergado Pack](/kategorie/mergado-pack)
- [Mergado tipy](/kategorie/mergado-tipy)
- [Novinky v Mergadu](/kategorie/novinky-v-mergadu)
- [Novinky ze srovnávačů](/kategorie/novinky-ze-srovnavacu)
- [Pracujeme s Mergadem](/kategorie/pracujeme-s-mergadem)
- [Rozhovory](/kategorie/rozhovory)
- [Rozšíření](/kategorie/aplikace)
- [S Mergadem do zahraničí](/kategorie/s-mergadem-do-zahranici)
- [Ze života Mergada](/kategorie/ze-zivota-mergada)
 



 

 1. [  Úvod  ](/)
2. [     Blog  ](/blog)
3. [     Pracujeme s Mergadem  ](/kategorie/pracujeme-s-mergadem)
4. <a class="flex items-center gap-2 hover:underline" href="" itemid="" itemprop="item" itemscope="" itemtype="https://schema.org/Thing">    **Jak zmenšit XML se zbožím e‑shopu** </a>
 
  

 

#  **Jak zmenšit XML se zbožím e‑shopu** 

 

 

 [    ![](https://www.mergado.cz/sites/default/files/perm/user-avatar/mergado-pan-100.png)   Pan Mergado  ](/blog/pan-mergado) [Pracujeme s Mergadem](/kategorie/pracujeme-s-mergadem) 

19. 9. 2014

2 minuty čtení

 

 

 

 

 

  ![Mergado a XML file / soubor](https://www.mergado.cz/sites/default/files/field/image/mergado-xml.png)  

Četl jsem dotaz, jak prý *zmenšit* XML soubor s informacemi o zboží e‑shopu. Před časem jsem toto řešil pro AdForm, který měl tehdy limit 10 MB pro jeden XML soubor. Pomocí Mergada je zmenšení jednoduché, a tak jsem sepsal stručný návod.



 

 

 
                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>
  



 

## Proč zmenšovat XML

Protože některé reklamní systémy mají limit na velikost vstupního XML souboru. AdForm např. zpracuje XML soubor, který má méně než 10 MB. Velký XML soubor je tedy třeba *zmenšit*. Obvykle obsahuje XML e‑shopu kromě zboží, které je pro inzerci vhodné, také *méně podstatné* položky. V takovém případě je postup jednoduchý:

1. Přihlaste se do Mergada. Pokud uživatelský účet ještě nemáte, vytvořte si jej.
2. Klikněte na tlačítko *Vytvořit export* a pomocí následujícího průvodce vytvořte export.
3. Na stránce *Produkty* vytvořte výběr zboží, které chcete skrýt. Nejčastěji se vybírá zboží s příliš nízkou cenou (XML elementy PRICE\_VAT nebo PRICE), případně kategorie (element CATEGORYTEXT), výrobce (XML element MANFACTURER) atp. Výběry podporují závorky a operátory AND a OR. Výběrů může být více.
4. Na stránce *Pravidla* vytvořte *nové pravidlo*, zaškrtněte vytvořené výběry zboží, vyberte typ pravidla *„Skrýt produkt“* a uložte.

A to je celé. Po automatickém přegenerování XML Mergadem zbyde ve výstupním XML pouze zboží, které chcete inzerovat a XML soubor se tak zmenší. Pokud přegenerování chcete urychlit, klikněte v *Nastavení* na tlačítko *Přegenerovat export*.

## XML lze tímto postupem také rozdělit na více menších

Podobným způsobem lze vytvořit exportů více a de facto tak jedno vstupní XML rozdělit na několik. To třeba pro případy, kdy chcete inzerovat veškeré položky zboží a nechcete nic skrývat.

## Tento postup lze použít i pro jiné příležitosti

Uvedený postup je obecný. Není limitován jen na změněný AdForm, ale lze jej použít pro Aukro či jiné reklamní systémy. V praxi některé e‑shopy velkoobchodů využívají tento postup např. pro generování dat pro své odběratele.

[Vyzkoušejte si to.](https://app.mergado.com/login/?backlink=uhrwj)



 

- [  AdForm ](/tema/adform)
- [  XML feed ](/tema/xml-feed)
 
 [    ![](https://www.mergado.cz/sites/default/files/perm/user-avatar/mergado-pan-100.png)  ](/blog/pan-mergado)###  [ Pan Mergado ](/blog/pan-mergado) 

Pan Mergado byl největší dříč v našem týmu. Makal ve dne i v noci, aby byla data e‑shopů v tom nejlepším pořádku a přinášela užitek. Zde na blogu psal návody, zprávy i své vlastní názory. No ano, byla to virtuální postava, ale my jsme ho měli rádi. Fakt.

 

 

 

 

 

 

 

 

 

## Mohlo by vás *zajímat*

 

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

### Heureka recenze do Google recenzí: nový postup krok za krokem

 

 ](/blog/heureka-recenze-do-google-recenzi) 

 [    ![](https://www.mergado.cz/sites/default/files/perm/image/shoptet-shopify-prevod.jpg)  

### Jak jsme s Mergadem převedli e‑shop ze Shoptetu na Shopify: kompletní migrace bez ztráty dat

 

 ](/blog/jak-jsme-s-mergadem-prevedli-e-shop-ze-shoptetu-na-shopify-kompletni-migrace-bez-ztraty-dat) 

 [    ![nastavení agenturních účtů](https://www.mergado.cz/sites/default/files/perm/image/new-nahladovka-na-blog-1200-x-628-px-37.png)  

### Jak nastavovat uživatelské účty agenturních pracovníků v Mergadu

 

 ](/blog/opravneni-uzivatelskych-uctu-pro-agentury) 

 

 

 

## Ať vám *nic neunikne*

 Přihlašte se do našeho newsletteru 

   

       

   Přihlášením souhlasíte, že vaše údaje zpracujeme v souladu s podmínkami o [ochraně osobních údajů](/prohlaseni-o-cookies). 

  Děkujeme, úspěšně jste se připojili k našemu seznamu odběratelů. 

 

 

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