Lifehack úpravy pro prodejní formulář



  1. Přejmenování textu platební metody Dobírka

Nahraďte text uvnitř uvozovek -> nový název platební metody dobírka -> novým názvem, třeba Doběrečné.

Kód pro "dlaždice":

<script>
  window.onload = function() {
    let element = document.querySelector('.f-collect-on-delivery');
    if (element && element.textContent.includes("Dobírka")) {
      element.textContent = element.textContent.replace("Dobírka", "nový název platební metody dobírka");
    }
  };
</script>

Skript se vkládá na stránku, ve které je prodejní formulář, u kterého chcete přejmenování Dobírky provést.

Kód pro "přepínače":

Ukázka změny názvu platební metody "Twisto" na "Cvičím ihned, platím za 30dní".

<script>
    window.onload = function () {
        let element = document.querySelector('.f-wire-later-twisto');
        if (element && element.textContent.includes("Twisto")) {
            let divElement = element.querySelector('div').querySelector('div')
            divElement.textContent = divElement.textContent.replace("Twisto", "Cvičím ihned, platím za 30dní");
        }
    };
</script>
  1. Doplnění dlaždice Bankovní převod o další text

Výchozí text Bankovní převod se nahradí novým textem mezi posledními uvozovkami - "Bankovní převod s QR kódem". Pro zalomení řádku mezi "Bankovní převod" a "s QR kódem" je potřeba použít nezalomitelné mezery a jednotlivá slova ... s+QR+kódem ... oddělit speciálním znakem.

<script>
  window.onload = function() {
    let element = document.querySelector('.f-wire');
    if (element && element.textContent.includes("Bankovní převod")) {
      element.textContent = element.textContent.replace("Bankovní převod", "Bankovní převod s QR kódem");
    }
  };
</script>


  1. Zvětšení písma chybových hlášek v prodejním formuláři

Kód se vkládá do stránky, ve které je prodejní formulář u kterého chcete provést změnu. Upravuje specificky pouze velikost červených textů chybových hlášek.

Hodnotu 1.5em můžete přepsat na jiné číslo, např. 2em nebo 1.2 em.

<style>
  .f-text-red-600 {
  font-size: 1.5em !important;
}
</style>

  1. Změna textu chybové hlášky u nezaškrnutých obchodních podmínek

Text si lze libovolně přepsat na jiný. Script se vkládá na stránku, ve které je prodejní formulář, u kterého chceme docílit změny.

<script>
  // Vytvoření instance MutationObserver
let observer = new MutationObserver((mutationsList, observer) => {
    // Projděte všechny mutace, které byly zaznamenány
    for(let mutation of mutationsList) {
        // Pokud byla přidána nová uzlová hodnota (textContent)
        if(mutation.type === 'childList') {
            let spanElement = document.querySelector('.f-text-red-600.f-text-xs.f-mt-1 span');

            // Zkontrolujte, zda existuje element <span> a zda obsahuje v jednoduchých uvozovkách definovaný text, který chceme přepsat

            if(spanElement && spanElement.textContent.trim() === 'Musíte sa oboznámiť s obchodnými podmienkami.') {

//následující text v jednoduchých uvozovkách nahrazuje původní text

                spanElement.textContent = 'Je potrebné oboznámiť sa s obchodnými podmienkami.';
                // ukončení sledování mutací, jakmile je text aktualizován
                observer.disconnect();
            }
        }
    }
});

// Nastavení konfigurace observeru
let config = { childList: true, subtree: true };

// Spuštění observeru na celém dokumentu
observer.observe(document, config);
</script>

  1. Přidání popisku produktu do prodejního formuláře

Nejprve je potřeba získat identifikátor produktu z prodejního formuláře.

Poté jej vložit do scriptu níže.

Dále je potřeba nechat si vygenerovat HTML kódy a nahradit hodnotu TEXT za tento kód.

A v poslední řadě vložit tento kód do stránky s formulářem.

Video návod:

<script>
(function () {
    // Upravte třídu, která se nachází na elementu, kam chcete přidat popisek produktu
    let element = document.querySelector('.fapi-product-XXX');

    // Vložte text mezi '' místo hodnoty TEXT, a nahraďte je popiskem produktu, který se má zobrazit
    let text = 'TEXT';

    //Dále neupravujte

    if (!element) {
        console.log('Element not found!');

        return;
    }

    let label = element.querySelector('label');
    let additionalText = document.createElement('div');
    additionalText.innerHTML = text;
    label.appendChild(additionalText);
})();
</script>
  1. Změna názvů sekcí prodejního formuláře

V proměnné 'names' se nachází nové názvy sekcí, které si můžete upravit dle potřeby.

<script>
	window.onload = function() {
                //Zde změňte názvy sekcí
		var names = {
			items: 'Položky a ceny',
			miniUpsell: 'Speciální nabídka',
			basicData: 'Fakturační údaje',
			customFields: 'Doplňující informace',
			shippingMethods: 'Způsob doručení',
			paymentMethods: 'Způsob platby',
			result: 'Shrnutí objednávky',
		};

		var elements = [];
		var form = document.getElementsByClassName('fapi-order-form')[0];

		elements['items'] = form.getElementsByClassName('fapi-form-items')[0]?.firstChild.firstChild.firstChild.firstChild;
		elements['miniUpsell'] = form.getElementsByClassName('order-bump')[0]?.firstChild.firstChild;
		elements['basicData'] = form.getElementsByClassName('fapi-form-basic-data')[0]?.firstChild.firstChild.firstChild;
		elements['customFields'] = form.getElementsByClassName('fapi-form-custom-fields')[0]?.firstChild.firstChild.firstChild;
		elements['shippingMethods'] = form.getElementsByClassName('fapi-form-shipping-methods')[0]?.firstChild.firstChild.firstChild;
		elements['shippingMethods'] = form.getElementsByClassName('fapi-form-shipping-methods')[0]?.firstChild.firstChild.firstChild;
		elements['paymentMethods'] = form.getElementsByClassName('fapi-form-payment-methods')[0]?.firstChild.firstChild.firstChild;
		elements['result'] = form.getElementsByClassName('fapi-form-result')[0]?.firstChild.firstChild.firstChild;

		for (var key in elements) {
			if (elements[key] !== undefined && names[key] !== undefined) {
				elements[key].innerHTML = names[key];
			}
		}
	};
</script>
  1. Skrytí možnosti nakupovat na firmu
<script>
  window.onload = function() {
    let elements = document.querySelectorAll('[name$="-show_full_form.name"]');
    elements.forEach(function(element) {
        element.parentElement.style.display = "none";
    });
  };
</script>

Skript se vkládá na stránku, ve které je prodejní formulář, u kterého chcete skrýt možnost nakoupit na firmu.


  1. Zobrazit pouze platební metodu twisto a všechny ostatní skrýt

Funguje pro prodejní formulář s platebními metodami jako radio buttony.

<script>
    window.onload = function () {
        let elements = document.querySelectorAll('input[name="payment_type"]');

		for (let i = 0; i < elements.length; i++) {
			if (elements[i].parentNode.classList.contains('f-wire-later-twisto') || elements[i].parentNode.classList.contains('f-wire-part-twisto')) {
				continue;
			}

			elements[i].parentNode.parentNode.style.display = "none";
		}
    };
</script>

  1. Skrytí platebních metod (dlaždice)

Pomocí toho scriptu můžeme skrýt jakokouliv platební metodu z prodejního formuláře, v případě že jsou platební metody zobrazený jako dlaždice.

<script>
    window.onload = function () {
       let selectors = ['.f-wire-later-skippay', '.f-wire-platimpak', '.f-wire-part-skippay', '.f-wire-later-twisto', '.f-wire-twisto'];

       for (let i = 0; i < selectors.length; i++) {
          document.querySelectorAll(selectors[i]).forEach(function (element) {
             element.parentNode.remove();
          });
       }
    };
</script>

Popis:

'.f-wire-later-skippay' - je selector podle kterého se najde platební metoda a smaže se z formuláře

Selector najde tak že kliknete pravým tlačítkem na dlaždici, vyberete možnost prozkoumat/inspect.

A v kódu poté naleznete selector. Tento select doplňte do seznamu. Viz screenshot.

  1. Předvybrání platební metody dobírka

Pokud chcete předvybrat platební metodu dobírkou, vložte k prodejnímu fomruláři tento script.

<script>
    window.onload = function () {
        let element = document.querySelector('.f-collect-on-delivery');
        if (element) {
            element.click();
        }
    };
</script>

Změna textu a ceny položky pro “Balíček č. 1”

Pomocí následujícího kódu můžete přejmenovat název a cenu konkrétní položky v prodejním formuláři. Text v uvozovkách můžete libovolně upravit.

<script>
    window.onload = function () {
        // Najde element s názvem balíčku
        const packageTitle = document.querySelector('.fapi-form-item-group-0 .fapi-form-basic-block-title');
        console.log(packageTitle); // Debug, zobrazí element v konzoli
        if (packageTitle) {
            // Změna textu názvu balíčku
            packageTitle.textContent = "Balíček č. 1 - Speciální nabídka";
        }
    }
</script>

Popis:

  • Třída fapi-form-item-group-0: Identifikuje skupinu položek v prodejním formuláři.
  • Třída fapi-form-basic-block-title: Označuje konkrétní element obsahující název balíčku.
  • textContent: Používá se ke změně obsahu textu daného elementu.

Použití:

  1. Vložte tento skript na stránku, kde je prodejní formulář.
  2. Ujistěte se, že správně zacílené třídy odpovídají elementům v HTML formuláře.
  3. Ověřte zda se text automaticky upraví.

Nebo vložte script do políčka Trakovací kód (HTML).

POZOR! Trakovací kód se nespouští v administraci FAPI, ověření kódu uděláte na stránce kde máte vložný prodejní formulář nebo na čisté stránce prodejního formuláře.

Změna textu "Název firmy" na vlastní

Pro změnu textu Název firmy můžete použít tento script:

<script>
        const companyLabels = document.querySelectorAll('label[for$="-company"]');

        companyLabels.forEach(label => {
            if (label) {
                label.textContent = "Company / University";
            }
        });
</script>

Použití:

  1. Vložte tento skript na stránku, kde je prodejní formulář.
  2. Ujistěte se, že správně zacílené třídy odpovídají elementům v HTML formuláře.
  3. Ověřte zda se text automaticky upraví.

Nebo vložte script do políčka Trakovací kód (HTML).

POZOR! Trakovací kód se nespouští v administraci FAPI, ověření kódu uděláte na stránce kde máte vložný prodejní formulář nebo na čisté stránce prodejního formuláře.

Našli jste odpověď? Děkujeme za zpětnou vazbu. Vaši zpětnou vazbu se nepodařilo odeslat. Zkuste to prosím později.

Potřebujete pomoc? Kontaktujte nás Kontaktujte nás