Champ grisé dans un module d'admin symfony
Salut à tous,
En attendant mon livre de symfony, je veux m'exercer sur ce framework avec ce tuto (que j'ai trouvé sur ce forum :king:) :
TUTO
Mon problème est qu'apres avoir créé les methodes getTagsString, setTagsString et deleteTags, le champs qui affiche les tags apparait grisé ! donc impossible d'y insérer des données. Est ce que c'est la façon de faire de symfony pour dire que quelque chose ne va pas ?
ps : lorsque j'entre des enregistrements dans la table tag directement depuis mysql, l'appli les affiche dans le champ grisé mais impossible de modifier les valeurs.
Je vous joint mon config.yml :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| generator:
class: sfPropelAdminGenerator
param:
model_class: Photo
theme: default
list:
display: [_photo, file_path, description, tags_string, created_at]
object_actions:
_edit:
name: Edit photos
edit:
display: [_photo, file_path, description, tags_string]
fields:
file_path:
type: admin_input_file_tag
tags_string:
name: Tags
type: input_tag |
ma classe Photo.php :
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 40
| <?php
/**
* Subclass for representing a row from the 'photo' table.
*
*
*
* @package lib.model
*/
class Photo extends BasePhoto
{
public function getTagsString () {
$tags = array();
foreach ($this->getTags() as $tag) {
$tags[] = $tag->__toString();
}
$s = implode(' ',$tags);
return $s;
}
public function setTagsString ($tagPhrase) {
//remove old tags
$this -> deleteTags();
//set new tags
$tagNames = explode(' ', $tagPhrase);
foreach ($tagNames as $tagName) {
$tag = new Tag();
$tag -> setPhoto($this);
$tag -> setName($tagName);
$tag -> save();
}
}
public function deleteTags() {
$c = new Criteria();
$c -> add(TagPeer::PHOTO_ID, $this -> getId());
TagPeer::doDelete($c);
}
} |
et enfin le yml de ma bd :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| propel:
photo:
id: ~
file_path: varchar(50)
description: longvarchar
created_at: ~
tag:
photo_id: ~
name: varchar(50)
comment:
photo_id: ~
author: varchar(50)
body: varchar(50)
created_at: ~ |
Amis de symfony, je vous remerci !