- [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. [     Rozšírenia  ](https://www.mergado.sk/kategorie/aplikacie)
4. <a class="flex items-center gap-2 hover:underline" href="" itemid="" itemprop="item" itemscope="" itemtype="https://schema.org/Thing">    **Vyskúšajte vylepšenie v aplikácii URL Checker!** </a>
 
  

 

#  **Vyskúšajte vylepšenie v aplikácii URL Checker!** 

 

 

 [    ![](https://www.mergado.sk/sites/default/files/perm/user-avatar/foto.jpg)   Natália Saganová  ](https://www.mergado.sk/blog/natalia-saganova) [Rozšírenia](https://www.mergado.sk/kategorie/aplikacie) 

21. 9. 2017

2 minúty čítania

 

 

 

 

 

  ![](https://www.mergado.sk/sites/default/files/field/image/url.png)  

Vedieť o tom, že niektoré adresy z vášho XML feedu nefungujú je polovica cesty k ich náprave. A ďalej? Čo napríklad automatická možnosť dočasne chybné adresy skryť a zbytočne neplatiť za ich prekliky do doby, kým budú zase funkčné? URL Checker toto vie!



 

 

 
                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>
  



 

Vedieť o tom, že niektoré adresy z vášho XML feedu nefungujú je polovica cesty k ich náprave. A ďalej? Čo napríklad **automatická možnosť dočasne chybné adresy skryť** a zbytočne neplatiť za ich prekliky do doby, kým budú zase funkčné? URL Checker toto vie!

Aplikácia[ URL Checker](https://store.mergado.com/detail/urlchecker/) má za úlohu, ako názov napovedá, **kontrolovať odkazy** vo vašom feede a **hlásiť vám chyby** – nedostupnosť stránky, zlé presmerovanie, vypršanie časového limitu načítania a podobne.

Od teraz vám ale pomôže aj s nápravou „škôd“. Umožní vám totiž **vykonávať rôzne operácie so stránkami, ktoré nefungujú.**

## Ako vylepšenie funguje?

URL Checker vytvára v Mergade **element URL\_STATUS\_CODE**, do ktorého pomocou pravidla priebežne ukladá **kódy chybových hlásení** zistených počas kontroly URL adries vášho feedu. Zároveň je tento nový element **skrytý**, takže sa vám neprepíše do výstupného feedu.

![](/sites/default/files/users/articles/url_status_code.png)

Vy potom môžete pre rôzne hodnoty tohto elementu **nastavovať pravidlá**. Dokážeme si predstaviť napríklad takéto použitie:

*Chcem vo svojom feede automaticky skrývať produkty, ktorých stránka na e‑shope neexistuje, tj. URL adresa vracia chybu 404. Takáto chyba sa do Mergada prepisuje kódom 404. Vytvorím si tak výber, kde bude element **URL\_STATUS\_CODE rovný 404** a následujúce pravidlo, ktoré skryje všetky takéto produkty.*

![](/sites/default/files/users/articles/url-vyber.png)

![](/sites/default/files/users/articles/url-vyber.png)

Podobne je možné napríklad presmerovať chybné adresy na URL kategórie alebo homepage – záleží na vašich potrebách.

## Zoznam chýb a ich kódov:

Stavové kódy URL =&gt; vysvetlenie nájdete napr. na [Wikipedii](https://en.wikipedia.org/wiki/List_of_HTTP_status_codes).

Okrem stavových kódov sa do elementu URL\_STATUS\_CODE zapisujú tiež následujúce udalosti:

- -1 =&gt; ‘neznámá chyba’
- -2 =&gt; ‘SSL chyba’
- -3 =&gt; ‘Vypršal čas’



 

- [  URL Checker ](https://www.mergado.sk/tema/url-checker)
- [  URL v XML feede ](https://www.mergado.sk/tema/url-v-xml-feede)
 
 [    ![](https://www.mergado.sk/sites/default/files/perm/user-avatar/foto.jpg)  ](https://www.mergado.sk/blog/natalia-saganova)###  [ Natália Saganová ](https://www.mergado.sk/blog/natalia-saganova) 

V Mergade začínala Natálka ako copywriterka a preto môžete naraziť na jej staršie články. Teraz ju najčastejšie uvidíte pred hľadáčikom kamery a pod jej rukami vzniká aj každoročný MergadoFest. Šéfka nášho tímu nepohrdne dobrým jedlom a cestovaním, najlepšie dohromady. Je milovníčka jógy, dobrej knihy a tancovania.

 

 

 

 

 

 

 

 

 

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

 

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

### Ako na GPSR pre Allegro a Kaufland: S týmto sprievodcom sami doplníte e‑shop o požadované údaje

 

 ](https://www.mergado.sk/blog/gpsr-allegro-kaufland) 

 [    ![](https://www.mergado.sk/sites/default/files/perm/image/zobrazovanie-alternativnych-produktov.png)  

### Zobrazujte najvhodnejšie alternatívne produkty. Nakúpi u vás viac zákazníkov

 

 ](https://www.mergado.sk/blog/alternativne-produkty) 

 [    ![ice cat produktový katalog ](https://www.mergado.sk/sites/default/files/perm/image/ice_cat_katalog_clanok_sk.png)  

### Katalóg Icecat vám pomôže doplniť chýbajúce produktové dáta. S Mergadom ho prepojíte aplikáciou Clicking Goat

 

 ](https://www.mergado.sk/blog/icecat-clicking-goat-doplnte-chybajuce-data) 

 

 

 

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