Nessun modo per cliccare su un argomento 'Banner'

C’è un banner in cima al mio sito web. (Non ho l’abitudine di fissare molti argomenti, solo 1 banner e 1 argomento fissato a livello globale).

Ma non c’è modo di cliccare sul banner se un utente vuole accedere a quell’argomento/post.
Ma poiché il primo post in quell’argomento è un link a un video YouTube, il visitatore può visualizzare quel video senza accedere all’argomento. Tuttavia, non c’è modo di cliccare e accedere a quell’argomento da quel banner (ho provato con un altro argomento senza video YouTube).
Ho anche provato ad accedere a quell’argomento come utente non autenticato e come un altro utente.

Inoltre, una volta rimosso il banner cliccando sulla ‘X’ per me stesso, non sono riuscito a farlo riapparire, nemmeno dopo averlo rimosso come banner (rimosso dal banner) e poi reso di nuovo un banner. Vi prego di dirmi come posso farlo apparire di nuovo come banner per me stesso.

(Scusatemi, il sito e l’argomento/post sono in hindi).

In passato l’ho aggirato inserendo un link ipertestuale nel post che rimanda allo stesso argomento. Ad esempio, clicca qui per tornare a questo stesso argomento. Leggi di più.

:slight_smile:

È un buon workaround.
Tuttavia, per farlo, dovrei inserire il link quasi all’inizio del post (per renderlo facilmente visibile e cliccabile dall’utente), e questo sembrerebbe un po’ strano una volta che qualcuno sta leggendo il post, clicca sul link e poi torna al post stesso.

Comunque, finché non sarà risolto, è un ottimo suggerimento.

Se hai diversi post o risposte nell’argomento, puoi scrivere l’iperlink nel primo post dell’argomento per collegarti al secondo post aggiungendo /2 alla fine. In altre parole, si salterà direttamente al secondo post senza tornare in cima o al post introduttivo dell’argomento. Potrebbe comunque sembrare un po’ strano, ma avrebbe l’effetto di scorrere semplicemente verso il basso nella pagina. Non è perfetto, ma non è male, suppongo.

@Bathinda Puoi fare qualcosa del genere

Ecco il contenuto del post:

Questo sarà un argomento banner con un link che viene visualizzato nel banner ma non nel post vero e proprio.

[Visita il thread](https://forums.example.com/t/test-thread/26?banner-topic)

Il trucco consiste nell’aggiungere una stringa di query alla fine del tuo link che Discourse ignorerà, ma che potrai utilizzare nel tuo CSS. Quindi https://forums.example.com/t/test-thread/26?banner-topic ti porterà a https://forums.example.com/t/test-thread/26, e potrai usare la query ?banner-topic nel tuo CSS per identificare i link che desideri nascondere.

a[href$="?banner-topic"] {
    display:none;
}
#banner-content a[href$="?banner-topic"] {
    display:block;
}

Non molto user-friendly, ma un buon workaround.

Comunque, se volessi creare un componente tema con questo codice, dove devo aggiungere il codice, ‘head’, ‘body’ o da qualche altra parte?

Dimentica la mia ultima soluzione. Penso che questo dovrebbe funzionare automaticamente. Inserisci questo nel tuo Common </head>

<script type="text/x-handlebars" data-template-name="components/discourse-banner">
{{#if visible}}
  <div class="row">
    <div id="banner" class={{overlay}}>
      {{d-button icon="times" action="dismiss" class="btn btn-flat close" title="banner.close"}}
      <div id="banner-content">
        {{{content}}}
        <p><a href="{{banner.url}}">Vai al thread</a></p>
        {{#if currentUser.staff}}
          <p><a href="{{banner.url}}">{{{i18n "banner.edit"}}}</a></p>
        {{/if}}
      </div>
    </div>
  </div>
{{/if}}
</script>

La riga <a href="{{banner.url}}">Vai al thread</a> aggiunge il link, e puoi sostituire “Vai al thread” con qualsiasi testo desideri. Puoi aggiungere una classe al link <a href="{{banner.url}}" class="banner-link">Vai al thread</a> e poi stilizzare .banner-link nel tuo CSS comune.

Di seguito viene reso l’intero banner cliccabile invece di aggiungere un link

<script type="text/x-handlebars" data-template-name="components/discourse-banner">
{{#if visible}}
  <div class="row">
    <a href="{{banner.url}}" class="banner-link">
      <div id="banner" class={{overlay}}>
        {{d-button icon="times" action="dismiss" class="btn btn-flat close" title="banner.close"}}
        <div id="banner-content">
          {{{content}}}
            {{#if currentUser.staff}}
          <p><a href="{{banner.url}}">{{{i18n "banner.edit"}}}</a></p>
        {{/if}}
      </div>
     </div>
    </a>
  </div>
{{/if}}
</script>

Grazie mille per il tempo dedicatomi.

Apprezzerei se potessi evidenziare, mettere in corsivo o separare le parole in questo codice che sono personalizzabili da me. Forse scrivile o copiale separatamente o in un colore diverso.

Per quanto ho capito, nella tua ultima risposta hai fornito 2 modi diversi (ma non troppo diversi) per creare un link all’interno di un banner (o rendere l’intero banner cliccabile). Nel secondo caso, penso che non debba includere o incorporare alcun link nel topic/post stesso.

Grazie.

Ecco come appare

Solo lo staff può vedere il link “Modifica questo banner”, ma punta allo stesso posto di “Vai al thread”, quindi dovrei eliminarlo completamente. Quindi avremo invece questo

<script type="text/x-handlebars" data-template-name="components/discourse-banner">
{{#if visible}}
  <div class="row">
    <div id="banner" class={{overlay}}>
      {{d-button icon="times" action="dismiss" class="btn btn-flat close" title="banner.close"}}
      <div id="banner-content">
        {{{content}}}
        <p><a href="{{banner.url}}">Vai al thread</a></p>
      </div>
    </div>
  </div>
{{/if}}
</script>

La riga che puoi modificare è
<p><a href="{{banner.url}}">Vai al thread</a></p> Puoi sostituire Vai al thread con qualsiasi testo desideri. Puoi anche aggiungere qualsiasi cosa desideri prima o dopo {{{content}}} del post del banner.