Diff
checker
Testo
Testo
Immagini
Documenti
Excel
Cartelle
Legal
Enterprise
Applicazione per desktop
Prezzi
Accedi
Scarica Diffchecker Desktop
Confronta il testo
Trova la differenza tra due file di testo
Strumenti
Cronologia
Editor live
Nascondi spazi bianchi
Comprimi invariate
Senza a capo
Layout
Diviso
Unificato
Livello di dettaglio
Intelligente
Parola
Carattere
Stili testo
Modifica aspetto
Evidenziazione sintassi
Scegli sintassi
Ignora
Trasforma testo
Vai alla prima modifica
Modifica input
Diffchecker Desktop
Il modo più sicuro per usare Diffchecker. Ottieni l'app Diffchecker Desktop: i tuoi diff non lasciano mai il tuo computer!
Ottieni Desktop
private-content.phtml
Creato
3 anni fa
Il diff non scade mai
Eliminare
Esporta
Condividere
Spiegare
1 rimozione
Linee
Totale
Rimosso
Caratteri
Totale
Rimosso
Per continuare a utilizzare questa funzione, aggiorna a
Diff
checker
Pro
Visualizza prezzi
149 linee
Copia tutti
54 aggiunte
Linee
Totale
Aggiunto
Caratteri
Totale
Aggiunto
Per continuare a utilizzare questa funzione, aggiorna a
Diff
checker
Pro
Visualizza prezzi
199 linee
Copia tutti
Copia
Copiato
Copia
Copiato
<?php
/**
* Hyvä Themes - https://hyva.io
* Copyright © Hyvä Themes 2020-present. All rights reserved.
* This product is licensed per Magento install
* See https://hyva.io/license
*/
declare(strict_types=1);
/** @var Template $block */
/** @var Escaper $escaper */
use Magento\Framework\Escaper;
use Magento\Framework\View\Element\Template;
?>
<script>
<script>
'use strict';
'use strict';
{
{
const private_content_key = 'mage-cache-storage';
const private_content_key = 'mage-cache-storage';
const private_content_expire_key = 'mage-cache-timeout';
const private_content_expire_key = 'mage-cache-timeout';
const private_content_version_key = 'private_content_version';
const private_content_version_key = 'private_content_version';
const section_data_ids_key = 'section_data_ids';
const section_data_ids_key = 'section_data_ids';
const mage_cache_session_id_key = 'mage-cache-sessid';
const mage_cache_session_id_key = 'mage-cache-sessid';
const last_visited_store_key = 'last_visited_store';
const last_visited_store_key = 'last_visited_store';
const ttl = 3600;
const ttl = 3600;
Copia
Copiato
Copia
Copiato
<?php
/**
* The `hyva` JS namespace is being set by Hyva_Theme/src/view/frontend/templates/page/js/hyva.phtml
* and should be included through Hyva_Theme/src/view/frontend/layout/default_hyva.xml
*/
?>
if (typeof hyva === 'undefined' || (!hyva.getBrowserStorage || !hyva.getCookie || !hyva.setCookie)) {
if (typeof hyva === 'undefined' || (!hyva.getBrowserStorage || !hyva.getCookie || !hyva.setCookie)) {
console.warn("Hyvä helpers are not loaded yet. Make sure they are included before this script");
console.warn("Hyvä helpers are not loaded yet. Make sure they are included before this script");
}
}
function loadSectionData () {
function loadSectionData () {
const browserStorage = hyva.getBrowserStorage();
const browserStorage = hyva.getBrowserStorage();
if (!browserStorage) {
if (!browserStorage) {
typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
[{
[{
type: "warning",
type: "warning",
Copia
Copiato
Copia
Copiato
text: "
Please enable LocalStorage in your browser.
"
text: "
<?= $escaper->escapeHtml(__('
Please enable LocalStorage in your browser.
')) ?>
"
}]
}]
);
);
return;
return;
}
}
try {
try {
let isInvalid = false;
let isInvalid = false;
Copia
Copiato
Copia
Copiato
<?php
/**
* Usually store switch is made via POST requests, but if this happen on other ways (eg. the customer
* changing manually the base url, or landing from search engines on a different store) we need to
* request again private contents
*/
?>
if (hyva.getCookie(last_visited_store_key) !== CURRENT_STORE_CODE) {
if (hyva.getCookie(last_visited_store_key) !== CURRENT_STORE_CODE) {
isInvalid = true;
isInvalid = true;
}
}
hyva.setCookie(last_visited_store_key, CURRENT_STORE_CODE, false, false);
hyva.setCookie(last_visited_store_key, CURRENT_STORE_CODE, false, false);
Copia
Copiato
Copia
Copiato
<?php
/**
* The `mage-cache-sessid` cookie is being unset from backend to
* indicate that sectionData is invalidated and needs to be reloaded
* in the frontend. So we mark it as invalid, and then re-set the
* `mage-cache-sessid` cookie
*/
?>
if (!hyva.getCookie(mage_cache_session_id_key)) {
if (!hyva.getCookie(mage_cache_session_id_key)) {
isInvalid = true;
isInvalid = true;
const skipSetDomain = true;
const skipSetDomain = true;
const days = false;
const days = false;
hyva.setCookie(mage_cache_session_id_key, true, days, skipSetDomain)
hyva.setCookie(mage_cache_session_id_key, true, days, skipSetDomain)
}
}
const cookieVersion = hyva.getCookie(private_content_version_key);
const cookieVersion = hyva.getCookie(private_content_version_key);
const storageVersion = browserStorage.getItem(private_content_version_key);
const storageVersion = browserStorage.getItem(private_content_version_key);
if (cookieVersion && !storageVersion || cookieVersion !== storageVersion) {
if (cookieVersion && !storageVersion || cookieVersion !== storageVersion) {
isInvalid = true;
isInvalid = true;
}
}
const privateContentExpires = browserStorage.getItem(private_content_expire_key);
const privateContentExpires = browserStorage.getItem(private_content_expire_key);
if (privateContentExpires && new Date(privateContentExpires) < new Date()) {
if (privateContentExpires && new Date(privateContentExpires) < new Date()) {
browserStorage.removeItem(private_content_key);
browserStorage.removeItem(private_content_key);
}
}
if (isInvalid) {
if (isInvalid) {
fetchPrivateContent([]);
fetchPrivateContent([]);
} else if (cookieVersion && storageVersion && cookieVersion === storageVersion) {
} else if (cookieVersion && storageVersion && cookieVersion === storageVersion) {
const privateContent = JSON.parse(browserStorage.getItem(private_content_key));
const privateContent = JSON.parse(browserStorage.getItem(private_content_key));
if (
if (
privateContent &&
privateContent &&
privateContentExpires &&
privateContentExpires &&
privateContent.cart &&
privateContent.cart &&
privateContent.customer
privateContent.customer
) {
) {
dispatchPrivateContent(privateContent);
dispatchPrivateContent(privateContent);
} else {
} else {
fetchPrivateContent([]);
fetchPrivateContent([]);
}
}
} else {
} else {
dispatchPrivateContent({});
dispatchPrivateContent({});
}
}
} catch (error) {
} catch (error) {
console.warn('Error retrieving Private Content:', error);
console.warn('Error retrieving Private Content:', error);
}
}
}
}
Copia
Copiato
Copia
Copiato
window.addEventListener('
load
', loadSectionData);
window.addEventListener('
alpine:initialized
', loadSectionData);
window.addEventListener('reload-customer-section-data', loadSectionData);
window.addEventListener('reload-customer-section-data', loadSectionData);
function dispatchPrivateContent(data) {
function dispatchPrivateContent(data) {
const privateContentEvent = new CustomEvent("private-content-loaded", {
const privateContentEvent = new CustomEvent("private-content-loaded", {
detail: {
detail: {
data: data
data: data
}
}
});
});
window.dispatchEvent(privateContentEvent);
window.dispatchEvent(privateContentEvent);
}
}
Copia
Copiato
Copia
Copiato
<?php
/**
* We use 'X-Requested-With': 'XMLHttpRequest' to prevent Magento from clearing the customer session
* in \Magento\PageCache\Model\DepersonalizeChecker::checkIfDepersonalize
* Otherwise, \Magento\Tax\Plugin\Checkout\CustomerData\Cart::afterGetSectionData can't add tax to
* cart items.
*/
?>
function fetchPrivateContent(sections) {
function fetchPrivateContent(sections) {
fetch(`${BASE_URL}customer/section/load/?sections=${encodeURIComponent(sections.join(','))}`, {
fetch(`${BASE_URL}customer/section/load/?sections=${encodeURIComponent(sections.join(','))}`, {
method: 'GET',
method: 'GET',
headers: {
headers: {
'Content-Type': 'application/json',
'Content-Type': 'application/json',
'X-Requested-With': 'XMLHttpRequest'
'X-Requested-With': 'XMLHttpRequest'
}
}
})
})
.then(response => response.json())
.then(response => response.json())
.then(
.then(
data => {
data => {
if (data) {
if (data) {
try {
try {
const browserStorage = hyva.getBrowserStorage();
const browserStorage = hyva.getBrowserStorage();
// merge new data preserving non-invalidated sections
// merge new data preserving non-invalidated sections
Copia
Copiato
Copia
Copiato
const oldSectionData = JSON.parse(browserStorage.getItem(private_content_key) || '{}')
;
const oldSectionData = JSON.parse(browserStorage.getItem(private_content_key) || '{}')
|| {}
;
Copia
Copiato
Copia
Copiato
<?php
/** Ensure no checkout data remains after logout (from Luma checkout) */
?>
if ((! data.cart || ! data.cart.cartId) && oldSectionData['checkout-data']) {
if ((! data.cart || ! data.cart.cartId) && oldSectionData['checkout-data']) {
delete oldSectionData['checkout-data'];
delete oldSectionData['checkout-data'];
}
}
const newSectionData = Object.assign(oldSectionData, data);
const newSectionData = Object.assign(oldSectionData, data);
dispatchPrivateContent(newSectionData);
dispatchPrivateContent(newSectionData);
// don't persist messages, they've been dispatched already
// don't persist messages, they've been dispatched already
if (newSectionData.messages && newSectionData.messages.messages ) {
if (newSectionData.messages && newSectionData.messages.messages ) {
newSectionData.messages.messages = [];
newSectionData.messages.messages = [];
}
}
browserStorage.setItem(private_content_key, JSON.stringify(newSectionData));
browserStorage.setItem(private_content_key, JSON.stringify(newSectionData));
const expiresAt = new Date(Date.now() + (ttl * 1000)).toISOString();
const expiresAt = new Date(Date.now() + (ttl * 1000)).toISOString();
browserStorage.setItem(private_content_expire_key, expiresAt);
browserStorage.setItem(private_content_expire_key, expiresAt);
const newCookieVersion = hyva.getCookie(private_content_version_key);
const newCookieVersion = hyva.getCookie(private_content_version_key);
browserStorage.setItem(private_content_version_key, newCookieVersion);
browserStorage.setItem(private_content_version_key, newCookieVersion);
// We don't need the section_data_ids in Hyvä, but we store them for compatibility
// We don't need the section_data_ids in Hyvä, but we store them for compatibility
// with Luma Fallback. Otherwise, not all sections are loaded in Luma Checkout
// with Luma Fallback. Otherwise, not all sections are loaded in Luma Checkout
hyva.setCookie(
hyva.setCookie(
section_data_ids_key,
section_data_ids_key,
JSON.stringify(
JSON.stringify(
Object.keys(data).reduce((sectionDataIds, sectionKey) => {
Object.keys(data).reduce((sectionDataIds, sectionKey) => {
sectionDataIds[sectionKey] = data[sectionKey]['data_id'];
sectionDataIds[sectionKey] = data[sectionKey]['data_id'];
return sectionDataIds;
return sectionDataIds;
}, {})
}, {})
),
),
false,
false,
true
true
);
);
} catch (error) {
} catch (error) {
console.warn("Couldn't store privateContent", error);
console.warn("Couldn't store privateContent", error);
}
}
}
}
}
}
);
);
}
}
}
}
</script>
</script>
Copia
Copiato
Copia
Copiato
Diff salvati
Testo originale
Apri file
<script> 'use strict'; { const private_content_key = 'mage-cache-storage'; const private_content_expire_key = 'mage-cache-timeout'; const private_content_version_key = 'private_content_version'; const section_data_ids_key = 'section_data_ids'; const mage_cache_session_id_key = 'mage-cache-sessid'; const last_visited_store_key = 'last_visited_store'; const ttl = 3600; if (typeof hyva === 'undefined' || (!hyva.getBrowserStorage || !hyva.getCookie || !hyva.setCookie)) { console.warn("Hyvä helpers are not loaded yet. Make sure they are included before this script"); } function loadSectionData () { const browserStorage = hyva.getBrowserStorage(); if (!browserStorage) { typeof window.dispatchMessages !== "undefined" && window.dispatchMessages( [{ type: "warning", text: "Please enable LocalStorage in your browser." }] ); return; } try { let isInvalid = false; if (hyva.getCookie(last_visited_store_key) !== CURRENT_STORE_CODE) { isInvalid = true; } hyva.setCookie(last_visited_store_key, CURRENT_STORE_CODE, false, false); if (!hyva.getCookie(mage_cache_session_id_key)) { isInvalid = true; const skipSetDomain = true; const days = false; hyva.setCookie(mage_cache_session_id_key, true, days, skipSetDomain) } const cookieVersion = hyva.getCookie(private_content_version_key); const storageVersion = browserStorage.getItem(private_content_version_key); if (cookieVersion && !storageVersion || cookieVersion !== storageVersion) { isInvalid = true; } const privateContentExpires = browserStorage.getItem(private_content_expire_key); if (privateContentExpires && new Date(privateContentExpires) < new Date()) { browserStorage.removeItem(private_content_key); } if (isInvalid) { fetchPrivateContent([]); } else if (cookieVersion && storageVersion && cookieVersion === storageVersion) { const privateContent = JSON.parse(browserStorage.getItem(private_content_key)); if ( privateContent && privateContentExpires && privateContent.cart && privateContent.customer ) { dispatchPrivateContent(privateContent); } else { fetchPrivateContent([]); } } else { dispatchPrivateContent({}); } } catch (error) { console.warn('Error retrieving Private Content:', error); } } window.addEventListener('load', loadSectionData); window.addEventListener('reload-customer-section-data', loadSectionData); function dispatchPrivateContent(data) { const privateContentEvent = new CustomEvent("private-content-loaded", { detail: { data: data } }); window.dispatchEvent(privateContentEvent); } function fetchPrivateContent(sections) { fetch(`${BASE_URL}customer/section/load/?sections=${encodeURIComponent(sections.join(','))}`, { method: 'GET', headers: { 'Content-Type': 'application/json', 'X-Requested-With': 'XMLHttpRequest' } }) .then(response => response.json()) .then( data => { if (data) { try { const browserStorage = hyva.getBrowserStorage(); // merge new data preserving non-invalidated sections const oldSectionData = JSON.parse(browserStorage.getItem(private_content_key) || '{}'); if ((! data.cart || ! data.cart.cartId) && oldSectionData['checkout-data']) { delete oldSectionData['checkout-data']; } const newSectionData = Object.assign(oldSectionData, data); dispatchPrivateContent(newSectionData); // don't persist messages, they've been dispatched already if (newSectionData.messages && newSectionData.messages.messages ) { newSectionData.messages.messages = []; } browserStorage.setItem(private_content_key, JSON.stringify(newSectionData)); const expiresAt = new Date(Date.now() + (ttl * 1000)).toISOString(); browserStorage.setItem(private_content_expire_key, expiresAt); const newCookieVersion = hyva.getCookie(private_content_version_key); browserStorage.setItem(private_content_version_key, newCookieVersion); // We don't need the section_data_ids in Hyvä, but we store them for compatibility // with Luma Fallback. Otherwise, not all sections are loaded in Luma Checkout hyva.setCookie( section_data_ids_key, JSON.stringify( Object.keys(data).reduce((sectionDataIds, sectionKey) => { sectionDataIds[sectionKey] = data[sectionKey]['data_id']; return sectionDataIds; }, {}) ), false, true ); } catch (error) { console.warn("Couldn't store privateContent", error); } } } ); } } </script>
Testo modificato
Apri file
<?php /** * Hyvä Themes - https://hyva.io * Copyright © Hyvä Themes 2020-present. All rights reserved. * This product is licensed per Magento install * See https://hyva.io/license */ declare(strict_types=1); /** @var Template $block */ /** @var Escaper $escaper */ use Magento\Framework\Escaper; use Magento\Framework\View\Element\Template; ?> <script> 'use strict'; { const private_content_key = 'mage-cache-storage'; const private_content_expire_key = 'mage-cache-timeout'; const private_content_version_key = 'private_content_version'; const section_data_ids_key = 'section_data_ids'; const mage_cache_session_id_key = 'mage-cache-sessid'; const last_visited_store_key = 'last_visited_store'; const ttl = 3600; <?php /** * The `hyva` JS namespace is being set by Hyva_Theme/src/view/frontend/templates/page/js/hyva.phtml * and should be included through Hyva_Theme/src/view/frontend/layout/default_hyva.xml */ ?> if (typeof hyva === 'undefined' || (!hyva.getBrowserStorage || !hyva.getCookie || !hyva.setCookie)) { console.warn("Hyvä helpers are not loaded yet. Make sure they are included before this script"); } function loadSectionData () { const browserStorage = hyva.getBrowserStorage(); if (!browserStorage) { typeof window.dispatchMessages !== "undefined" && window.dispatchMessages( [{ type: "warning", text: "<?= $escaper->escapeHtml(__('Please enable LocalStorage in your browser.')) ?>" }] ); return; } try { let isInvalid = false; <?php /** * Usually store switch is made via POST requests, but if this happen on other ways (eg. the customer * changing manually the base url, or landing from search engines on a different store) we need to * request again private contents */ ?> if (hyva.getCookie(last_visited_store_key) !== CURRENT_STORE_CODE) { isInvalid = true; } hyva.setCookie(last_visited_store_key, CURRENT_STORE_CODE, false, false); <?php /** * The `mage-cache-sessid` cookie is being unset from backend to * indicate that sectionData is invalidated and needs to be reloaded * in the frontend. So we mark it as invalid, and then re-set the * `mage-cache-sessid` cookie */ ?> if (!hyva.getCookie(mage_cache_session_id_key)) { isInvalid = true; const skipSetDomain = true; const days = false; hyva.setCookie(mage_cache_session_id_key, true, days, skipSetDomain) } const cookieVersion = hyva.getCookie(private_content_version_key); const storageVersion = browserStorage.getItem(private_content_version_key); if (cookieVersion && !storageVersion || cookieVersion !== storageVersion) { isInvalid = true; } const privateContentExpires = browserStorage.getItem(private_content_expire_key); if (privateContentExpires && new Date(privateContentExpires) < new Date()) { browserStorage.removeItem(private_content_key); } if (isInvalid) { fetchPrivateContent([]); } else if (cookieVersion && storageVersion && cookieVersion === storageVersion) { const privateContent = JSON.parse(browserStorage.getItem(private_content_key)); if ( privateContent && privateContentExpires && privateContent.cart && privateContent.customer ) { dispatchPrivateContent(privateContent); } else { fetchPrivateContent([]); } } else { dispatchPrivateContent({}); } } catch (error) { console.warn('Error retrieving Private Content:', error); } } window.addEventListener('alpine:initialized', loadSectionData); window.addEventListener('reload-customer-section-data', loadSectionData); function dispatchPrivateContent(data) { const privateContentEvent = new CustomEvent("private-content-loaded", { detail: { data: data } }); window.dispatchEvent(privateContentEvent); } <?php /** * We use 'X-Requested-With': 'XMLHttpRequest' to prevent Magento from clearing the customer session * in \Magento\PageCache\Model\DepersonalizeChecker::checkIfDepersonalize * Otherwise, \Magento\Tax\Plugin\Checkout\CustomerData\Cart::afterGetSectionData can't add tax to * cart items. */ ?> function fetchPrivateContent(sections) { fetch(`${BASE_URL}customer/section/load/?sections=${encodeURIComponent(sections.join(','))}`, { method: 'GET', headers: { 'Content-Type': 'application/json', 'X-Requested-With': 'XMLHttpRequest' } }) .then(response => response.json()) .then( data => { if (data) { try { const browserStorage = hyva.getBrowserStorage(); // merge new data preserving non-invalidated sections const oldSectionData = JSON.parse(browserStorage.getItem(private_content_key) || '{}') || {}; <?php /** Ensure no checkout data remains after logout (from Luma checkout) */ ?> if ((! data.cart || ! data.cart.cartId) && oldSectionData['checkout-data']) { delete oldSectionData['checkout-data']; } const newSectionData = Object.assign(oldSectionData, data); dispatchPrivateContent(newSectionData); // don't persist messages, they've been dispatched already if (newSectionData.messages && newSectionData.messages.messages ) { newSectionData.messages.messages = []; } browserStorage.setItem(private_content_key, JSON.stringify(newSectionData)); const expiresAt = new Date(Date.now() + (ttl * 1000)).toISOString(); browserStorage.setItem(private_content_expire_key, expiresAt); const newCookieVersion = hyva.getCookie(private_content_version_key); browserStorage.setItem(private_content_version_key, newCookieVersion); // We don't need the section_data_ids in Hyvä, but we store them for compatibility // with Luma Fallback. Otherwise, not all sections are loaded in Luma Checkout hyva.setCookie( section_data_ids_key, JSON.stringify( Object.keys(data).reduce((sectionDataIds, sectionKey) => { sectionDataIds[sectionKey] = data[sectionKey]['data_id']; return sectionDataIds; }, {}) ), false, true ); } catch (error) { console.warn("Couldn't store privateContent", error); } } } ); } } </script>
Trovare la differenza