Pubblicare un post di facebook su un sito Drupal come articolo
Salve,
per pubblicare un post di facebook su un sito drupal ho usato il classico sistema:
- clic sul menu drop-down del post si facebook
- clic su "Incorpora"
- copio il codice fornitomi. Es.: <iframe src="https://www.facebook.com/plugins/post.php?................&width=500" width="500" height="603" style="border:none;overflow:hidden" scrolling="no" frameborder="0" allowTransparency="true" allow="encrypted-media"></iframe>
- lo incollo su un nuovo contenuto di tipo "Articolo"con formato testo "PHP code"
- e ottengo il risultato sperato.
L'unica cosa che non va è che questo metodo non va daccordo con il tema responsive perchè la larghezza dell'iframe è fissa.
Ho provato a smanettare con i vari width ma con le mie conoscenze non ottengo nulla di buono.
Qualcuno conosce un metodo per incorporare un post di facebook sul sito Drupal che sia anche responsive?
Grazie
Risposte
Potresti pensare di
Potresti pensare di utilizzare un modulo come https://www.drupal.org/project/social_content.
Serve ad importare i post come nodi su Drupal: di conseguenza hai maggiore controllo sul theming e la visualizzazione.
lo so che Maurizio Ganovelli
lo so che Maurizio Ganovelli lo sa
lo dico solo per frema e per chi non lo sa
basta aggiungere un pochino di css,magari in un blocco:
iframe {
max-width: 100%;
}
Ciao Motodesk! Grazie troppo
Ciao Motodesk! Grazie troppo buono :) .. e poi una ripassata di css non fa mai male a nessuno.
Il problema non è tanto la dimensione dell'iframe ma del widget che poi non si adatta correttamente alla dimensione del contenitore.
Se guardi qui: https://developers.facebook.com/docs/plugins/embedded-posts/?locale=it_IT utilizzando l'SDK puoi passare un data-width "The width of the post. Min. 350 pixel; Max. 750 pixel. Leave empty to use fluid width." ma se usi la versione iframe e lasci vuoto il parametro width che passi tramite url, il widget non si adatta al contenitore.
Ho provato solo con l'editor online di w3schools (https://www.w3schools.com/html/tryit.asp?filename=tryhtml_intro) ma non ho ottenuto un gran risultato ... se poi ridimensioni la pagina per simulare il responsive il widget non risponde correttamente e se ne vede solo una parte.
io ho rifatto così e mi pare
io ho rifatto così e mi pare che funzioni:
contenuto ho aggiunto div class
<div class="facebook-responsive">
<iframe src="https://www.facebook.com/plugins/post.php?href=https%3A%2F%2Fwww.facebook.com.....></iframe>
</div>
css in un blocco
.facebook-responsive iframe image {
max-width:100%;
}
Forse sbaglio qualcosa ma non
Forse sbaglio qualcosa ma non riesco ad ottenere un buon risultato nemmeno così, questo è lo snippet che ho usato:
https://jsfiddle.net/j7v6x9be/
io l'ho provato su un mio
io l'ho provato su un mio sito
allego immagine tratta da ispeziona di chrome e del suo simulatore
https://ibb.co/FwpT6Cf
@Maurizio Ganovelli ho
@Maurizio Ganovelli
ho provato anche la tua anche più stretta
https://ibb.co/yqYBpd4
Sembrerebbe che tu riesca a
Sembrerebbe che tu riesca a interagire con il css del contenuto dell'iframe, questo di solito è piuttosto complesso senza javascript e ancora più difficile su domini differenti (servirebbero headers CORS).
Non riesco proprio a risolverlo così, non saprei ..
L'unico modo con cui riesco a
L'unico modo con cui riesco a rendere fluido il post è usando l'sdk così
https://jsfiddle.net/j7v6x9be/2/
<div id="fb-root"></div>
<script async defer crossorigin="anonymous" src="https://connect.facebook.net/it_IT/sdk.js#xfbml=1&version=v3.3"></script>
<div class="fb-post" data-width="auto" data-href="https://www.facebook.com/20531316728/posts/10154009990506729/" data-show-text="true"></div>
Salve, grazie per le
Salve,
grazie per le risposte.
@Maurizio Ganovelli: ho subito provato il modulo social_content ma, mi vergogno a dirlo, non ho capito come usarlo. Una volta installato e abilitato ho abilitato anche "Social Content: Facebook" e viene creato un nuovo tipo di contenuto che si chiama "Facebook Page Post". I campi a disposizione sono: Titolo, Corpo, Picture, External ID, Link Titolo, Link URL ma sono normalissimi campi, nessuno di questi importa il post...
Ovviamente ho provato a mettere il codice <iframe>...<iframe> nel campo Corpo ma ottengo lo stesso risultato che ho ottenuto quando ho usato il tipo Articolo. Dove sbaglio?
@motodesk: dalle immagini che hai postato si vede che il post è più largo del tema, questo è quello che voglio evitare. Queste immagini sono state prese prima o dopo l'applicazione della tua soluzione?
@Maurizio Ganovelli: ho provato il codice del post precedente a questo e funziona bene, solo le immagini hanno come un minimo sotto il quale non si riducono ma il post si adatta al contenitore e non genera quell'antipatica sporgenza. Faccio qualche altro test e vi faccio sapere
oddio a tutto c'è
oddio a tutto c'è rimedio
iframe largo =
https://ibb.co/9ygrwR8
mi taglia la fine del messaggio dell'iframe,ma pure a quello c'è rimedio
rimedio https://ibb.co/wz1JrB
rimedio
https://ibb.co/wz1JrBn
con video
https://ibb.co/Ydd5mTT
Su alcuni post (mi pare
Su alcuni post (mi pare quelli con immagine / video singola) i media sono resi responsive
https://jsfiddle.net/sb80wje7/
Non credo che in presenza di gallerie / media multipli funzioni correttamente.
L'idea di social content è di creare dei node type (come i facebook post) e di riempirli automaticamente (o manualmente) attingendo da un account. Devi però registrare prima le varie app nei social di interesse (come developer, es developer.facebook.com, developer.twitter.com etc..) e poi configurarle presso:
admin/config/services/social-content/global
Una volta completato il processo (dovrai inserire le varie auth keys, token o quello che ti richiede ogni form) aggiungi un'instanza dell'importatore configurato a cui leghi un account da cui prendere i post (su twitter è l'id "@qualcosa").
Da lì inizi ad importare i post.
Dato che le api dei social cambiano devi accertarti che funzioni. Ti posso dare per certo che Twitter funziona, localmente ne ho una copia e l'ho testato stamani.