Domanda

Qualcuno ha qualche idea su come potrei incorporare una regione in una vista. File .Tpl.php?

Lo realizzo abbastanza facilmente in un nodo .tpl.php aggiungendo qualcosa del genere a theme_preproces_node():

$vars['promos'] = theme('blocks', 'promos');

Nessun problema. Tuttavia, ovviamente non esiste un theme_preprocess_view() funzione e ricevo errori di memoria quando provo ad aggiungere lo stesso frammento a theme_preprocess().

Errore fatale: dimensione della memoria consentita di 104857600 byte esaurite (ho provato ad allocare 523800 byte) in /users/cpharmston/sites/projects/threespot/neh01/includes/database.mysqli.inc sulla linea 42

Sono sconcertato. Qualche idea?

Grazie!

È stato utile?

Soluzione

Modo "veloce e sporco": Potresti semplicemente mettere il theme('blocks', [region_name]) chiamare direttamente nel file .tpl.php.

Mentre le funzioni di pre -elaborazione mirano a una migliore separazione della logica "Business" vs. 'Display', non sono necessarie in alcun modo, quindi puoi comunque inserire il codice personalizzato in un file .Tpl.php in qualsiasi modo.

'Modo corretto:sono Funzioni di preprocess per le viste, più di una. Dai un'occhiata al file tema.inc del modulo Visualizza. Lì troverai diverse funzioni di pre -elaborazione per i diversi modelli eventualmente utilizzati da una vista (ad esempio "non formattati" vs. "tabella" vs. "elenco", ecc.). Devi solo trovare quello rilevante per il modello di visualizzazione che si desidera iniettare la nuova variabile.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top