Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 27
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2007
    residenza
    Trieste
    Messaggi
    823

    come individuare ID di una pagina in un sito Html/Laravel

    Salve, ho eliminato l'intero footer da un sito con .footer {display:none;} ma vorrei mostrarlo su una o due pagine, quindi includerei il :not(.page-id-123) ma non so come individuare l'ID in quanto è un SAAS (non wordpress o altri dove è facile individuare l'ID). Ho guardato nel database ma non mostra proprio le pagine.
    Nemmeno dalla console ho scoperto l'ID. Come lo trovo? https://formazione.airportpadova.com

  2. #2
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,755
    Ciao, attraverso la console, analizzando le pagine del tuo sito, nemmeno io vedo degli identificativi che ti permettano di applicare il CSS in modo specifico.

    In generale per un qualsivoglia framework, non è una regola fissa avere per forza un identificativo delle pagine. Non conosco SaaS, ho capito che è un servizio basato su cloud per la realizzazione di siti web ma non so come funzioni e cosa ti sia permesso fare. C'è una documentazione ufficiale? Come hai creato le pagine?

    Sai se puoi inserire in qualche modo delle classi nel tag <footer> o in <html> o nel <body> (o in qualche altro tag), in modo specifico per le singole pagine? In tal caso hai risolto.
    In alternativa, puoi inserire del codice HTML personalizzato? In tal caso si potrebbe pensare di inserire un tag fittizio che abbia appunto una classe personalizzata e possa quindi essere usato per distinguere le pagine in cui far apparire o no il footer.
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2007
    residenza
    Trieste
    Messaggi
    823
    ...per SAAS intendo che è una app, un software che ho installato su un sottodominio. Ma purtroppo l'unica cosa che posso fare è inserire del CSS oppure JS in una box del backend, che si applica a tutto il sito. Quindi temo di non poter né inserire dei tag né dell'html. Per questo l'unica strada mi pareva quella dell'ID.

  4. #4
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,755
    Quote Originariamente inviata da stardom
    intendo che è una app, un software
    ok, puoi darci un nome? C'è una qualche documentazione che sia possibile consultare online?

    Quote Originariamente inviata da stardom
    Ma purtroppo l'unica cosa che posso fare è inserire del CSS oppure JS in una box del backend
    come crei i contenuti delle singole pagine?
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2007
    residenza
    Trieste
    Messaggi
    823
    Il nome della App è RocketLMS, una piattaforma per corsi online. Purtroppo la loro documentazione è povera, e le pagine sono fisse... nel senso che sono dei template per la pagina info, per quella dei corsi, per il forum, e se ne voglio aggiungere una la devo fare in puro html (bella scocciatura). Insomma non permette molta flessibilità proprio perchè è un software proprietario.

  6. #6
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,755
    ok, proverò a dargli uno sguardo appena ho un po' di tempo.

    Una soluzione CSS potrebbe comunque esserci, anche se un po' macchinosa. Per identificare la pagina si potrebbe ad esempio sfruttare (sempre che ci sia) il tag <meta name="description" content="nome della pagina"> che sta dentro <head>. Usando la pseudo-classe :has() e un selettore di attributo, puoi infatti stabilire se <head> contiene un tag <meta> con attributo content il cui valore inizi per un qualcosa (il nome della pagina) e andare quindi a selezionare il footer.

    Faccio un esempio al volo. Supponiamo che tu voglia far visualizzare il footer per la pagina corsi (avendo già impostato display:none come regola generale per tutte le pagine).
    Su questa pagina, in <head> hai questo tag:
    codice:
    <meta name="description" content="Courses page Description">
    Prendiamo quindi il valore "Courses" come identificativo.

    Nel CSS puoi quindi impostare questa regola:
    codice:
    head:has(meta[content^="Courses"]) + body footer {
      display: initial;
    }
    Dentro :has() puoi includere gli identificativi delle varie pagine, inserendoli come argomenti separati da virgola o usando la pseudo-classe :is() per semplificare in questo modo:

    codice:
    head:has(meta:is([content^="Courses"],[content^="Tutor"],[content^="Altra Pagina"])) + body footer {
      display: initial;
    }
    Tieni comunque conto che :has() è stato introdotto come standard nel dicembre 2023, quindi è piuttosto nuovo e potrebbe non essere supportato da browser poco recenti o non aggiornati.
    Vedi tu se potrebbe fare al caso.
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  7. #7
    Utente di HTML.it
    Registrato dal
    Oct 2007
    residenza
    Trieste
    Messaggi
    823
    Grazie davvero. Questa pseudo-classe :has() farebbe al caso, perché in effetti ogni pagina ha la meta description e il codicillo per multipagine funziona (devo solo inserire un margin-top perché in qualche modo il footer mi va sopra l'ultimo elemento, ad esempio qui dove il box newsletter che fa parte del footer mi copre una box).

    Però ci sono alcune sottopagine che non hanno il meta name="description" e quindi non saprei come inserirle nel codice multipagine. In particolare sono proprio quelle che posso creare con html, e quelle di default appartenenti al software (ad esempio il singolo corso, o la pagina profilo dell'insegnante).
    Ultima modifica di stardom; 17-10-2024 a 14:50

  8. #8
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,755
    Quote Originariamente inviata da stardom
    Questa pseudo-classe :has() farebbe al caso
    bene

    Quote Originariamente inviata da stardom
    Però ci sono alcune sottopagine
    Sì, lo avevo notato, infatti ho scritto "(sempre che ci sia) il tag <meta...".

    Nelle pagine create da te puoi inserire direttamente quel tag come codice HTML dentro <head>. Chiaramente dovrai poi specificare tu un valore per l'attributo content, in modo che sia identificabile attraverso il CSS.

    Per quelle di default non so che dirti. Se il tag meta/description non c'è puoi usare lo stesso sistema ma adoperando un qualche altro tag/attributo che possa identificare nello specifico quelle pagine. Prova ad analizzare le pagine in questione e vedere se riesci a trovare qualcosa che possa andare bene.

    In alternativa si potrebbe pensare di usare il sistema al contrario, cioè mantenere il footer visibile per tutte le pagine tranne che per quelle specifiche in cui vai a nasconderlo; non so ma magari in questo caso le puoi identificare meglio.
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  9. #9
    Utente di HTML.it
    Registrato dal
    Oct 2007
    residenza
    Trieste
    Messaggi
    823
    usare il sistema al contrario, cioè mantenere il footer visibile per tutte le pagine tranne che per quelle specifiche in cui vai a nasconderlo
    ...dunque, non potendo trovare una tag adeguata, ma ragionando sull'ipotesi di usare il sistema contrario per mantenere il footer ovunque tranne che nella homepage che ha la tag
    codice HTML:
    <meta name="description" content="Home Page Description">

    in teoria potrei semplicemente fare un
    codice HTML:
    .footer:has(meta:is([content^="Home Page"])) {display:none;}

    Ma ci deve essere qualcosa di sbagliato nella sintassi, perchè il footer compare anche nella homepage.
    Ultima modifica di stardom; 19-10-2024 a 21:54

  10. #10
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,755
    Quote Originariamente inviata da stardom
    Ma ci deve essere qualcosa di sbagliato nella sintassi, perchè il footer compare anche nella homepage.
    la sintassi mi sembra giusta ma è sbagliata la costruzione del selettore.

    La pseudo-classe :has() ha un significato preciso (così come per ogni singola parte di un selettore), non ha senso metterla a caso dove ti pare.
    Dai uno sguardo alla documentazione, cerca di capire come funziona e come l'ho applicata negli esempi precedenti.

    Quel tag <meta> infatti non sta dentro .footer, quindi è corretto che non sia trovato nulla se applichi :has() in quel modo.
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.