Qual è la procedura migliore per creare una barra laterale dinamica o altre posizioni di layout non di contenuto con zend framework. In questo momento ho creato controller strega che ho chiamato WidgetsController. In questo controller ho definito alcune azioni con il segmento di risposta 'sidebar' per la mia barra laterale e in IndexController li chiamo con $ this-> view-> action(); funzione ma non penso che sia una best practice per creare una barra laterale dinamica. Grazie per le vostre risposte.Procedura consigliata per creare una barra laterale dinamica con zend framework
risposta
È questione non fornisce molti dettagli. In generale, direi di caricare la barra laterale come modello di vista, tramite i metodi render/partial della vista. Quindi, da dentro una visione:
//$data is dynamic data you want to pass to the sidebar
echo $this -> partial('/path/to/sidebar.phtml',array('menuitems' => $data));
E poi barra laterale in grado di elaborare i dati dinamici:
//sidebar.phtml
<div id="sidebar">
<?php foreach($this -> menuitems as $item) : ?>
<a href="<?php echo $item['url']; ?>"><?php echo $item['title']; ?></a>
<?php endforeach; ?>
</div>
Se avete bisogno di funzionalità extra, si potrebbe creare un apposito view helper di gestirlo.
Vorremmo qualche dettaglio in più, vale a dire che tipo di contenuto viene visualizzato nelle barre laterali, come li si mostra (vale a dire utilizzando un <ul>
, <div>
o altro), è il contenuto recuperato da un database, ecc
in CodeIgniter che utilizza anche il formato Model, View, Controller
, si crea una vista chiamata 'sidebar.php' e nella vista Header
, includiamo una chiamata a questa vista barra laterale, cioè:
<html>
<head>.......</head>
<div id="header">....</div>
<?php $this->load->view('sidebar');?>
la vista barra laterale contiene la logica per mostrare le voci del menu. Di solito si tratta di un menù statico, ma se fosse dinamica e doveva essere recuperato dal database, vorrei fare questo:
<ul>
<?php
$items=$this->some_model->getMenuItems();
foreach ($items as $item):
?>
<li><a href="<?=$item['url'];?>"><?=$item['text'];?></li>
<?php endforeach;?>
</ul>
Sì, gente, la mia scommessa è che la risposta dal popolo di Igniter di codice è l'approccio corretto. In realtà è utile vedere come CI lo fa semplicemente, e per fare confronti. Fondamentalmente è lo stesso in ZF, tranne che invece della "vista nominata" ZF ha "Parziali".
ZF ha semplicemente disciplina più imposta, come layout + vista + partial e macchinari più interno per attuare questo, che in realtà non farla funzionare velocità dimezzata, che codeigniter sembra proprio essere appiattito tutto questo apparato in "viste nominate".
(non ho ancora fatto la mia mente sul fatto che ZF ha cucinato over-it o se alcune bistecche CI devono rimanere crudo nel mezzo.)
Se si utilizza $ navigazione-> setPartial (blah blah) quindi la matrice di leadup (tecnicamente questo tipo di dati costituisce la parte "modello" della cosa MVC) e viene reso disponibile al parziale.
Quindi ecco fatto, l'idea sembra essere non trascinare gli aspetti del display del modello nel controller, spingere il materiale del display del modello verso i macchinari per la visualizzazione delle immagini.
io sono in procinto di avere un andare a questo me stesso, ho fatto fare una ricerca su parziali nella sezione vista aiutanti del Manuale Zend per trovare questo, anche se gli esempi sono un po 'sottile.
augurarmi fortuna Keith
Questo funziona per ZF 1.11: A dynamic sidebar implementation in Zend Framework
- 1. Come implementare una barra laterale in Zend Framework
- 2. Barra laterale dinamica Wordpress senza titolo
- 3. Procedura consigliata per ottenere EntityManagerFactory
- 4. Come creare una barra laterale simile all'app Facebook per iOS?
- 5. Procedura consigliata per creare un modello in HTML
- 6. Procedura consigliata per risolvere l'errore URI
- 7. Come creare un menu della barra laterale
- 8. Procedura consigliata per scrivere codice riutilizzabile
- 9. Procedura consigliata per archiviare CurrentUser dopo l'accesso
- 10. Come creare una barra laterale fissa/adesiva in CSS/JS?
- 11. Procedura consigliata per memorizzare le chiavi associate a una classe
- 12. Procedura consigliata per memorizzare dati temporanei per un'app Web
- 13. Barra laterale pieghevole con bootstrap fluido twitter
- 14. Modulo Zend Framework con jquery
- 15. Procedura consigliata per bloccare un record per la modifica mentre si utilizza il framework di entità
- 16. Come creare un'API pubblica utilizzando Zend Framework?
- 17. Procedura consigliata per l'utilizzo di più file .gitignore
- 18. JPA Procedura consigliata: Statico Lookup Enti
- 19. come creare la sitemap usando zend framework?
- 20. Procedura consigliata per selezionare il database per l'app mobile
- 21. Zend Framework 2 per un framework Zend Newbie
- 22. Scorrere all'interno di una barra laterale fissa
- 23. Procedura consigliata per ignorare i file all'interno di una cartella con GIT
- 24. Barra laterale Bootstrap con colore di sfondo
- 25. Come creare servizi web in Zend Framework?
- 26. Procedura consigliata per gestire le impostazioni internazionali con valute e interruttori di lingua
- 27. Procedura consigliata per utilizzare la scala immutabile Coda
- 28. Procedura consigliata per mantenere un ID utente (MVC)
- 29. Procedura consigliata quando si utilizza una chiave API in Node.js
- 30. Procedura consigliata per migrare Web Form in ASP.NET Core MVC
Fornire una risposta basata su CodeIgniter - o suggerire che il richiedente usi CodeIgniter - non contribuisce realmente a rispondere alla domanda come richiesto. –