Incorpora video nella descrizione del gruppo

Al momento, puoi incorporare video da YouTube e Vimeo (e forse altri) nei topic.

Sarebbe fantastico se potessi anche incorporare link di YouTube o Vimeo nelle descrizioni dei gruppi (cioè nella sezione “Info” dei gruppi). Sembra che questa funzionalità non sia ancora integrata: se pubblico un link a un video YouTube nella sezione “Info”, viene mostrato solo il link, senza l’azione di incorporamento.

Quindi presumo che dovrei modificare qualcosa nel tema o in un plugin. Finora ho avuto difficoltà a farlo funzionare in un plugin. Hai suggerimenti o pseudo-codice che potrei utilizzare per procedere? Sarebbe estremamente utile per il mio caso d’uso.

Ho testato questa funzionalità solo sul mio sito locale, ma non vedo perché non dovrebbe funzionare anche su un sito live. Puoi aggiungere un video di YouTube alla descrizione di un gruppo utilizzando il codice di incorporamento iframe di YouTube. Per farlo, copia l’attributo src dell’iframe di incorporamento nelle impostazioni del sito di Discourse allowed iframes. Quindi copia l’intero codice iframe di incorporamento nel modulo “About Group” del gruppo.

Un approccio simile dovrebbe funzionare anche per i video di Vimeo.

Ottima idea. Grazie. Ci provo domani. Avevo già provato a inserire direttamente il codice dell’iframe, ma non avevo anche modificato le impostazioni del sito per consentirlo.

Dato che hai già provato ad aggiungere il codice iframe, dopo aver aggiunto il suo src all’impostazione ‘iframe consentiti’, potrebbe essere necessario invalidare la cache apportando una piccola modifica alla sezione ‘Gruppo Informazioni’ e salvando le modifiche.

Funziona per YouTube! Grazie! Sai come rendere l’embed responsivo?

Per informazione agli altri, ecco cosa ho fatto:

  1. Nelle impostazioni / iframe consentiti, aggiungi https://www.youtube.com/embed/
  2. Nella descrizione del gruppo, inserisci direttamente il codice iframe (potresti dover apportare un’altra modifica al testo e salvarlo per svuotare la cache). Esempio di codice iframe:
    <iframe width="560" height="315" src="https://www.youtube.com/embed/CTsB-llTzyc" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>

Ma: come rendere l’iframe responsivo? Il consiglio normale è avvolgere l’iframe in un div e assegnargli una classe, come “iframe-container”, e aggiungere CSS come questo:

.iframe-container {
   overflow:hidden;
    padding-bottom:56.25%;
    position:relative;
    height:0;
}

.iframe-container iframe{
    left:0;
    top:0;
    height:100%;
    width:100%;
    position:absolute;
}

Penso che questo CSS sia solido, ma per qualche motivo, quando avvolgo il mio iframe in un div nella sezione “Informazioni sul gruppo” e assegno a quel div una classe, la classe non viene salvata nel testo visualizzato. Quindi, quando controllo con l’ispettore, vedo solo un div senza classe. Di conseguenza, il CSS non viene applicato e l’iframe non è responsivo. Hai idee su come risolvere?