Detailní popis pro přidání cookies
(vše zde uvedené se odvíjí dle projektu Dřevojas.cz a cykloanimal.cz)
- 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)
- 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 - 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
a zkompilujeme.combine('resources/js/cookieSettings.js', 'www/assets/front/top.js')
nebo v gulpfile.js přidáme
a zkompilujeme..scripts([ 'cookieSettings.js', ], 'www/assets/js/top.js')
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>
- 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álnost
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]" - 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ázeSET 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;