Manipuler les données d'un formulaire
Bonjour à tous,
Je cherche à créer un dossier lors du traitement d'un formulaire de création.
J'ai donc un formulaire tout simple créer par symfony lors de la création du module client:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
|
<form action="/frontend_dev.php/client/create" method="post" >
<table>
<tfoot>
<tr>
<td colspan="2">
<input type="hidden" name="client[Client_ID]" id="client_Client_ID" /><input type="hidden" name="client[_csrf_token]" value="5acf47a3b4684014f3422ab182701ae5" id="client__csrf_token" /> <a href="/frontend_dev.php/client">Back to list</a>
<input type="submit" value="Save" />
</td>
</tr>
</tfoot>
<tbody>
<tr>
<th><label for="client_Client_Nom">Client Nom</label></th>
<td>
<input type="text" name="client[Client_Nom]" id="client_Client_Nom" /> </td>
</tr>
<tr>
<th><label for="client_Client_Logo">Client Logo</label></th>
<td>
<input type="text" name="client[Client_Logo]" id="client_Client_Logo" /> </td>
</tr>
<tr>
<th><label for="client_Client_URL">Client URL</label></th>
<td>
<input type="text" name="client[Client_URL]" id="client_Client_URL" /> </td>
</tr>
<tr>
<th><label for="client_Client_Description">Client Description</label></th>
<td>
<textarea rows="4" cols="30" name="client[Client_Description]" id="client_Client_Description"></textarea> </td>
</tr>
</tbody>
</table>
</form> |
J'ai ensuite modifier le fichier actions.class.php pour que la création des dossiers ne se fasse que lors d'un nouvel ajout:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
|
public function executeCreate(sfWebRequest $request)
{
$this->forward404Unless($request->isMethod(sfRequest::POST));
$this->form = new ClientForm();
$this->processFormCreate($request, $this->form);
$this->setTemplate('new');
}
...
protected function processFormCreate(sfWebRequest $request, sfForm $form)
{
$form->bind($request->getParameter($form->getName()), $request->getFiles($form->getName()));
if ($form->isValid())
{
$Client = $form->save();
$Nom = $request->getParameter('Nom');
mkdir('uploads/clients/'.$Nom.'');
mkdir('uploads/clients/'.$Nom.'/parc');
mkdir('uploads/clients/'.$Nom.'/fichiers');
mkdir('uploads/clients/'.$Nom.'/documents');
$this->redirect('client/edit?client_id='.$Client->getClientId());
}
} |
Mon probleme (en gras) est que je souhaite récupérer le nom du client afin de créer ensuite le dossier à son nom puis les sous dossiers.
Je débutes en symfony donc je ne connais pas encore toutes les subtilités.
Pouvez-vous m'aidez svp?