Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Creazione dell'amministrazione - I

Come creare il back-end dell'applicazione. Parte prima: moduli e layout
Come creare il back-end dell'applicazione. Parte prima: moduli e layout
Link copiato negli appunti

Occupiamoci ora di una parte dell'applicazione di cui non abbiamo ancora parlato: il back-end. Se vogliamo dare la possibilità ad un amministratore di poter gestire la nostra rubrica con Symfony è sufficiente lanciare qualche comando dalla shell DOS e lavorare su alcuni file di configurazione, niente di più!

Apriamo allora la shell DOS e digitiamo (sempre portandoci prima nella directory c:wampwwwsf_rubrica2):

symfony generate:app backend
symfony propel:init-admin backend nazione Nazione
symfony propel:init-admin backend provincia Provincia
symfony propel:init-admin backend comune Comune
symfony propel:init-admin backend contatto Contatto

agli indirizzi: http://localhost/sf_rubrica2/web/backend_dev.php/nazione, http://localhost/sf_rubrica2/web/backend_dev.php/comune, http://localhost/sf_rubrica2/web/backend_dev.php/provincia, http://localhost/sf_rubrica2/web/backend_dev.php/contatto troveremo il back office della nostra applicazione.

Come già fatto per il front-end andiamo a modificare il file sf_rubrica2appsbackendtemplateslayout.php per aggiungere i link ai vari moduli.

All'interno dei tag <body> </body> inseriamo:

Listato 30: Layout

<div id="navigation">
  <?php echo link_to('Contatti', 'contatto/index') ?>
  <?php echo " | " ?>
  <?php echo link_to('Nazioni', 'nazione/index') ?>
  <?php echo " | " ?>
  <?php echo link_to('Province', 'provincia/index') ?>
  <?php echo " | " ?>
  <?php echo link_to('Comuni', 'comune/index') ?>
</div>
<div id="content">
  <?php echo $sf_data->getRaw('sf_content') ?>
</div>

Il back office ha un file di configurazione per ogni modulo salvati rispettivamente in

  • sf_rubrica2appsbackendmodulesnazioneconfiggenerator.yml
  • sf_rubrica2appsbackendmodulesprovinciaconfiggenerator.yml
  • sf_rubrica2appsbackendmodulescomuneconfiggenerator.yml
  • sf_rubrica2appsbackendmodulescontattoconfiggenerator.yml

attraverso i quali è possibile configurare l'applicazione. Andiamo per esempio a personalizzare il modulo di amministrazione dei contatti (sf_rubrica2appsbackendmodulescontattoconfiggenerator.yml).

Listato 31: Personalizzazione del modulo dei contatti

generator:
  class: sfPropelAdminGenerator
  param:
    model_class: Contatto
    theme: default
    fields:
      comune: { name: Comune }
      cognome: { name: Cognome }
      nome: { name: Nome }
      telefono: { name: Telefono }
      cellulare: { name: Cellulare }
      email: { name: E-mail }
      created_at: { name: Data Creazione }
    list:
      title: Contatti
      layout: tabular
      display: [=comune, cognome, nome, telefono, cellulare, email, created_at]
      object_actions:
        _edit: ~
        _delete: ~
      max_per_page: 10
      filters: [cognome, nome]
    edit:
      title: Contatto
      fields:
        comune: { type: input_tag, params: size=53 }
        cognome: { type: input_tag, params: size=53 }
        nome: { type: input_tag, params: size=53 }
        telefono: { type: input_tag, params: size=53 }
        cellulare: { type: input_tag, params: size=53 }
        email: { type: input_tag, params: size=53 }
        created_at: { type: input_date_tag, params: rich=on }

Le modifiche così apportate sono visibili all'indirizzo http://localhost/sf_rubrica2/web/backend_dev.php/contatto.

Ti consigliamo anche