Configura un link personalizzato nella barra laterale per aprirlo in una nuova scheda

È possibile far sì che il link di una sezione personalizzata si apra in _blank per essere aperto in una nuova scheda? Ci sono anche molti componenti del tema che offrono questa possibilità.

3 Mi Piace

Abbiamo discusso a un certo punto se i link esterni nella barra laterale dovessero aprirsi in una nuova scheda, ma abbiamo deciso di rispettare le preferenze dell’utente.

Puoi condividere uno o due casi dal tuo sito in cui ritieni che sarebbe meglio sovrascrivere quella preferenza dell’utente e forzare l’apertura del link in una nuova scheda?

2 Mi Piace

Certo. Forse il nostro approccio è semplicemente diverso. Credo sinceramente che se il link è esterno sia molto più educato inoltrare il browser dell’utente in una scheda separata. Ciò impedisce loro di interrompere l’esperienza che hanno/avevano mentre si trovano nelle pagine del Forum.

Il nostro forum è molto attivo, non sono sicuro che vada bene per un utente essere interrotto lasciando del tutto il sito web seguendo il link. Il link porta al nostro canale Telegram, se questo è il caso.

Alla fine, non propongo di aprire i link esterni _blank per impostazione predefinita. Suggerisco di dare agli amministratori di Discourse la possibilità di controllare come si aprono i link da questo specifico componente/funzionalità di configurazione.

3 Mi Piace

Soluzione temporanea: se fai clic con il pulsante destro del mouse su un elemento, ottieni l’opzione per aprirlo in una nuova scheda.

Concordo, il tuo progresso non verrebbe mai interrotto quando i link si aprono in una nuova scheda.

Tendo a concordare con questo. Come nello scenario precedente con un canale Telegram, ci saranno chiaramente casi in cui sovrascrivere le preferenze dell’utente è l’ideale per i link personalizzati creati dall’amministratore. Nei componenti del tema, spesso utilizziamo _blank, quindi non sono sicuro del perché questa opzione non possa essere qui come parte della modale di configurazione della barra laterale personalizzata (a meno che non si tratti di uno spazio limitato e non ci sia posto lì).

In realtà ho anche dei link nella barra laterale personalizzati dall’amministratore sul mio forum, dove sarei incline a sovrascrivere l’impostazione dell’utente per i link.

2 Mi Piace

Credi che se l’utente ha espresso la preferenza di aprire i link nella stessa finestra, sia più educato non fare ciò che hanno espressamente indicato?

Le persone che utilizzano screen reader sono quelle più svantaggiate dall’apertura di nuove schede quando non se lo aspettano. Ecco perché è generalmente consigliato non dirottare i link in una nuova scheda (anche se è ciò che tu e io preferiamo).

Puoi cambiare la preferenza predefinita dell’utente per aprirli in una nuova scheda e applicare tale impostazione a tutti gli utenti. Ciò consentirà al tuo sito di essere più educato senza violare le preferenze dell’utente.

4 Mi Piace

questo è un ottimo punto.

5 Mi Piace

Come utente di screen reader (e di tutti i problemi divertenti che alcuni componenti del tema creano per loro) posso confermare, in generale è una cattiva idea forzare nuove schede.

5 Mi Piace

Come posso disabilitare l’apertura della barra laterale con un link personalizzato a un sito web gemello, in una nuova scheda? Poiché l’altro sito web ha anche un link per tornare a Discourse. Al momento, ciò si traduce in un numero di schede indesiderate.

Preferirei che quel link esterno si aprisse solo in _self.

Grazie

1 Mi Piace

Generalmente tutti i link devono aprirsi in _self. Un utente chiede quando e quali dovrebbero aprirsi in una nuova scheda o finestra.

1 Mi Piace

In admin - settings, assicurati che quanto segue sia disabilitato:

Nota che gli utenti connessi possono sovrascrivere le impostazioni di amministrazione nelle loro preferenze utente nella scheda interfaccia:

2 Mi Piace

Penso che la domanda fosse come impostare questo per un link specifico al sito, che ha un link di ritorno al forum. Modificare l’impostazione dell’amministratore cambierebbe il comportamento per tutti i link, non è vero?

2 Mi Piace

hmmm, potrebbe essere. Vogliono sovrascrivere le impostazioni dell’utente? Quelle sono le uniche impostazioni che conosco che influiscono sui collegamenti in schede/finestre separate.

1 Mi Piace

Sì, non voglio disabilitare globalmente _blank per i siti esterni. Voglio solo disabilitarlo per questa singola voce di menu.

Grazie per la spiegazione.

2 Mi Piace

Custom Header Links ti permette di scegliere il target per i link che aggiunge. Forse questo aiuterà

https://github.com/discourse/discourse-custom-header-links/blob/main/javascripts/discourse/components/custom-header-links.hbs#L18

3 Mi Piace

Grazie. Quindi usalo per la barra laterale?

1 Mi Piace

È un suggerimento. È il meglio che ho. A dire il vero, non sono sicuro di modificare la barra laterale.

Sembra che non ci siano ancora punti di estensione per i plugin nella barra laterale (!?), quindi potrebbe essere necessario del JavaScript intelligente per trovare la cosa che vuoi modificare. Qualcosa come questo, forse.

3 Mi Piace

Questo è intenzionale, idealmente la barra laterale dovrebbe essere estesa utilizzando l’API… questo ci aiuta a mantenere eventuali collegamenti/sezioni personalizzati aggiunti qui.

Al momento sembra che i target dei collegamenti esterni siano tutto o niente in base all’impostazione utente external_links_in_new_tab… quindi anche con una sezione/collegamento personalizzato aggiunto tramite l’API non c’è un metodo per modificare il target per un collegamento specifico. Sarebbe possibile aggiungere questa opzione… anche se storicamente tendiamo a rispettare la preferenza dell’utente su come vengono aperti i collegamenti.

4 Mi Piace

Questo lo spiega. Suppongo che mi sia perso quel promemoria. Ma guardando un po’ più da vicino, vedo addSidebarPanel e addSidebarSection in plugin-api.js ma solo quest’ultimo genera un post, ed è ben lungi dall’essere una guida. Ma c’è questo:

https://github.com/discourse/discourse/blob/main/app/assets/javascripts/discourse/app/lib/plugin-api.js#L2306-2310

4 Mi Piace