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



 

 1. [  Úvod  ](https://www.mergado.cz/)
2. [     Blog  ](https://www.mergado.cz/blog)
3. [     Pracujeme s Mergadem  ](https://www.mergado.cz/kategorie/pracujeme-s-mergadem)
4. <a class="flex items-center gap-2 hover:underline" href="" itemid="" itemprop="item" itemscope="" itemtype="https://schema.org/Thing">    **Přegenerování, aplikace pravidel aneb jak to celé funguje** </a>
 
  

 

#  **Přegenerování, aplikace pravidel aneb jak to celé funguje** 

 

 

 [    ![](https://www.mergado.cz/sites/default/files/perm/user-avatar/jakubvsaku.jpg)   Jakub Nožička  ](https://www.mergado.cz/blog/jakub-nozicka) [Pracujeme s Mergadem](https://www.mergado.cz/kategorie/pracujeme-s-mergadem) 

18. 7. 2016

2 minuty čtení

 

 

 

 

 

  ![Přegenerování, aplikace pravidel aneb jak to celé funguje](https://www.mergado.cz/sites/default/files/field/image/mergado-snychronizace.png)  

Množí se nám dotazy na to, jak vlastně fungují **synchronizace a aplikace pravidel** v Mergadu. Pojďme si objasnit, k čemu slouží které tlačítko.



 

 

 
                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>
  



 

### Aplikovat pravidla

Pokud pomocí Mergada provedete změny ve vašem datovém feedu, je zapotřebí změny **potvrdit**. Jestliže nejste stoprocentně jistí tím, že vámi nastavené pravidlo provedlo to, co mělo, po dokončení dané úpravy klikněte na tlačítko **Aplikovat pravidla**. Touto volbou se provedené **změny zobrazí v Mergadu**, nepropíší se však okamžitě ve výstupních datech a můžete si je tedy bez obav zkontrolovat než je pošlete do vyhledávače.  
Z rozhovorů s certifikovanými agenturami víme, že u složitějších pravidel si i ti nejzkušenější marketéři své úpravy tímto způsobem kontrolují víceméně vždy. Stačí i drobná nepozornost a namísto změny dostupnosti můžete klientovi přepsat na nulovou hodnotu například všechny ceny, což samozřejmě není žádoucí.  
  
Aplikace pravidel tedy **potvrzuje změny pouze v Mergadu**. **Na výstup je pošle buď cron nebo manuální přegenerování** (obojí popsáno níže).![](/sites/default/files/users/snimek_obrazovky_porizeny_2016-07-18_132133.png)

### Cron

[Cron](https://cs.wikipedia.org/wiki/Cron) je vlastně takový **pořadník zpracování vašich feedů**. Lze si jej představit jako takovou **frontu úkolů**, která postupně a kontinuálně zpracovává data všech eshopů v Mergadu. V momentě, kdy přegeneruje feedy všech eshopů, začíná své “kolečko” znovu.  
Neustále pracujeme na tom, aby se rychlost cronu zvyšovala a zvládl tak častěji aktualizovat vaše data. Aktuálně by se váš eshop měl **přegenerovávat 4x-6x za den**. Eshopy, které často mění data (nejčastěji se jedná o ceny a dostupnost zboží), mohou napsat našim administrátorům pro nastavení častějších automatických synchronizací.

### Přegenerování

Přegenerování, které naleznete v odkazu *Nastavení* dole, je **zároveň aplikace pravidel i poslání provedených změn do výstupního souboru**. Doba přegenerování vašeho eshopu vždy **závisí na velikosti feedu**. Přegenerování je buď **manuální nebo automatické**. Automatické přegenerování je *Cron*, který jsme si popsali výše.  
  
Manuální přegenerování má **dvě možné volby**. Tou první volbou je **Přegenerovat změněné**.  
Tato možnost je rychlejší. Mergado vyhodnotí, které produkty zůstaly nezměněné, ty přeskočí a u změněných produktů provede potřebné změny. Druhou možností je **Přegenerovat vše**. V tomto případě vstupní soubor znovu **stáhne a aktualizuje všechny produkty**. Tato možnost se používá spíše když se stane nějaký průšvih. Například není dostupné vaše xml, vyskytne se nějaká chyba atd. Prostě v případech, kdy je lepší pro jistotu aktualizovat **opravdu všechna data**. Tato varianta **trvá podstatně déle** a **doporučujeme ji používat spíše krizových případech**.![](/sites/default/files/users/snimek_obrazovky_porizeny_2016-07-18_131921.png) Pokud máte ohledně synchronizace či aplikace pravidel jakékoli dotazy, neváhejte nám napsat!



 

- [  Pravidla v Mergadu ](https://www.mergado.cz/tema/pravidla-v-mergadu)
- [  Tipy pro práci s Mergadem ](https://www.mergado.cz/tema/tipy-pro-praci-s-mergadem)
 
 [    ![](https://www.mergado.cz/sites/default/files/perm/user-avatar/jakubvsaku.jpg)  ](https://www.mergado.cz/blog/jakub-nozicka)###  [ Jakub Nožička ](https://www.mergado.cz/blog/jakub-nozicka) 

Kuba vám odpovídal, když jste psali dotaz na Mergadovu českou podporu. Je autorem řady článků a návodů. To proto, že věděl, jaké trable jste řešili nejčastěji. Když zrovna nepracoval pro Mergado, hrál na basu s kapelou Ponk, se kterou získal hudební cenu Anděl.

 

 

 

 

 

 

 

 

 

## 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

 

 ](https://www.mergado.cz/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

 

 ](https://www.mergado.cz/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

 

 ](https://www.mergado.cz/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ů](https://www.mergado.cz/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()
      }