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) :
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 :
ma classe Photo.php :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
et enfin le yml de ma bd :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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); } }
Amis de symfony, je vous remerci !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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: ~
Partager