Mostra collegamenti secondari in vista solo
-
18-09-2019 - |
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?
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'),
)
)
);
?>