Domanda

Sto costruendo un sito in Drupal e ho solo voglia di mostrare i collegamenti secondari sul le pagine che utilizzano le Visualizzazioni ho creato. Ho provato ad utilizzare la variabile $ secondary_links nella vista-view.tpl.php ma la variabile è nullo. Come posso raggiungere questo obiettivo?

È stato utile?

Soluzione

Avete attivato i collegamenti secondari dalle impostazioni del tema? Che sarebbe:

http://example.com/admin/build/themes/settings/name_of_your_theme

Credo che una volta che è stata attivata l'opzione, verrà popolato la variabile.

Modifica Pensando un secondo di più, vorrei anche commentare che non sono sicuro se i collegamenti primari e secondari sono passati alle viste modelli. Credo che coloro che sono passati al file page.tpl.php invece. Se ho ragione, e per qualche motivo si desidera aggiungere tale variabile a quelli passati al modello di vista, si dovrà utilizzare una funzione pre-elaborazione, come spiegato qui .

Modifica # 2: , infatti se avete solo bisogno il menu secondario utilizzato in uno specifico modello di vista, un altro approccio sarebbe quello di chiamare semplicemente menu_secondary_links() dall'interno del modello. Questa non è la soluzione più elegante mai, in quanto mette in un elemento tematizzazione qualcosa che dovrebbe appartenere da qualche altra parte, ma è a voi per effettuare la chiamata se tale menù nelle viste è una funzionalità di base o di un elemento di stile.

HTH!

Altri suggerimenti

I collegamenti secondarie sono le mac scrive correttamente disponibile solo in page.tpl.php, ma se ho capito bene, la soluzione migliore non sta ottenendo i collegamenti secondari nel tuo punto di vista.

Con il tema, i collegamenti secondari, molto probabilmente essere stampati dove dovrebbero, a prescindere da ciò che viene visualizzato, sia le vostre opinioni, i nodi, la prima pagina vengono visualizzati ecc Visualizzazioni e tutto il resto si esegue il rendering, è avvolto nel modello di pagina, che controlla dove si trovano, le regioni e le altre cose divertenti. menu

Ora, se non si desidera modificare questo, la posizione dei menu, il loro stile e questa roba, non si dovrebbe essere la stampa del menù secondario nella vostra viste modello, non si dovrebbe fare qualsiasi cosa con esso a tutti.

La soluzione è semplice
E 'qualcosa che usando Mac menzionato, ma in un modo diverso: la funzione di pre-elaborazione. Queste funzioni vengono utilizzate per nel file template.php, aggiungere un po 'di logica per le variabili. È possibile modificare le variabili o rimuoverli del tutto. Che cosa farei, sarebbe semplicemente di rimuovere i link primari, impostando il valore di $primary_links a una stringa di testo vuota.
Questo potrebbe rimuovere efficacemente i link primari, in modo vengono visualizzati solo i collegamenti secondari. Si potrebbe anche visualizzare i collegamenti secondari come il primario, ma questo potrebbe causare confusione per gli utenti. Hai solo bisogno di aggiungere un po 'di logica per controllare quando questo accade e sei a posto.

È possibile utilizzare il seguente codice per visualizzare il menu secondario in ogni caso

function YourTheme_preprocess_views_view(&$vars)
{
    $menu_sec = menu_navigation_links('menu-secondary');
    $vars['custom_menu'] = theme('links__menu-secondary', array('links' => $menu_sec));
}

o si può anche utilizzare altre funzioni di pre-elaborazione a seconda delle vostre esigenze.

Inoltre è possibile chiamare in archivio .tpl.php utilizzando:

<?php
    $menu_sec = menu_navigation_links('menu-secondary');
    print theme('links__menu-secondary', 
        array(
            'links' => $menu_sec,
            'attributes'=>array(
                'class' => array('nav', 'nav-pills', 'p-f-subfilter'),
            )
        )
    );
?>
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top