Pagina 1 di 2

Realizzare menù di navigazione

Inviato: 20/08/2015, 12:19
da Benny
Ciao,
mi piacerebbe realizzare un menù di navigazione per il mio forum stile quello di phpbb.com
Immagine.JPG
ho trovato questo: https://www.phpbb.com/community/viewtop ... &t=2116787

però è stato fatto per la 3.0 mentre io ho la 3.1 quindi prima di smanettarci volevo da voi un consiglio.

C'è una mod che permette agilmente di farlo per caso?

Grazie per il supporto

Re: Realizzare menù di navigazione

Inviato: 20/08/2015, 18:12
da Sir Xiradorn
Se esiste non so. Appena avrò un po di tempo vorrei fare la conversione della mod che realizzare anni fa per questo scopo e portarla a estensione

Re: Realizzare menù di navigazione

Inviato: 20/08/2015, 18:38
da Benny
Ma per farla dovrei modificare i file di sistema no? o potrei usare l'estensione di Brunino?

Re: R: Realizzare menù di navigazione

Inviato: 20/08/2015, 19:59
da brunino
Puoi usare la mia estensione... devi trovare l'evento giusto e creare il file con la barra...

Inviato dal mio GT-S5360 con Tapatalk 2

Re: Realizzare menù di navigazione

Inviato: 20/08/2015, 21:08
da Micogian
Io l'estensione l'ho fatta http://www.actaplantarum.org/forum/
ma non sono nello spirito di sistemarla e pubblicarla, un domani forse,
Chi sa leggere il codice sorgente lo può fare tranquillamente.

Realizzare menù di navigazione

Inviato: 20/08/2015, 22:01
da Benny
Micogian ha scritto:non sono nello spirito di sistemarla e pubblicarla, un domani forse,
Capisco lo stato d'animo

Re: Realizzare menù di navigazione

Inviato: 21/08/2015, 2:46
da Sir Xiradorn
Comunque bravo per l'estensione. Hai fatto davvero un bel lavoro

Re: Realizzare menù di navigazione

Inviato: 15/11/2015, 8:41
da Fabiomaticus
Mi associo ai compliementi. Davverro bella.

Re: Realizzare menù di navigazione

Inviato: 15/11/2015, 9:22
da Micogian
Vedo di spiegare a grandi linee quello che ho fatto e che si può vedere qui: http://www.actaplantarum.org/forum/
Non esiste un evento specifico che possa inserire il menu in quel punto della testata, si potrebbe inserire una riga con un evento personalizzato ma sarebbe comunque una modifica al codice originale.
Una estensione aggiunge un nuovo codice ai file di sistema, non modifica il codice esistente, allora ho utilizzato un sotterfugio: ho utilizzato l'evento che si trova prima della testata e quello immediatamente successivo.
Nel primo evento ho creato il file "overall_header_body_before.html" dove ho inserito il tag di inizio commento

Codice: Seleziona tutto

<!-- ESTENSIONE TESTATA MENU by Micogian - inserimento tag commento del codice originale della testata -->
<!--
Questo consente di considerare commento tutto quello che viene dopo.
Nel secondo evento ho creato il file "overall_header_navbar_before.html" dove ho inserito la fine del commento --> e a seguire il mio codice, vale a dire la mia testata e il menu.
Per il funzionamento del menu è necessario aggiungere il css nel file "overall_header_stylesheets_after.html"

Codice: Seleziona tutto

<!-- ESTENSIONE TESTATA MENU by Micogian - inizio inserimento css -->
<link href="./ext/acta/testata/includes/navigation.css" rel="stylesheet" type="text/css" media="screen">
<!-- ESTENSIONE TESTATA MENU by Micogian - fine inserimento css -->
e i file js nel footer.
file "overall_footer_after.html"

Codice: Seleziona tutto

<!-- ESTENSIONE MENU TESTATA by Micogian - inizio inserimento js -->
    <script type="text/javascript" src="ext/acta/testata/includes/jquery_002.js"></script>
    <script type="text/javascript" src="ext/acta/testata/includes/jquery.js"></script>
    <script type="text/javascript" src="ext/acta/testata/includes/scripts.js"></script>
<!-- ESTENSIONE MENU TESTATA by Micogian - fine inserimento js -->
L'estensione così sarebbe già funzionante, io nel mio forum ho inserito anche un controllo degli utenti che mi permette di inserire nel menu dei links riservati allo Staff e questo tramite il file "listener.php"

Codice: Seleziona tutto

<?php
namespace acta\testata\event;

use Symfony\Component\EventDispatcher\EventSubscriberInterface;

class listener implements EventSubscriberInterface
{
    protected $template;
    protected $user;

    public function __construct(\phpbb\template\template $template,\phpbb\user $user)
    {
        $this->template = $template; 
        $this->user = $user;
    }

    static public function getSubscribedEvents()    
    {        
        return array('core.user_setup' => 'setup1',);    
    }
    
    public function setup1($event)    
    {
        global $user;
        if ($this->user->data['group_id'] == 5 || $this->user->data['user_id'] == 2 )
        {
        $this->template->assign_vars(array(
            'STAFF'    => true )
            );
        }
    }
}
In pratica il Gruppo 5 e l'utente 2 visualizzano una parte riservata del menu, gli altri no ma a chi non interessa questa limitazione può farne a meno.

Re: Realizzare menù di navigazione

Inviato: 15/11/2015, 11:57
da Fabiomaticus
Detta cosi sembra semplice, ma ho capito ben poco....