Cookies 2022

Detailní popis pro přidání cookies

(vše zde uvedené se odvíjí dle projektu Dřevojas.cz a cykloanimal.cz)

  1. Zjišťování - Zjistit typ modalu (remodal/bootstrap modal) pokud nastaveno, tak se musí nastavit viz zde. Zjistíme, jaký všechny hlášky a nastavení bude potřeba nějak ošetřovat (projdeme hlášky a najdeme ty, kde se nachází scripty) podle toho se rozhodneme odkud vezmeme data (pro remodal z drevojasu a pro bootstrap modal z cykloanimal)
  2. Klonování - Naklonovat soubory (relativní cesta z root složky): resources/js/cookieSettings.js; app/utils/CookieSettings.php; app/model/CookieStatistics.php; 
    resources/(less nebo scss)/front/components/cookies.less; app/presenters/Front/templates/Homepage/partials/cookies.latte
  3. Přidávání textů - do app/router/RouterFactory.php přidáme řádek, který obsahuje "Homepage:cookieStatisticCreate".

    Do resources/less/front/app.less přidáme "@import "./components/cookies";"

    Do app/presenters/Front/HomepagePresenter.php přidáme celou funkci "actionCookieStatisticCreate".

    Do app/presenters/Front/BasePresenter.php přidáme funkci "handleUpdateCookies" a do funkce beforeRender přidáme řádky cookieVariant, cookieSettings a template->loadedCookies.
    V basePresenteru ještě přidáme inject $cookieStatistics a inject $iRequest.

    V config.neon přidáme service: - App\Model\CookieStatistics.

    V  app/model/Setting.php můžeme přepsat (po předchozím porovnání, jestli to je možné) funkce config a translation.

    Ve webpack.mix.js přidáme
    .combine('resources/js/cookieSettings.js', 'www/assets/front/top.js')
    a zkompilujeme
    nebo v gulpfile.js přidáme
    .scripts([
    'cookieSettings.js',
    ], 'www/assets/js/top.js')
    a zkompilujeme.

    Do @layout.latte pro front přidáme 
    {default $cookieVariant = 'modal'}
    <script>
    	var cookieVariant = '{$cookieVariant|noescape}'
    	var user_id = {$user->getId()}
    	var lang = {$lang_id}
    	var updateCookiesLink = {link updateCookies!}
    </script>
    <script src="{$template->elixir('assets/js/top.js')}"></script>
  4. Upravy - v cookieSettings.js nastavíme const MODAL_TYPE na jeden z modalů co jsme zjistili v prvním kroku (Vždy zadáváme proměnnou namísto textu pro univerzálnostTyp modalu
    v beforeRender nastavime v cookieVariant zda se jedná o A/B testování (přidáme funkci cookieRandomizer) nebo zda přidáváme bar nebo modal (přidáme pomocí příslušných proměnných z CookiesSettings.php)
    ve složce Admin najdeme v templates/partials soubor tinymce.js (je možna může být i latte) a všem property "extended_valid_elements" přidáme text ",a[onclick|href|title|class|target|rel]"
  5. Databáze - zkopírujeme hlášky se section "cookies" a přidáme tabulku "cookie_statistics"
    Hlášky:
    Se section
    INSERT INTO `settings_translation` (`id`, `lang`, `name`, `section`, `value`, `type`) VALUES
    ('COOKIE_BOX_ANALYTICS_FUNCTIONS',	1,	'Cookie - box - analytické funkce',	'Cookie',	'Analytické cookies',	'input'),
    ('COOKIE_BOX_ANALYTICS_FUNCTIONS_LEAD',	1,	'Cookie - box - analytické funkce - text',	'Cookie',	'Pomáhají sledovat počet návštěvníků a také z jakého zdroje provoz pochází, což nám umožňuje zlepšovat výkon stránky. Můžeme s nimi určovat, které stránky jsou nejoblíbenější a které nejsou oblíbené, a také sledovat, jakým způsobem se návštěvníci na webu pohybují. Používáme pouze agregované údaje, ze kterých nepoznáme vaši identitu. Pokud používáme cookies třetích stran, může náš partner tyto informace propojit s jinými údaji, které o vás má třeba proto, že využíváte jejich služby. Pokud soubory cookie nepovolíte, nebudeme vědět, kdy jste navštívili naši stránku.',	'textarea'),
    ('COOKIE_BOX_BTN_NECESSARY_COOKIES',	1,	'Cookie - box - tlačítko - nezbytné cookies',	'Cookie',	'Pouze nezbytné cookies',	'input'),
    ('COOKIE_BOX_COMPANY_TEXT',	1,	'Cookie - box - společnost text',	'Cookie',	' ',	'textarea'),
    ('COOKIE_BOX_CONTROL_HEADING',	1,	'Cookie - box - řízení - nadpis',	'Cookie',	'Řízení předvoleb poskytování souhlasu',	'input'),
    ('COOKIE_BOX_FUNCS_AND_PREFS',	1,	'Cookie - box - funkce',	'Cookie',	'Funkční cookies',	'input'),
    ('COOKIE_BOX_FUNCS_AND_PREFS_LEAD',	1,	'Cookie - box - funkce - text',	'Cookie',	'Funkční cookies pomáhají naší stránce poskytnout vám pohodlnější zážitek z návštěvy. Můžeme je nastavovat my nebo poskytovatelé třetí strany, jejichž služby na stránkách používáme. Pokud soubory cookie nepovolíte, je možné, že některé nebo všechny tyto služby nebudou fungovat správně.',	'textarea'),
    ('COOKIE_BOX_MANAGE',	1,	'Cookie - box - spravovat',	'Cookie',	'Spravovat cookies',	'input'),
    ('COOKIE_BOX_NECESSARY_COOKIES',	1,	'Cookie - box - nezbytné cookies',	'Cookie',	'Nezbytné cookies',	'input'),
    ('COOKIE_BOX_NECESSARY_COOKIES_LEAD',	1,	'Cookie - box - nezbytné cookies - text',	'Cookie',	'Tyto cookies musíme uložit do vašeho prohlížeče, aby se vám naše stránka zobrazila správně a správně fungovala. Nezbytná cookies jsou vždy povolena.',	'textarea'),
    ('COOKIE_BOX_PERSONALIZED',	1,	'Cookie - box - personalizované nabídky',	'Cookie',	'Reklamní cookies',	'input'),
    ('COOKIE_BOX_PERSONALIZED_LEAD',	1,	'Cookie - box - personalizované nabídky - text',	'Cookie',	'Tyto soubory cookies mohou na naší stránce nastavovat partneři z reklamy. Mohou je používat na vytváření profilů o vašich zájmech a podle nich vám zobrazovat reklamy i na jiných stránkách. Neukládají ale vaše osobní informace přímo, nýbrž přes jedinečné identifikátory prohlížeče a internetového zařízení. Pokud je nepovolíte, bude se vám zobrazovat na stránkách méně cílená propagace.',	'textarea'),
    ('COOKIE_BOX_PRIVACY_CENTRE',	1,	'Cookie - box - centrum soukromí',	'Cookie',	'Nástroj pro výběr cookies',	'input'),
    ('COOKIE_BOX_PRIVACY_CENTRE_ALLOW_ALL',	1,	'Cookie - box - povolit vše',	'Cookie',	'Povolit vše',	'input'),
    ('COOKIE_BOX_PRIVACY_CENTRE_TEXT',	1,	'Cookie - box - centrum soukromí - text',	'Cookie',	'Při návštěvě naší webové stránky ukládáme do vašeho prohlížeče informace související s vaší návštěvou, většinou ve formě souborů cookie. Jde zejména o informace o vašich preferencích, zařízení, nebo o tom, co jste si prohlíželi. Zpravidla nesbíráme informace o vaší identitě. Informace z cookies používáme k tomu, abychom náš web vyladili k vaší spokojenosti, k vytváření relevantních marketingových kampaní a sdílení obsahu na sociálních sítích. Zde si můžete zvolit, jaké soubory cookies můžeme do vašeho prohlížeče uložit. <a href=\"/cs/m-673-zasady-zpracovani-souboru-cookies\">Podrobné informace</a>',	'textarea'),
    ('COOKIE_BOX_VALUE_PRIVACY_HEADING',	1,	'Cookie - box - nadpis - soukromí',	'Cookie',	'Vážíme si vašeho soukromí',	'input'),
    ('COOKIE_BOX_VALUE_PRIVACY_TEXT',	1,	'Cookie - box - text - soukromí',	'Cookie',	'K analýze návštěvnosti a funkcí webu, ukládání vašeho nastavení a personalizaci obsahu a reklam využíváme cookies. Informace o tom, jak náš web používáte, sdílíme se svými partnery pro sociální média, inzerci a analýzy, kteří mohou být ze zemí mimo EU. Partneři tyto údaje mohou zkombinovat s dalšími informacemi, které jste jim poskytli nebo které získali v důsledku toho, že používáte jejich služby. <a  href=\"/cs/m-673-zasady-zpracovani-souboru-cookies\">Podrobné informace</a>',	'textarea'),
    ('COOKIE_TEXT',	1,	'Cookie - text',	'Cookie',	'Tento web používá k poskytování služeb, personalizaci reklam a analýze návštěvnosti soubory cookie. <button class=\"btn btn-xs\">V pořádku</button> <a href=\"//www.google.com/intl/cs/policies/technologies/cookies/\">Další informace</a>',	'textarea'),
    ('JS_COOKIE_BOX_ACCEPT',	1,	'Cookie - box - přijmout vše',	'Cookie',	'Přijmout',	'input'),
    ('JS_COOKIE_BOX_ACCEPT_ALL',	1,	'Cookie - box - přijmout vše',	'Cookie',	'Přijmout vše',	'input');

    Bez section
    INSERT INTO `settings_translation` (`id`, `lang`, `name`, `value`, `type`) VALUES
    ('COOKIE_BOX_ANALYTICS_FUNCTIONS',	1,	'Cookie - box - analytické funkce',	'Analytické cookies',	'input'),
    ('COOKIE_BOX_ANALYTICS_FUNCTIONS_LEAD',	1,	'Cookie - box - analytické funkce - text',	'Pomáhají sledovat počet návštěvníků a také z jakého zdroje provoz pochází, což nám umožňuje zlepšovat výkon stránky. Můžeme s nimi určovat, které stránky jsou nejoblíbenější a které nejsou oblíbené, a také sledovat, jakým způsobem se návštěvníci na webu pohybují. Používáme pouze agregované údaje, ze kterých nepoznáme vaši identitu. Pokud používáme cookies třetích stran, může náš partner tyto informace propojit s jinými údaji, které o vás má třeba proto, že využíváte jejich služby. Pokud soubory cookie nepovolíte, nebudeme vědět, kdy jste navštívili naši stránku.',	'textarea'),
    ('COOKIE_BOX_BTN_NECESSARY_COOKIES',	1,	'Cookie - box - tlačítko - nezbytné cookies',	'Pouze nezbytné cookies',	'input'),
    ('COOKIE_BOX_COMPANY_TEXT',	1,	'Cookie - box - společnost text',	' ',	'textarea'),
    ('COOKIE_BOX_CONTROL_HEADING',	1,	'Cookie - box - řízení - nadpis',	'Řízení předvoleb poskytování souhlasu',	'input'),
    ('COOKIE_BOX_FUNCS_AND_PREFS',	1,	'Cookie - box - funkce',	'Funkční cookies',	'input'),
    ('COOKIE_BOX_FUNCS_AND_PREFS_LEAD',	1,	'Cookie - box - funkce - text',	'Funkční cookies pomáhají naší stránce poskytnout vám pohodlnější zážitek z návštěvy. Můžeme je nastavovat my nebo poskytovatelé třetí strany, jejichž služby na stránkách používáme. Pokud soubory cookie nepovolíte, je možné, že některé nebo všechny tyto služby nebudou fungovat správně.',	'textarea'),
    ('COOKIE_BOX_MANAGE',	1,	'Cookie - box - spravovat',	'Spravovat cookies',	'input'),
    ('COOKIE_BOX_NECESSARY_COOKIES',	1,	'Cookie - box - nezbytné cookies',	'Nezbytné cookies',	'input'),
    ('COOKIE_BOX_NECESSARY_COOKIES_LEAD',	1,	'Cookie - box - nezbytné cookies - text',	'Tyto cookies musíme uložit do vašeho prohlížeče, aby se vám naše stránka zobrazila správně a správně fungovala. Nezbytná cookies jsou vždy povolena.',	'textarea'),
    ('COOKIE_BOX_PERSONALIZED',	1,	'Cookie - box - personalizované nabídky',	'Reklamní cookies',	'input'),
    ('COOKIE_BOX_PERSONALIZED_LEAD',	1,	'Cookie - box - personalizované nabídky - text',	'Tyto soubory cookies mohou na naší stránce nastavovat partneři z reklamy. Mohou je používat na vytváření profilů o vašich zájmech a podle nich vám zobrazovat reklamy i na jiných stránkách. Neukládají ale vaše osobní informace přímo, nýbrž přes jedinečné identifikátory prohlížeče a internetového zařízení. Pokud je nepovolíte, bude se vám zobrazovat na stránkách méně cílená propagace.',	'textarea'),
    ('COOKIE_BOX_PRIVACY_CENTRE',	1,	'Cookie - box - centrum soukromí',	'Nástroj pro výběr cookies',	'input'),
    ('COOKIE_BOX_PRIVACY_CENTRE_ALLOW_ALL',	1,	'Cookie - box - povolit vše',	'Povolit vše',	'input'),
    ('COOKIE_BOX_PRIVACY_CENTRE_TEXT',	1,	'Cookie - box - centrum soukromí - text',	'Při návštěvě naší webové stránky ukládáme do vašeho prohlížeče informace související s vaší návštěvou, většinou ve formě souborů cookie. Jde zejména o informace o vašich preferencích, zařízení, nebo o tom, co jste si prohlíželi. Zpravidla nesbíráme informace o vaší identitě. Informace z cookies používáme k tomu, abychom náš web vyladili k vaší spokojenosti, k vytváření relevantních marketingových kampaní a sdílení obsahu na sociálních sítích. Zde si můžete zvolit, jaké soubory cookies můžeme do vašeho prohlížeče uložit. <a href=\"/cs/m-673-zasady-zpracovani-souboru-cookies\">Podrobné informace</a>',	'textarea'),
    ('COOKIE_BOX_VALUE_PRIVACY_HEADING',	1,	'Cookie - box - nadpis - soukromí',	'Vážíme si vašeho soukromí',	'input'),
    ('COOKIE_BOX_VALUE_PRIVACY_TEXT',	1,	'Cookie - box - text - soukromí',	'K analýze návštěvnosti a funkcí webu, ukládání vašeho nastavení a personalizaci obsahu a reklam využíváme cookies. Informace o tom, jak náš web používáte, sdílíme se svými partnery pro sociální média, inzerci a analýzy, kteří mohou být ze zemí mimo EU. Partneři tyto údaje mohou zkombinovat s dalšími informacemi, které jste jim poskytli nebo které získali v důsledku toho, že používáte jejich služby. <a  href=\"/cs/m-673-zasady-zpracovani-souboru-cookies\">Podrobné informace</a>',	'textarea'),
    ('COOKIE_TEXT',	1,	'Cookie - text',	'Tento web používá k poskytování služeb, personalizaci reklam a analýze návštěvnosti soubory cookie. <button class=\"btn btn-xs\">V pořádku</button> <a href=\"//www.google.com/intl/cs/policies/technologies/cookies/\">Další informace</a>',	'textarea'),
    ('JS_COOKIE_BOX_ACCEPT',	1,	'Cookie - box - přijmout vše',	'Přijmout',	'input'),
    ('JS_COOKIE_BOX_ACCEPT_ALL',	1,	'Cookie - box - přijmout vše',	'Přijmout vše',	'input');


    Vytvoření databáze

    SET NAMES utf8;
    SET time_zone = '+00:00';
    SET foreign_key_checks = 0;
    SET sql_mode = 'NO_AUTO_VALUE_ON_ZERO';
    
    DROP TABLE IF EXISTS `cookie_statistics`;
    CREATE TABLE `cookie_statistics` (
      `user_id` int(11) DEFAULT NULL,
      `lang` int(11) NOT NULL DEFAULT 1,
      `variant` varchar(255) COLLATE utf8_czech_ci NOT NULL,
      `datetime` datetime NOT NULL DEFAULT current_timestamp(),
      `change` int(1) NOT NULL DEFAULT 0,
      `set_values` varchar(255) COLLATE utf8_czech_ci DEFAULT '',
      `all_set` int(11) NOT NULL DEFAULT 0
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_czech_ci;

Nevíte si rady?
Neváhejte se zeptat

Nevíte si rady nebo potřebujete něco konzultovat? Nápovědu stále zdokonalujeme na základě vašich požadavků a postřehů. Uvádíme co nejvíce možných variant, které používáme na řešení jednotlivých částí webu, mějte ale na paměti, že projekty řešíme individuálně na základě konkrétních potřeb.

Nádražní 876
560 02 Česká Třebová

honza.cech@czechgroup.cz

+420 774 201 483

*
*