WebSite X5Help Center

 
Cri G.
Cri G.
User

Evitare duplicazione negozio in sito bilingua  it

Автор: Cri G.
Просмотрено 188, Подписчики 2, Размещенный 0  

Buongiorno,
sto lavorando alla versione bilingue del mio sito WebSite X5 (versione 2025.1.3), organizzato così:

Per alcune pagine condivise (il catalogo prodotti), ho rpovato ad utilizzare un iframe per includere le pagine italiane all’interno del sito inglese, mantenendo l’header e il menu della versione inglese.

Questo per dover evitare di gestire un doppio negozio, negli aggiornamenti dei prodotti, che sono parecchi e cambiano rapidamente.

Ho però un problema: nonostante l’uso del parametro ?embedded=true e CSS/JS mirati, si verificano ancora due problemi:

  1. Rimane uno spazio bianco vuoto sopra il contenuto caricato via iframe, come se l’header italiano fosse stato caricato e poi nascosto, ma lo spazio che occupava rimanesse visibile.
  2. Cliccando su un prodotto (scheda del catalogo), l’header italiano ricompare sopra quello inglese, dando un effetto visivo doppio e disallineato.

Invece i seguenti punti sono corretti:

  • Il footer del sito italiano viene correttamente nascosto
  • Il banner cookie Iubenda duplicato è stato correttamente disattivato nella modalità embedded
  • L’altezza dinamica della pagina caricata funziona bene grazie a iframe-resizer
  • L’icona Iubenda fluttuante rimane come previsto

Vorrei poter includere in iframe le pagine italiane nel sito inglese senza che venga visualizzato né riservato spazio all’header italiano, anche quando si aprono schede prodotto o contenuti caricati dinamicamente da WebSite X5. Questo è in effetti il problema riscontrato.

Ho già provato a:

  • Applicare display: none via CSS a header, .sticky-bar e altri ID noti
  • Rimuovere dinamicamente elementi con JavaScript e MutationObserver
  • Forzare anche altezza/margini a 0 via !important

Mi chiedevo se esiste una modalità ufficiale per impedire che WebSite X5 generi (o riservi spazio a) questi elementi in modalità iframe embedded, oppure se ci sono workaround più compatibili con il sistema di rendering dinamico del catalogo. Consigli?

Grazie mille per l’aiuto

Ciao, Cristina
[www.enotecaguanella.it]

Размещено
8 Ответы
Giancarlo B.
Giancarlo B.
User

In base alla tua richiesta: Evitare duplicazione negozio in sito bilingua

vedo che è un post IDEA quindi non hi capito se cerchi una soluzione ho è un messaggio per Incomedia.

Nel caso tu cercassi una eventuale soluzione e non so se è quello che intendevi, puoi utilizzare la classica soluzione del traduttore senza dovere cimentarti in due siti web paralleli poi complicato da gestire, come esempio puoi valutare il mio sito visibile sul mio profilo, se non fosse questa la tue IDEA non tenerne conto, ciao. 

Читать больше
Размещено От Giancarlo B.
 ‪ KolAsim ‪ ‪
 ‪ KolAsim ‪ ‪
Moderator
Лучший пользователь месяца ES

x Cri G.,   ... sezione IDEA a parte, ... ... ...

1) - non vedo IFRAME in nessuno dei due LINK, quindi non si può valutare...!...;
2) - cartsearch (IT-EN) è senza HEADER, (OK), ma con FOOTER e icona COOKIE, che secondo me non dovrebbero esserci, essendoci in caso di IFRAME quelli della pagina ospite, magari lasciare solo il cookie;
3) - in teoria in IFRAME non dovrebbero esserci problemi, mi sembra che  non si vedano margini vuoti in cartsearch  che dicevi nel tuo Post.
.

ciao

.

Читать больше
Размещено От  ‪ KolAsim ‪ ‪
Cri G.
Cri G.
User
Автор

@Giancarlo B. Ciao e grazie per la risposta e l'idea. La soluzione del traduttore non soddisfa appieno le mie esigenze, ma grazie per il consiglio. In effetti forse ho sbagliato sezione, perchè ho anche bisogno di aiuto per risolvere. Grazie ancora

@KolAsim ciao e grazie:

1) hai ragione, non funzionando ho stupidamente rimosso i codici quando ho scritto qui

2) cartsearch era senza header per un problema di sovrapposizione con l'header nella visualizzazione mobile, portato dall'aggiornamento di website, in realtà sarà una pagina che forse utilizzerò solo più avanti

3) ho lavorato un pò sul progetto e sono arrivata (non con poca fatica, perchè la programmazione non è il mio campo) ad una parziale soluzione. La puoi vedere integrata tra la pagina www.enotecaguanella.it/en/test1.html e la pagina www.enotecaguanella.it/valtellina-rossi.html (praticamente nella pagina test1 inglese, si apre il contenuto della pagina valtellina rossi italiana)

Sembra funzionare bene, in realtà non va l'acquisto online dalla pagina inglese, ma non mi serve.

Mi rimangono 2 problemi:

1) contenuto di header e footer (del sito italiano, sulla pagina inglese test1) giustamente non sono visibili, ma non riesco a nasconderne lo spazio vuoto

2) non riesco a fare in modo che l'altezza della pagina all'apertura del contenuto dinamico (la descrizione dei prodotti, per intenderci) si ridimensioni automaticamente.

Sicuramente mi sto perdendo io in un bicchier d'acqua...idee? (nb:non posso nascondere header e footer da website perchè le perderei sulla pagina italiana)

Grazie mille per l'aiuto

PS:altre soluzioni parziali sono presenti su altre pagine nascoste del sito, ma tendenzialmente abbandonate in itinere, quindi quelle non guardarle)

Cristina

Читать больше
Размещено От Cri G.
 ‪ KolAsim ‪ ‪
 ‪ KolAsim ‪ ‪
Moderator
Лучший пользователь месяца ES
Cri G.
... ... ...  1) contenuto di header e footer (del sito italiano, sulla pagina inglese test1) giustamente non sono visibili, ma non riesco a nasconderne lo spazio vuoto ... ... ... 

... in genere con codici di terze parti non mi ci metto...
... comunque prova ad aggiungere questo mio controllo EXTRA in Proprietà della Pagina | Esperto | Prima della chiusura del tag /HEAD:

<script>
$( document ).ready(function() { //K>;
/** --- controllo variabile dinamica x WSx5 by KolAsim --- **/
styleK = '<style>#imContentGraphics {display:none!important;}#imContent {grid-row:auto !important;}#imPageExtContainer{background-color:transparent !important}</style>';
embed = window.self !== window.top || location.search.includes('embedded=true');
if (embed) {//K1>;
$("head").append(styleK)
};//K1<<;
}); //K<<;
</script>

.

ciao

.

Читать больше
Размещено От  ‪ KolAsim ‪ ‪
 ‪ KolAsim ‪ ‪
 ‪ KolAsim ‪ ‪
Moderator
Лучший пользователь месяца ES
Cri G.
... ... ...  2) non riesco a fare in modo che l'altezza della pagina all'apertura del contenuto dinamico (la descrizione dei prodotti, per intenderci) si ridimensioni automaticamente. ... ... ... 

... forse non ho capito, ma mi sembra che l'IFRAME sia correttamente esteso verticalmente a tutta pagina...

.

ciao

.

Читать больше
Размещено От  ‪ KolAsim ‪ ‪
Cri G.
Cri G.
User
Автор

Ciao, sì quello sono riuscita a sistemarlo oggi con codice su pagina di partenza, ed ho implementato le "deviazioni" su tutte le pagine di prodotti del sito inglese, su quelle italiane. Mi resta solo da riuscire a togliere quelle maledette "fasce" di header e footer...Se ti venisse qualche idea...

Grazie mille comunque per la risposta e l'aiuto

Читать больше
Размещено От Cri G.
 ‪ KolAsim ‪ ‪
 ‪ KolAsim ‪ ‪
Moderator
Лучший пользователь месяца ES
Cri G.
... ... ...  Mi resta solo da riuscire a togliere quelle maledette "fasce" di header e footer...Se ti venisse qualche idea... ... ... ...

... non ho visto applicato nel sorgente della pagina "valtellina-rossi.html"  il mio precedente codice...

... provalo, controlla online e fammelo sapere per verificare...

... se non funzionasse potrebbe dipendere dalla latenza della pagina e nel caso poi valuteremo l'applicazione di un eventuale ritardo...

.

ciao

Читать больше
Размещено От  ‪ KolAsim ‪ ‪
 ‪ KolAsim ‪ ‪
 ‪ KolAsim ‪ ‪
Moderator
Лучший пользователь месяца ES

... intanto mi sono inventato quest'altro codice, ma questa volta per la pagina "en/test1.html"  che contiene l'IFRAME, e che in teoria non dovrebbe risentire della latenza della pagina:

<script>
$( document ).ready(function() { //K>;
/* -- controllo dinamico style IFRAME by KolAsim -- **/
styleK = '<style>#imContentGraphics {display:none!important;}'+
'#imContent {grid-row:auto !important;}'+
'#imPageExtContainer{background-color:transparent !important}</style>';
$("#catalog-iframe").on( 'load', function() {//K1>;
$(this).contents().find("head").append(styleK)
});//K1<<;
}); //K<<;
</script>

...

... verifica provando, o solo il primo codice, o solo il secondo codice...

.

Читать больше
Размещено От  ‪ KolAsim ‪ ‪