.: HosiriS :.

Informatica e non solo

G.Li.Ar: le viste

Posted by hosiris su maggio 8, 2010

Ci siamo lasciati con la creazione dei modelli. Se avete fatto delle prove avrete di certo notato che quasi tutte le funzionalità sono attive, bisogna sistemare poche relazioni tra modelli.
Ma per il momento preoccupiamoci di che aspetto dovrebbe avere la nostra applicazione… io ho un senso estetico pessimo quindi, a parte le modifiche su symfony, vi consiglio di creavi una vostra interfaccia. Io mi limiterò a posizionare i blocchi lì dove voglio.
Modificheremo il template della pagina principale e il template per i moduli Libri e Articoli.
Per modificare il template del frontend, modifichiamo:


<!-- apps/frontend/templates/layout.php -->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  <head>
    <?php include_http_metas() ?>
    <?php include_metas() ?>
    <?php include_title() ?>
    <link rel="shortcut icon" href="/favicon.ico" />
    <?php include_stylesheets() ?>
    <?php include_javascripts() ?>
  </head>
  <body>
    <div id="header">
      <h1>G.Li.Ar: GESTIONE LIBRI E ARTICOLI</h1>
    </div>
    <div id="menu">
      <ul>
        <li><a href="<?php echo url_for('libri/index') ?>">Libri</a></li>
        <li><a href="<?php echo url_for('articoli/index') ?>">Articoli</a></li>
        <li><a href="<?php echo url_for('autori/index') ?>">Autori</a></li>
        <li><a href="<?php echo url_for('categorie/index') ?>">Categorie</a></li>
        <li><a href="<?php echo url_for('editori/index') ?>">Editori</a></li>
      </ul>
    </div>
    <div id="content">
      <?php echo $sf_content ?>
    </div>
    <div id="footer">
      <p>Powered by Se]{eM</p>
    </div>
  </body>
</html>

In questo modo abbiamo creato un menù contenente i link a tutti i moduli e abbiamo dato un titolo al nostro sito.
Se ricordiamo come funziona symfony, possiamo facilmente trovare quali file modificare per definire la vista dei moduli: la vista associata all’azione di index sarà indexSuccess, quindi:


<!-- apps/frontend/modules/libri/templates/indexSuccess.php -->
<h2>Lista dei libri</h2>
<table>
  <thead>
    <tr>
      <th>Titolo</th>
      <th>Data</th>
      <th>Isbn</th>
    </tr>
  </thead>
  <tbody>
    <?php foreach ($Libris as $Libri): ?>
    <tr>
      <td><a href="<?php echo url_for('libri/show?id='.$Libri->getId()) ?>"><?php echo $Libri->getTitolo() ?></a></td>
      <td><?php echo $Libri->getData() ?></td>
      <td><?php echo $Libri->getIsbn() ?></td>
    </tr>
    <?php endforeach; ?>
  </tbody>
</table>
<a href="<?php echo url_for('libri/new') ?>">New</a>


<!-- apps/frontend/modules/articoli/templates/indexSuccess.php -->
<h2>Lista degli articoli</h2>
<table>
  <thead>
    <tr>
      <th>Titolo</th>
      <th>Data</th>
    </tr>
  </thead>
  <tbody>
    <?php foreach ($Articolis as $Articoli): ?>
    <tr>
      <td><a href="<?php echo url_for('articoli/show?id='.$Articoli->getId()) ?>"><?php echo $Articoli->getTitolo() ?></a></td>
      <td><?php echo $Articoli->getData() ?></td>
    </tr>
    <?php endforeach; ?>
  </tbody>
</table>
<a href="<?php echo url_for('articoli/new') ?>">New</a>

in questo modo abbiamo presentato solo i dati di interesse. Solo dopo aver cliccato su un elemento verrà mostrata una pagina contenente tutte le informazioni.
Certo questa interfaccia è brutta e magari qualcuno vorrebbe qlcs di più colorito, se conoscete le regole css potete facilmente modificare il file web/style/main.css.
Per il momento è tutto, vedremo come definire le rotte e come trattare le relazioni con cardinalità n ad n, magari definendo prima una interfaccia di login per le operazioni che vogliamo essere fatte solo dal root.

Buon divertimento

Lascia un commento

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...

 
%d blogger cliccano Mi Piace per questo: