From b19c629a64ffe9b3cde64b68093ffd7aa79103c2 Mon Sep 17 00:00:00 2001 From: Massimiliano Arione Date: Fri, 30 Jul 2010 11:07:20 +0200 Subject: [PATCH 01/10] minor fixes --- ...8-Inside-the-Model-Layer-Doctrine.markdown | 2 +- gentle-introduction/it/10-Forms.markdown | 339 +++++++++--------- .../16-Application-Management-Tools.markdown | 34 +- .../it/17-Extending-Symfony.markdown | 30 +- 4 files changed, 203 insertions(+), 202 deletions(-) mode change 100755 => 100644 gentle-introduction/it/10-Forms.markdown diff --git a/gentle-introduction/it/08-Inside-the-Model-Layer-Doctrine.markdown b/gentle-introduction/it/08-Inside-the-Model-Layer-Doctrine.markdown index b17c139..53631d1 100644 --- a/gentle-introduction/it/08-Inside-the-Model-Layer-Doctrine.markdown +++ b/gentle-introduction/it/08-Inside-the-Model-Layer-Doctrine.markdown @@ -824,7 +824,7 @@ Si può usare il file `schema.sql` direttamente per costruire le tabelle. Ad ese $ mysqladmin -u root -p create blog $ mysql -u root -p blog < data/sql/schema.sql -L'SQL generato è utile anche per ricostruire il database in un altro ambiente o per passare ad un altro DBMS. +L'SQL generato è utile anche per ricostruire il database in un altro ambiente o per passare a un altro DBMS. >**TIP** >La riga di comando offre anche un task per popolare il database con i dati caricati da un file di testo. Vedere il capitolo 16 per maggiori informazioni sul task `doctrine:data-load` e i file delle fixture in YAML. diff --git a/gentle-introduction/it/10-Forms.markdown b/gentle-introduction/it/10-Forms.markdown old mode 100755 new mode 100644 index 7979ded..41b2ecb --- a/gentle-introduction/it/10-Forms.markdown +++ b/gentle-introduction/it/10-Forms.markdown @@ -1,19 +1,19 @@ -Chapter 10 - I Form -================== +Chapter 10 - I form +=================== La visualizzazione degli input di un form, la validazione dei dati inseriti in un form e tutta la casistica particolare del trattamento dei form è uno dei compiti più complessi nello sviluppo web. Fortunatamente, symfony fornisce un'interfaccia semplice verso un potente sottosistema dedicato ai form, e facilita la creazione e la manipolazione con poche linee di codice di form di qualsiasi livello di complessità. Visualizzazione di un form ------------------ +-------------------------- Un semplice form di contatto con dei campi nome, email, oggetto e messaggio tipicamente appare come segue: ![Form di contatto](http://www.symfony-project.org/images/forms_book/en/01_07.png) -In symfony un form è un oggetto definito nell'action e passato al template. Prima di visualizzare un form, si devono definire i campi che esso contiene, ossia quelli che con la terminologia propria di symfony vengono chiamati "widget". Il modo più semplice per farlo è di creare un nuovo oggetto "sfForm" nell'opportuno metodo dell'action. +In symfony un form è un oggetto definito nell'azione e passato al template. Prima di visualizzare un form, si devono definire i campi che esso contiene, ossia quelli che con la terminologia propria di symfony vengono chiamati "widget". Il modo più semplice per farlo è di creare un nuovo oggetto `sfForm` nell'opportuno metodo dell'action. [php] - // in modules/foo/actions/actions.class.php + // in modules/pippo/actions/actions.class.php public function executeContact($request) { $this->form = new sfForm(); @@ -25,15 +25,15 @@ In symfony un form è un oggetto definito nell'action e passato al template. Pri )); } -`sfForm::setWidgets()` si attende un array associativo di nomi di widtget / oggetti widget. `sfWidgetFormInputText`, `sfWidgetFormChoice`, e `sfWidgetFormTextarea` sono alcune delle numerose classi di widget offerte da symfony; se ne può trovare una lista completa più avanti in questo capitolo. +`sfForm::setWidgets()` si aspetta un array associativo di nomi di widtget / oggetti widget. `sfWidgetFormInputText`, `sfWidgetFormChoice` e `sfWidgetFormTextarea` sono alcune delle numerose classi di widget offerte da symfony; se ne può trovare una lista completa più avanti in questo capitolo. -L'esempio precedente mostra due opzioni dei widget che è possibile usare: "default" imposta il valore da assegnare al widget, ed è disponibile per tutti i tipi di widget. "choices" è invece un'opzione specifica dei widget di tipo "choice" (che viene visualizzato come una lista a discesa): essa definisce le opzioni selezionabili dall'utente. +L'esempio precedente mostra due opzioni dei widget che è possibile usare: `default` imposta il valore da assegnare al widget ed è disponibile per tutti i tipi di widget. `choices`è invece un'opzione specifica dei widget di tipo `choice` (che viene visualizzato come una lista a discesa): essa definisce le opzioni selezionabili dall'utente. -Dunque l'azione "foo/contact" definisce un oggetto form, che rende disponibile al template "contactSuccess" in una variabile "$form". Il template può usare questo oggetto per generare le varie parti del form in HTML. Il modo più semplice per farlo è una chiamata del tipo "echo $form", che costruisce tutti i campi come controlli del form con etichette. Si può anche usare l'oggetto form per generare il tag form: +Dunque l'azione `pippo/contact` definisce un oggetto form, che rende disponibile al template `contactSuccess` in una variabile `$form`. Il template può usare questo oggetto per generare le varie parti del form in HTML. Il modo più semplice per farlo è una chiamata del tipo `echo $form`, che costruisce tutti i campi come controlli del form con etichette. Si può anche usare l'oggetto form per generare il tag form: [php] - // in modules/foo/templates/contactSuccess.php - renderFormTag('foo/contact') ?> + // in modules/pippo/templates/contactSuccess.php + renderFormTag('pippo/contact') ?> @@ -47,7 +47,7 @@ Dunque l'azione "foo/contact" definisce un oggetto form, che rende disponibile a Con i parametri passati a setWidgets(), symfony ha informazioni sufficienti per mostrare il form correttamente. L'HTML risultante, corrispondente allo screenshot visto in precedenza, appare come segue: [php] - +
@@ -79,16 +79,16 @@ Con i parametri passati a setWidgets(), symfony ha informazioni sufficienti per
-Ogni widget viene convertito nella riga di una tabella contenente un tag