Usare un componente tema invece di un iframe per creare un timer per gli argomenti

Probabilmente è meglio eliminare completamente l’iframe. Per una sfida personale divertente, ho creato una bozza di proof of concept che applica il timer tramite un componente del tema. Al momento, aggiunge un timer al primo post di un argomento e include alcuni pulsanti di controllo. Attualmente appare così:

Se desideri che lo espanda, fammelo sapere. È una personalizzazione interessante su cui lavorare.

5 Mi Piace

Grazie @tshenry per aver indagato. La soluzione con l’iframe era solo una soluzione “rapida e approssimativa” per far funzionare la funzionalità del timer. Ma SÌ, siamo ASSOLUTAMENTE interessati al timer personalizzato su cui stavi sperimentando. La tua soluzione sembra molto più elegante e pulita… ma è qualcosa che va ben oltre le mie competenze in termini di capacità di programmazione. Quindi, ancora una volta, SÌ, sono molto interessato a vedere cosa realizzerai e a poterlo applicare al mio forum.

1 Mi Piace

Va bene, sembra tutto a posto. Continuerò a lavorarci e farò rapporto appena avrò qualcosa di pronto da mostrare.

3 Mi Piace

@tshenry Nel costruire questo tema, mi chiedo se sia possibile includere la possibilità di selezionare a quale categoria o sottocategoria applicarlo? Non vorrei che questo tema venisse applicato a tutti i post del mio forum, ma solo a poche categorie selezionate.

Ad esempio, sul nostro Forum vorrei che il Timer Theme venisse applicato solo ai post nella categoria “Past Exam”. Idealmente, mi piacerebbe poter selezionare esattamente quali post nella categoria “Past Exam” devono avere questa applicazione, poiché una funzione Timer sarebbe appropriata nel 99% dei casi, ma ci sono alcuni post in cui avere un Timer non sarebbe adatto. Tuttavia, questo è qualcosa che potrei sicuramente aggirare spostando l’1% dei post in cui un Timer non è appropriato in un’altra categoria, o anche eliminandoli.

1 Mi Piace

Che divertente che tu lo abbia menzionato! Ho appena aggiunto la possibilità di specificare un tag come fattore determinante per quali argomenti il cronometro deve mostrare. Questo evita che venga applicato a qualsiasi argomento

2 Mi Piace

Questo è come appare al momento, a proposito:

2 Mi Piace

Penso che questo sia perfetto! L’identificatore del tag è anche una soluzione perfetta alla mia domanda precedente. Ottimo lavoro! Grazie.

1 Mi Piace

Perfetto, il componente del tema è stato rilasciato! Fateci sapere se riscontrate problemi o se avete idee su come migliorarlo.

Inoltre, per chiunque fosse interessato a risolvere la domanda originale su come disabilitare lo scorrimento degli iframe, basta aggiungere questo codice alla scheda </head> di un tema a vostra scelta:

<script type="text/discourse-plugin" version="0.8.18">
   api.decorateCooked($elem => $elem.children('iframe').attr("scrolling", "no"));
</script> 

(Un ringraziamento speciale a @vinothkannans per aver evidenziato l’utilità di decorateCooked() :grinning:)

3 Mi Piace